void (@NotNull Project project, @NotNull PsiClass checkedClass, @NotNull HighlightSink sink) { if (checkedClass.getQualifiedName() == null || checkedClass.getContainingFile().getVirtualFile() == null || checkedClass.hasModifierProperty(PsiModifier.ABSTRACT) || checkedClass.isEnum()) { return; } GlobalSearchScope scope = checkedClass.getResolveScope(); PsiClass featureUsageCollectorClass = JavaPsiFacade.getInstance(project).findClass(FEATURE_USAGES_COLLECTOR, scope); if (featureUsageCollectorClass != null && checkedClass.isInheritor(featureUsageCollectorClass, true)) { for (StatisticsCollectorType collectorType : StatisticsCollectorType.values()) { if (InheritanceUtil.isInheritor(checkedClass, collectorType.getClassName())) { checkCollectorRegistration(project, checkedClass, sink, collectorType); return; } } } }