public static IObjectLending <TResult> Wrap <TSource, TResult>(this IObjectLending <TSource> source, Func <TSource, TResult> wrapper, bool doNotDisposeSource = false) { return(new WrapImpl <TSource, TResult>(source, wrapper, doNotDisposeSource)); }
internal WrapImpl(IObjectLending <TSource> source, Func <TSource, TResult> wrapper, bool doNotDisposeSource) : this(DisposableArg.Create(source, doNotDisposeSource), wrapper) { }