PsiSubstitutor (@Nullable PsiElement element) { if (element instanceof PsiNewExpression) { PsiJavaCodeReferenceElement reference = ((PsiNewExpression)element).getClassOrAnonymousClassReference(); JavaResolveResult result = reference == null ? JavaResolveResult.EMPTY : reference.advancedResolve(false); return result.getSubstitutor(); } PsiExpression qualifier = getQualifier(element); if (qualifier != null) { PsiType type = qualifier.getType(); if (type instanceof PsiClassType) { return ((PsiClassType)type).resolveGenerics().getSubstitutor(); } } return PsiSubstitutor.EMPTY; }