public IEnumerable<string> RequestStringList(HttpWebRequest request, out RequestContinuationToken nextRequestContinuationToken)
 {
     using (var response = TryRequest(request))
     {
         System.Diagnostics.Trace.WriteLine(response.StatusCode, "HttpResponse");
         nextRequestContinuationToken = RequestContinuationToken.Parse(request.Headers);
         return TableHelper.ReadTableList(response.GetResponseStream()).ToList();
     }
 }
        public IEnumerable<IDictionary<string, object>> RequestData(HttpWebRequest request, out RequestContinuationToken nextRequestContinuationToken)
        {
            using (var response = TryRequest(request))
            {
                // TODO - this section should go inside the WebRequester class too?
                System.Diagnostics.Trace.WriteLine(response.StatusCode, "HttpResponse");

                // parse the continuation token
                nextRequestContinuationToken = RequestContinuationToken.Parse(response.Headers);

                // TODO - this is a bit problematic...
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return Enumerable.Empty<IDictionary<string, object>>();
                }
                else
                {
                    return DataServicesHelper.GetData(response.GetResponseStream());
                }
            }
        }
 // TODO - not sure about this!
 public static IEnumerable<IDictionary<string, object>> Request(HttpWebRequest request, IRetryPolicy retryPolicy, out RequestContinuationToken nextRequestContinuationToken)
 {
     return new WebRequester(retryPolicy).RequestData(request, out nextRequestContinuationToken);
 }