PsiSubstitutor (@NotNull JvmSubstitutor substitutor) { if (substitutor instanceof PsiJvmSubstitutor) return ((PsiJvmSubstitutor)substitutor).getPsiSubstitutor(); PsiSubstitutor result = PsiSubstitutor.EMPTY; for (JvmTypeParameter parameter : substitutor.getTypeParameters()) { final PsiTypeParameter psiTypeParameter = convertTypeParameter(parameter); final JvmType substitution = substitutor.substitute(parameter); final PsiType psiType = substitution == null ? null : convertType(substitution); result = result.put(psiTypeParameter, psiType); } return result; }