code: def NextPage(self, page=None):
      
      if self._start_index is None:
        raise ValueError('Cannot page through query with no LIMIT clause.')
  
      # DataService has a different paging mechanism, resulting in different
      # method of determining if there is still a page left.
      page_size = None
      if (page and self._PAGE_TYPE in page
          and page[self._PAGE_TYPE] in self._BID_LANDSCAPE_PAGES):
        page_size = sum([len(bid_landscape[self._LANDSCAPE_POINTS])
                         for bid_landscape in page[self._ENTRIES]])
  
      increment = page_size or self._page_size
      self._start_index += increment
      return self
docs: Sets the LIMIT clause of the AWQL to the next page.
  
      This method is meant to be used with HasNext(). When using DataService,
      page is needed, as its paging mechanism is different from other services.
      For details, see
      https://developers.google.com/adwords/api/docs/guides/bid-landscapes#paging_through_results.
  
      Args:
        page: An optional dict-like page returned in an API response, where the
            type depends on the configured SOAP client. The page contains the
            'totalNumEntries' key whose value represents the total number of
            results from making the query to the AdWords API services. This page
            is required when using this method with DataService.
  
      Returns:
        This service query object.
  
      Raises:
        ValueError: If the start index of this object is None, meaning that the
            LIMIT clause hasn't been set before.