@Override
  protected void performIntroduce() {
    boolean isDeleteLocalVariable = false;

    PsiExpression parameterInitializer = myExpr;
    if (getLocalVariable() != null) {
      if (myPanel.isUseInitializer()) {
        parameterInitializer = getLocalVariable().getInitializer();
      }
      isDeleteLocalVariable = myPanel.isDeleteLocalVariable();
    }

    IntroduceParameterUsagesCollector.settingsOnPerform.log(myProject, IntroduceParameterUsagesCollector.delegate.with(isGenerateDelegate()));

    final IntList parametersToRemove = myPanel.getParametersToRemove();
    final IntroduceParameterProcessor processor =
      new IntroduceParameterProcessor(myProject, myMethod,
                                      myMethodToSearchFor, parameterInitializer, myExpr,
                                      (PsiLocalVariable)getLocalVariable(), isDeleteLocalVariable, getInputName(),
                                      myReplaceChoice,
                                      myPanel.getReplaceFieldsWithGetters(), myMustBeFinal || myPanel.isGenerateFinal(),
                                      false /* delegate is already generated when needed */,
                                      false,
                                      getType(),
                                      parametersToRemove);
    processor.run();
    normalizeParameterIdxAccordingToRemovedParams(parametersToRemove);
    final PsiParameter parameter = getParameter();
    if (parameter != null) {
      super.saveSettings(parameter);
    }
  }
@Override
  protected void performIntroduce()