code: def results(self, limit=100):
          
          limited = True if self.high_mark is not None else False
          rmax = self.high_mark - self.low_mark if limited else None
          rnum = 0
  
          params = self.get_params()
          params["offset"] = self.low_mark
          params["limit"] = limit
  
          while not limited and rmax is None or rnum < rmax:
              if limited or rmax is not None:
                  rleft = rmax - rnum
                  params["limit"] = rleft if rleft < limit else limit
  
              r = self.resource._meta.api.http_resource("GET", self.resource._meta.resource_name, params=params)
              data = self.resource._meta.api.resource_deserialize(r.text)
  
              if not limited:
                  rmax = data["meta"]["total_count"]
  
              if data["meta"]["total_count"] < rmax:
                  rmax = data["meta"]["total_count"]
  
              params["offset"] = data["meta"]["offset"] + data["meta"]["limit"]
  
              for item in data["objects"]:
                  rnum += 1
                  yield item
docs: Yields the results from the API, efficiently handling the pagination and
          properly passing all paramaters.