private ParameterInfoImpl @NotNull [] getNewParametersInfo(PsiMethod method) throws IncorrectOperationException {
    List<ParameterInfoImpl> result = new ArrayList<>();
    PsiParameter[] parameters = method.getParameterList().getParameters();
    PsiElementFactory factory = JavaPsiFacade.getElementFactory(method.getProject());
    JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(method.getProject());
    SuggestedNameInfo nameInfo = codeStyleManager.suggestVariableName(VariableKind.PARAMETER, null, null, myParameterType);
    PsiParameter newParameter = factory.createParameter(nameInfo.names[0], myParameterType);
    if (method.getContainingClass().isInterface()) {
      PsiUtil.setModifierProperty(newParameter, PsiModifier.FINAL, false);
      }

    for (int i = 0; i < parameters.length; i++) {
      PsiParameter parameter = parameters[i];
      if (i == myIndex) {
        newParameter.setName(parameter.getName());
        parameter = newParameter;
      }
      result.add(ParameterInfoImpl.create(i).withName(parameter.getName()).withType(parameter.getType()));
    }
    if (parameters.length == myIndex) {
      result.add(ParameterInfoImpl.createNew().withName(newParameter.getName()).withType(newParameter.getType()));
    }
    return result.toArray(new ParameterInfoImpl[0]);
  }
private ParameterInfoImpl @NotNull [] getNewParametersInfo(PsiMethod method)