@Override public PsiType substitute(@NotNull PsiTypeParameter typeParameter) { if (containsInMap(typeParameter)) { return getFromMap(typeParameter); } return JavaPsiFacade.getInstance(typeParameter.getProject()) .getElementFactory() .createType(typeParameter); }