Collection<PsiClass> (@NotNull Collection<PsiClass> candidates, @NotNull PsiJavaCodeReferenceElement referenceElement) { if (referenceElement instanceof PsiReferenceExpression) { return Collections.emptyList(); } PsiElement typeElement = referenceElement.getParent(); if (typeElement instanceof PsiTypeElement) { PsiElement var = typeElement.getParent(); if (var instanceof PsiVariable) { PsiExpression initializer = ((PsiVariable)var).getInitializer(); if (initializer != null) { PsiType type = initializer.getType(); if (type != null) { return filterAssignableFrom(type, candidates); } } } if (var instanceof PsiParameter) { return filterBySuperMethods((PsiParameter)var, candidates); } } return super.filterByContext(candidates, referenceElement); }