@ApiStatus.Experimental
  @NotNull
  public static List<PsiExtensionMethod> collectExtensionMethods(PsiClass aClass, @NotNull String nameHint, PsiElement context) {
    List<PsiExtensionMethod> extensionMethods = new SmartList<>();
    forEach(aClass.getProject(), provider -> {
      List<PsiExtensionMethod> methods = provider.getExtensionMethods(aClass, nameHint, context);
      for (PsiExtensionMethod method : methods) {
        try {
          PsiUtilCore.ensureValid(method);
          extensionMethods.add(method);
        }
        catch (ProcessCanceledException e) {
          throw e;
        }
        catch (Throwable e) {
          LOG.error(PluginException.createByClass(e, provider.getClass()));
        }
      }
      return true;
    });
    return extensionMethods;
  }
@ApiStatus.Experimental
  @NotNull
  public static List<PsiExtensionMethod> collectExtensionMethods(PsiClass aClass, @NotNull String nameHint, PsiElement context)