boolean (@NotNull Project project, Editor editor, @NotNull PsiElement element) { final PsiTypeElement typeElement = PsiTreeUtil.getTopmostParentOfType(element, PsiTypeElement.class); final PsiElement parent = typeElement != null ? typeElement.getParent() : null; final PsiReferenceParameterList parameterList = parent instanceof PsiReferenceParameterList ? (PsiReferenceParameterList)parent : null; if (parameterList != null && parameterList.getTypeArguments().length > 0) { final PsiMember member = PsiTreeUtil.getParentOfType(parameterList, PsiMember.class); if (member instanceof PsiAnonymousClass) { final PsiClassType.ClassResolveResult result = ((PsiAnonymousClass)member).getBaseClassType().resolveGenerics(); final PsiClass baseClass = result.getElement(); return baseClass != null && baseClass.getTypeParameters().length == parameterList.getTypeParameterElements().length && ((PsiAnonymousClass)member).getBaseClassReference().getParameterList() == parameterList; } } return false; }