@NotNull
  static PsiSubstitutor createSubstitutor(@Nullable Map<? extends PsiTypeParameter, ? extends PsiType> map) {
    if (map == null || map.isEmpty()) return EMPTY;
    return EMPTY.putAll(map);
  }
@NotNull
  static PsiSubstitutor createSubstitutor(@Nullable Map<? extends PsiTypeParameter, ? extends PsiType> map)