public static @NotNull <T> NotNullLazyValue<T> atomicLazy(@NotNull Supplier<? extends @NotNull T> value) {
    return new AtomicNotNullLazyValue<T>() {
      @Override
      protected @NotNull T compute() {
        return value.get();
      }
    };
  }
public static @NotNull <T> NotNullLazyValue<T> atomicLazy(@NotNull Supplier<? extends @NotNull T> value)