public static @NotNull <T> NotNullLazyValue<T> createValue(@NotNull NotNullFactory<? extends T> value) {
    return lazy(value::create);
  }
public static @NotNull <T> NotNullLazyValue<T> createValue(@NotNull NotNullFactory<? extends T> value)