PsiElement (Object object) { PsiElement psiElement = super.getElementToSelect(object); if (psiElement != null && psiElement.isValid()) { final PsiFile containingFile = psiElement.getContainingFile(); if (containingFile instanceof PsiClassOwner) { final PsiClass[] classes = ((PsiClassOwner)containingFile).getClasses(); if (classes.length == 1) return classes[0]; for (PsiClass aClass : classes) { if (PsiTreeUtil.isAncestor(aClass, psiElement, false)) return aClass; } } } return psiElement; }