Set<LookupElement> (@NotNull PsiElement element, @NotNull PsiJavaReference javaReference, @NotNull ElementFilter elementFilter, @NotNull JavaCompletionProcessor.Options options, @NotNull Condition<? super String> nameCondition) { Set<LookupElement> set = new LinkedHashSet<>(); for (final String className : getContainingClassNames(element)) { PsiReferenceExpression fakeSuper = JavaCompletionUtil.createReference(className + ".super.rulez", element); PsiElement leaf = Objects.requireNonNull(fakeSuper.getReferenceNameElement()); JavaCompletionProcessor superProcessor = new JavaCompletionProcessor(leaf, elementFilter, options, nameCondition); fakeSuper.processVariants(superProcessor); for (CompletionElement completionElement : superProcessor.getResults()) { for (LookupElement item : JavaCompletionUtil.createLookupElements(completionElement, javaReference)) { set.add(withQualifiedSuper(className, item)); } } } return set; }