code: def _fetch_next_block(self):    
          
          # Fetch next block of results by executing the query against the current document collection
          fetched_items = self._fetch_items_helper_with_retries(self._fetch_function)
  
          # If there are multiple document collections to query for(in case of partitioning), keep looping through each one of them,
          # creating separate feed queries for each collection and fetching the items
          while not fetched_items:
              if self._collection_links and self._current_collection_index < self._collection_links_length:
                  path = base.GetPathFromLink(self._collection_links[self._current_collection_index], 'docs')
                  collection_id = base.GetResourceIdOrFullNameFromLink(self._collection_links[self._current_collection_index])
                  
                  self._continuation = None
                  self._has_started = False
  
                  def fetch_fn(options):
                      return self._client.QueryFeed(path,
                                              collection_id,
                                              self._query,
                                              options)
  
                  self._fetch_function = fetch_fn
  
                  fetched_items = self._fetch_items_helper_with_retries(self._fetch_function)
                  self._current_collection_index += 1
              else:
                  break
  
          return fetched_items
docs: Fetches the next block of query results.
          
          This iterates fetches the next block of results from the current collection link.
          Once the current collection results were exhausted. It moves to the next collection link.
  
          :return:
              List of fetched items.
          :rtype: list