public virtual async Task <IEnumerable <T> > GetAsync(Expression <Func <T, bool> > predicate)
        {
            IDocumentQuery <T> query =
                _client.CreateDocumentQuery <T>(_settings.CreateDocumentCollectionUri(),
                                                _settings.DefaultFeedOptions)
                .Where(predicate)
                .AsDocumentQuery();

            var results = new List <T>();

            while (query.HasMoreResults)
            {
                results.AddRange(await query.ExecuteNextAsync <T>());
            }

            return(results);
        }