protected async Task <IList <Soap.Entity> > GetEntities(SearchPattern searchPattern, Action <EntitySearcher> searcherAdjustment, CancellationToken ct) { if (searchPattern == null) { throw new ArgumentNullException(nameof(searchPattern)); } var searcher = GetEntitySearcher(searchPattern.EntityType); searchPattern.AdjustSearcher(searcher); searcherAdjustment?.Invoke(searcher); return(await searcher.ExecuteSearch(ct)); }