public IEnumerator <T> GetPagingEnumerator() { var skip = 0; List <T> pageResults; do { pageResults = client.GetRangeFromList(this, skip, PageLimit); foreach (var result in pageResults) { yield return(result); } skip += PageLimit; } while (pageResults.Count == PageLimit); }