src/main/java/org/organicdesign/fp/function/LazyRef.java
public static <T> LazyRef<T> of(Fn0<T> producer) {
        if (producer == null) {
            throw new IllegalArgumentException("The producer function cannot be null (the value it returns can)");
        }
        return new LazyRef<>(producer);
    }
public static <T> LazyRef<T> of(Fn0<T> producer) {
        if (producer == null) {
            throw new IllegalArgumentException("The producer function cannot be null (the value it returns can)");
        }
        return new LazyRef<>(producer);
    }
public static < T > LazyRef < T > of ( Fn0 < T > producer ) { if ( producer == null ) { throw new IllegalArgumentException ( "The producer function cannot be null (the value it returns can)" ) ; } return new LazyRef <> ( producer ) ; }
Construct a LazyRef from the given initialization function.

@param producer a zero-argument function that produces the desired value when called.

@return a LazyRef with the given producer.
Construct a LazyRef from the given initialization function .