@NotNull
  @Contract(pure = true)
  default PsiSubstitutor putAll(@NotNull Map<? extends PsiTypeParameter, ? extends PsiType> map) {
    return putAll(createSubstitutor(map));
  }
@NotNull
  @Contract(pure = true)
  default PsiSubstitutor putAll(@NotNull Map<? extends PsiTypeParameter, ? extends PsiType> map)