code: def __cloudflare_list_zone_records(self, *, account, zoneID, **kwargs):
          
          done = False
          records = {}
          page = 1
  
          while not done:
              kwargs['page'] = page
              response = self.__cloudflare_request(
                  account=account,
                  path='/zones/{}/dns_records'.format(zoneID),
                  args=kwargs
              )
              info = response['result_info']
  
              # Check if we have received all records, and if not iterate over the result set
              if 'total_pages' not in info or page >= info['total_pages']:
                  done = True
              else:
                  page += 1
  
              for record in response['result']:
                  if record['name'] in records:
                      records[record['name']]['value'] = sorted(records[record['name']]['value'] + [record['content']])
                  else:
                      records[record['name']] = {
                          'name': record['name'],
                          'value': sorted([record['content']]),
                          'type': record['type']
                      }
  
          return list(records.values())
docs: Helper function to list all records on a CloudFlare DNS Zone. Returns a `dict` containing the records and
          their information.
  
          Args:
              account (:obj:`CloudFlareAccount`): A CloudFlare Account object
              zoneID (`int`): Internal CloudFlare ID of the DNS zone
              **kwargs (`dict`): Additional arguments to be consumed by the API endpoint
  
          Returns:
              :obj:`dict` of `str`: `dict`