@Override
  public void onResume() {
    super.onResume();

    if (mFirstResume) {
      if (mIcicle == null) {
        if (DBG) Log.d(LOG_TAG, "start to init ");
        mPreferences.get(mInitIndex).init(this, false, mSubId);
      } else {
        mInitIndex = mPreferences.size();

        for (CallForwardEditPreference pref : mPreferences) {
          Bundle bundle = mIcicle.getParcelable(pref.getKey());
          pref.setToggled(bundle.getBoolean(KEY_TOGGLE));
          CallForwardInfo cf = new CallForwardInfo();
          cf.number = bundle.getString(KEY_NUMBER);
          cf.status = bundle.getInt(KEY_STATUS);
          pref.handleCallForwardResult(cf);
          pref.init(this, true, mSubId);
        }
      }
      mFirstResume = false;
      mIcicle = null;
    }
  }