///No limit on page size
 public List<Survey> GetSurveyList(int page, GetSurveyListSettings settings)
 {
     if (page < 1)
     {
         throw new ArgumentException("Page must be greater than 0.");
     }
     return GetSurveyListPage(page, 0, false, settings);
 }
 //Limit the page size returned
 public List<Survey> GetSurveyList(int page, int pageSize, GetSurveyListSettings settings)
 {
     if (pageSize < 1 || pageSize > 1000)
     {
         throw new ArgumentException("Page size must be between 1 and 1000.");
     }
     return GetSurveyListPage(page, pageSize, true, settings);
 }
 private List<Survey> GetSurveyListPage(int page, int pageSize, bool limitPageSize, GetSurveyListSettings settings)
 {
     RequestSettings parameters = settings.Serialized;
     parameters.Add("page", page);
     if (limitPageSize)
     {
         parameters.Add("page_size", pageSize);
     }
     return GetSurveyListRequest(parameters);
 }
 //Auto-paging
 public List<Survey> GetSurveyList(GetSurveyListSettings settings)
 {
     var surveys = new List<Survey>();
     bool cont = true;
     int page = 1;
     while (cont)
     {
         RequestSettings parameters = settings.Serialized;
         parameters.Add("page", page);
         var newSurveys = GetSurveyListRequest(parameters);
         if (newSurveys.Count > 0)
         {
             surveys.AddRange(newSurveys);
         }
         if (newSurveys.Count < 1000)
         {
             cont = false;
         }
         page++;
     }
     return surveys;
 }