@Contract(value = "_ -> new", pure = true)
  public static <T> @NotNull LazyValue<T> create(@NotNull Supplier<? extends T> initializer) {
    return new LazyValue<>(initializer);
  }
@Contract(value = "_ -> new", pure = true)
  public static <T> @NotNull LazyValue<T> create(@NotNull Supplier<? extends T> initializer)