@NotNull
 @Override
 public PsiSubstitutor createRawSubstitutor(@NotNull final PsiTypeParameterListOwner owner) {
   Map<PsiTypeParameter, PsiType> substitutorMap = null;
   for (PsiTypeParameter parameter : PsiUtil.typeParametersIterable(owner)) {
     if (substitutorMap == null) substitutorMap = new HashMap<PsiTypeParameter, PsiType>();
     substitutorMap.put(parameter, null);
   }
   return PsiSubstitutorImpl.createSubstitutor(substitutorMap);
 }
 @NotNull
 @Override
 public PsiSubstitutor createRawSubstitutor(
     @NotNull final PsiSubstitutor baseSubstitutor,
     @NotNull final PsiTypeParameter[] typeParameters) {
   Map<PsiTypeParameter, PsiType> substitutorMap = null;
   for (PsiTypeParameter parameter : typeParameters) {
     if (substitutorMap == null) substitutorMap = new HashMap<PsiTypeParameter, PsiType>();
     substitutorMap.put(parameter, null);
   }
   return PsiSubstitutorImpl.createSubstitutor(substitutorMap).putAll(baseSubstitutor);
 }
 @NotNull
 @Override
 public PsiSubstitutor createSubstitutor(@NotNull final Map<PsiTypeParameter, PsiType> map) {
   return PsiSubstitutorImpl.createSubstitutor(map);
 }