public < R > LazyImmutable < ? extends R > flatMap ( final Function < ? super T , ? extends LazyImmutable < ? extends R > > fn ) { final T val = get ( ) ; if ( val == UNSET ) return ( LazyImmutable < R > ) this ; else return fn . apply ( val ) ; }
FlatMap the value stored in Immutable Closed Value from one Value to another If this is an unitiatilised ImmutableClosedValue an uninitialised closed value will be returned instead