@Override
  public PsiMethod @NotNull [] getMethods() {
    if (null == myMethods) {
      Collection<PsiMethod> generatedMethods;
      DumbService dumbService = DumbService.getInstance(getProject());
      if (dumbService.isDumb() && !dumbService.isAlternativeResolveEnabled()) {
        generatedMethods = dumbService.computeWithAlternativeResolveEnabled(
          () -> methodSupplier.apply(this)
        );
      }
      else {
        generatedMethods = methodSupplier.apply(this);
      }
      myMethods = generatedMethods.toArray(PsiMethod.EMPTY_ARRAY);
      methodSupplier = c -> Collections.emptyList();
    }
    return myMethods;
  }
@Override
  public PsiMethod @NotNull [] getMethods()