@Override
  public <T> void saveInDataContext(DataContext dataContext, @NotNull Key<T> dataKey, @Nullable T data) {
    if (!(dataContext instanceof UserDataHolder holder)) return;
    holder.putUserData(dataKey, data);
  }
@Override
  public <T> void saveInDataContext(DataContext dataContext, @NotNull Key<T> dataKey, @Nullable T data)