@Nullable
  public static PsiType apply(@Nullable PsiType item, @Nullable SpreadState state, Project project) {
    if (state == null) return item;
    return apply(CollectionUtil.createSimilarCollection(state.getContainerType(), project, item), state.getInnerState(), project);
  }
@Nullable
  public static PsiType apply(@Nullable PsiType item, @Nullable SpreadState state, Project project)