class LazyInit implements Supplier<T> {

  public static <T> LazyInit<T> of(Callable<? extends T> initializer) {
    return new LazyInit<>(initializer);
  }

  public  LazyInit(Callable<? extends T> initializer);

}