void (@NotNull PsiClass base, @NotNull Set<? super PsiClass> visited) { if (!visited.add(base)) return; DirectClassInheritorsSearch.search(base).forEach(candidate -> { if (candidate.isInterface()) { processSubInterfaces(candidate, visited); } return true; }); }