@Override
  public @NotNull PsiSubstitutor putAll(@NotNull Map<? extends PsiTypeParameter, ? extends PsiType> map) {
    if (map.isEmpty()) return this;
    return new PsiSubstitutorImpl(mySubstitutionMap.withAll(map));
  }
@Override
  public @NotNull PsiSubstitutor putAll(@NotNull Map<? extends PsiTypeParameter, ? extends PsiType> map)