public static <Type> ConcurrentLazy<Type> concurrentProvidedBy(final ObjectProvider<? extends Type> provider) {
        return new ConcurrentLazy<Type>(provider);
    }
public static < Type > ConcurrentLazy < Type > concurrentProvidedBy ( final ObjectProvider < ? extends Type > provider ) { return new ConcurrentLazy < Type > ( provider ) ; }
@param provider will provide wrapped object on first call. Thread-safe.