/// <summary>
 /// Get the next set of results from the cosmos service
 /// </summary>
 /// <param name="cancellationToken">(Optional) <see cref="CancellationToken"/> representing request cancellation.</param>
 /// <returns>A query response from cosmos service</returns>
 public override Task <CosmosQueryResponse <T> > FetchNextSetAsync(CancellationToken cancellationToken = default(CancellationToken))
 {
     return(this.nextResultSetDelegate(this.MaxItemCount, this.continuationToken, this.queryOptions, this.state, cancellationToken)
            .ContinueWith(task =>
     {
         CosmosQueryResponse <T> response = task.Result;
         this.continuationToken = response.ContinuationToken;
         this.HasMoreResults = response.GetHasMoreResults();
         return response;
     }, cancellationToken));
 }
        /// <summary>
        /// Get the next set of results from the cosmos service
        /// </summary>
        /// <param name="cancellationToken">(Optional) <see cref="CancellationToken"/> representing request cancellation.</param>
        /// <returns>A query response from cosmos service</returns>
        public override Task <CosmosQueryResponse> FetchNextSetAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.ThrowIfCancellationRequested();

            return(this.nextResultSetDelegate(this.continuationToken, this.state, cancellationToken)
                   .ContinueWith(task =>
            {
                CosmosQueryResponse response = task.Result;
                this.continuationToken = response.ContinuationToken;
                this.HasMoreResults = response.GetHasMoreResults();
                return response;
            }, cancellationToken));
        }