code: def _fill_cache(self, num=None):
          
          if self._iter:
              try:
                  for i in range(num or ITER_CHUNK_SIZE):
                      self._result_cache.append(next(self._iter))
              except StopIteration:
                  self._iter = None
docs: Fills the result cache with 'num' more entries (or until the results
          iterator is exhausted).