private IEnumerable<Member> GetMembersForLetter(string search, string letter) { var result = new List<Member>(); int currentChunk = 0; int maxChunk = 0; var req = new RestRequest(); req.AddParameter("findmember", search); while (currentChunk <= maxChunk) { req.AddOrSetParameter("letter", letter); req.AddOrSetParameter("chunk", currentChunk); var resp = this.GetClient().ExecuteGetAdminRequest(_paths.Single(), req); var doc = GetHtmlDocument(resp.Content); result.AddRange(ExtractMembersFromPage(doc)); // More chunks? var nextChunk = GetHrefValuesForParam(doc, "chunk").SingleOrDefault(); if (nextChunk != null) maxChunk = Math.Max(maxChunk, Convert.ToInt32(nextChunk)); currentChunk++; } return result; }