private static PsiParameter createNewParameter(JavaChangeInfo changeInfo, JavaParameterInfo newParameters,
                                                 PsiSubstitutor... substitutor) throws IncorrectOperationException {
    PsiMethod method = changeInfo.getMethod();
    final PsiParameterList list = method.getParameterList();
    final Project project = list.getProject();
    final PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);
    PsiType type = newParameters.createType(list);
    for (PsiSubstitutor psiSubstitutor : substitutor) {
      type = psiSubstitutor.substitute(type);
    }
    PsiParameter parameter = factory.createParameter(newParameters.getName(), type, list);
    if (JavaCodeStyleSettings.getInstance(ObjectUtils.notNull(method.getContext(), method).getContainingFile()).GENERATE_FINAL_PARAMETERS) {
      PsiUtil.setModifierProperty(parameter, PsiModifier.FINAL, true);
    }
    return parameter;
  }
private static PsiParameter createNewParameter(JavaChangeInfo changeInfo, JavaParameterInfo newParameters,
                                                 PsiSubstitutor... substitutor)