private static boolean checkInheritor(@NotNull PsiManager manager,
                                        PsiClassType @NotNull [] supers,
                                        @NotNull PsiClass baseClass,
                                        @NotNull Set<PsiClass> checkedClasses) {
    for (PsiClassType aSuper : supers) {
      PsiClass aClass = aSuper.resolve();
      if (aClass != null && checkInheritor(manager, aClass, baseClass, checkedClasses)) {
        return true;
      }
    }
    return false;
  }
private static boolean checkInheritor(@NotNull PsiManager manager,
                                        PsiClassType @NotNull [] supers,
                                        @NotNull PsiClass baseClass,
                                        @NotNull Set<PsiClass> checkedClasses)