public static boolean processImplementations(final PsiClass psiClass, final Processor<? super PsiElement> processor, SearchScope scope) {
    final boolean showInterfaces = Registry.is("ide.goto.implementation.show.interfaces");
    if (!ClassInheritorsSearch.search(psiClass, scope, true).forEach(new PsiElementProcessorAdapter<>(element -> {
      if (!showInterfaces && element.isInterface()) {
        return true;
      }
      return processor.process(element);
    }))) {
      return false;
    }

    return FunctionalExpressionSearch.search(psiClass, scope).forEach(processor);
  }
public static boolean processImplementations(final PsiClass psiClass, final Processor<? super PsiElement> processor, SearchScope scope)