code: def stream(self, page, limit=None, page_limit=None):
          
          current_record = 1
          current_page = 1
  
          while page is not None:
              for record in page:
                  yield record
                  current_record += 1
                  if limit and limit is not values.unset and limit < current_record:
                      return
  
              if page_limit and page_limit is not values.unset and page_limit < current_page:
                  return
  
              page = page.next_page()
              current_page += 1
docs: Generates records one a time from a page, stopping at prescribed limits.
  
          :param Page page: The page to stream.
          :param int limit: The max number of records to read.
          :param int page_imit: The max number of pages to read.