boolean (@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; }