public T setValue(@NotNull CachedValueProvider.Result<T> result) {
    Data<T> data = computeData(() -> result);
    setRawData(data);
    return data.getValue();
  }
public T setValue(@NotNull CachedValueProvider.Result<T> result)