@NotNull
  public static MethodSignature createMethodSignature(@NonNls @NotNull String name,
                                                      PsiType @NotNull [] parameterTypes,
                                                      PsiTypeParameter @NotNull [] typeParameterList,
                                                      @NotNull PsiSubstitutor substitutor,
                                                      boolean isConstructor) {
    return new MethodSignatureHandMade(name, parameterTypes, typeParameterList, substitutor, isConstructor);
  }
@NotNull
  public static MethodSignature createMethodSignature(@NonNls @NotNull String name,
                                                      PsiType @NotNull [] parameterTypes,
                                                      PsiTypeParameter @NotNull [] typeParameterList,
                                                      @NotNull PsiSubstitutor substitutor,
                                                      boolean isConstructor)