private protected sealed override Task <ImmutableArray <T> > BrowseAndTakeCore( Func <IReadOnlyDictionary <int, T>, Task <int[]> > selector, Func <T, bool>?filter, Func <ImmutableArray <T>, IEnumerable <T> >?shuffleFunc) => _logic.BrowseAndTakeAsync(selector, filter, items => shuffleFunc !(items).Select(i => Wrap(i)), _truthyUnwrapper, CanShuffle);
private protected virtual Task <ImmutableArray <T> > BrowseAndTakeCore( Func <IReadOnlyDictionary <int, T>, Task <int[]> > selector, Func <T, bool>?filter, Func <ImmutableArray <T>, IEnumerable <T> >?shuffleFunc) => _logic.BrowseAndTakeAsync(selector, filter, shuffleFunc, _noOpTransformer, CanShuffle);