boolean () { if (myPosition.getParent() instanceof PsiJavaCodeReferenceElement) { final PsiElement qualifier = ((PsiJavaCodeReferenceElement)myPosition.getParent()).getQualifier(); if (qualifier instanceof PsiJavaCodeReferenceElement) { final PsiElement qualifierClass = ((PsiJavaCodeReferenceElement)qualifier).resolve(); if (qualifierClass instanceof PsiClass && ((PsiClass)qualifierClass).isInterface()) { PsiElement parent = myPosition; while ((parent = PsiTreeUtil.getParentOfType(parent, PsiClass.class, true)) != null) { if (PsiUtil.getEnclosingStaticElement(myPosition, (PsiClass)parent) == null && ((PsiClass)parent).isInheritor((PsiClass)qualifierClass, true)) { return true; } } } } } return false; }