public static JavaChangeInfo generateChangeInfo(PsiMethod method,
                                                  boolean generateDelegate,
                                                  boolean fixFieldConflicts,
                                                  @Nullable("Null means unchanged") @PsiModifier.ModifierConstant String newVisibility,
                                                  @NotNull String newName,
                                                  CanonicalTypes.Type newType,
                                                  ParameterInfoImpl @NotNull [] parameterInfo,
                                                  ThrownExceptionInfo[] thrownExceptions,
                                                  Set<PsiMethod> propagateParametersMethods,
                                                  Set<PsiMethod> propagateExceptionsMethods) {
    LOG.assertTrue(method.isValid());

    if (propagateParametersMethods == null) {
      propagateParametersMethods = new HashSet<>();
    }

    if (propagateExceptionsMethods == null) {
      propagateExceptionsMethods = new HashSet<>();
    }

    if (newVisibility == null) {
      newVisibility = VisibilityUtil.getVisibilityModifier(method.getModifierList());
    }

    final JavaChangeInfoImpl javaChangeInfo =
      new JavaChangeInfoImpl(newVisibility, method, newName, newType, parameterInfo, thrownExceptions, generateDelegate,
                             propagateParametersMethods, propagateExceptionsMethods);
    javaChangeInfo.setCheckUnusedParameter();
    javaChangeInfo.setFixFieldConflicts(fixFieldConflicts);
    return javaChangeInfo;
  }
public static JavaChangeInfo generateChangeInfo(PsiMethod method,
                                                  boolean generateDelegate,
                                                  boolean fixFieldConflicts,
                                                  @Nullable("Null means unchanged") @PsiModifier.ModifierConstant String newVisibility,
                                                  @NotNull String newName,
                                                  CanonicalTypes.Type newType,
                                                  ParameterInfoImpl @NotNull [] parameterInfo,
                                                  ThrownExceptionInfo[] thrownExceptions,
                                                  Set<PsiMethod> propagateParametersMethods,
                                                  Set<PsiMethod> propagateExceptionsMethods)