void (@NotNull PsiType type, Set<String> containedLabels) { final PsiResolveHelper resolver = JavaPsiFacade.getInstance(myPosition.getProject()).getResolveHelper(); PsiClass aClass = resolver.resolveReferencedClass(type.getCanonicalText(), null); if (aClass == null) { aClass = PsiUtil.resolveClassInClassTypeOnly(type); } if (aClass == null || aClass.isEnum() || !aClass.hasModifierProperty(PsiModifier.SEALED)) return; for (PsiClass inheritor : SealedUtils.findSameFileInheritorsClasses(aClass)) { //we don't check hierarchy here, because it is time-consuming if (containedLabels.contains(inheritor.getQualifiedName())) { continue; } final JavaPsiClassReferenceElement item = AllClassesGetter.createLookupItem(inheritor, AllClassesGetter.TRY_SHORTENING); item.setForcedPresentableName("case " + inheritor.getName()); addKeyword(PrioritizedLookupElement.withPriority(item, 1)); } }