public static @NotNull <T> AtomicCancelableLazyValue<T> createValue(@NotNull NotNullFactory<? extends T> value) {
    return new AtomicCancelableLazyValue<>() {
      @Override
      protected @NotNull T compute() {
        return value.create();
      }
    };
  }
public static @NotNull <T> AtomicCancelableLazyValue<T> createValue(@NotNull NotNullFactory<? extends T> value)