public static boolean hasImplementation(@NotNull PsiClass aClass) {
    for (ImplicitSubclassProvider provider : ImplicitSubclassProvider.EP_NAME.getExtensionList()) {
      if (!provider.isApplicableTo(aClass)) {
        continue;
      }
      ImplicitSubclassProvider.SubclassingInfo info = provider.getSubclassingInfo(aClass);
      if (info != null && !info.isAbstract()) {
        return true;
      }
    }
    return ClassInheritorsSearch.search(aClass).anyMatch(inheritor -> !inheritor.isInterface() &&
                                                                      !inheritor.isAnnotationType() &&
                                                                      !inheritor.hasModifierProperty(PsiModifier.ABSTRACT))
           || aClass.isInterface() && FunctionalExpressionSearch.search(aClass).findFirst() != null;
  }
public static boolean hasImplementation(@NotNull PsiClass aClass)