code: def _iter_key_ranges(self):
      
      while True:
        if self._current_key_range is None:
          if self._key_ranges:
            self._current_key_range = self._key_ranges.pop()
            # The most recently popped key_range may be None, so continue here
            # to find the next keyrange that's valid.
            continue
          else:
            break
  
        for key, o in self._iter_key_range(
            copy.deepcopy(self._current_key_range)):
          # The caller must consume yielded values so advancing the KeyRange
          # before yielding is safe.
          self._current_key_range.advance(key)
          yield o
        self._current_key_range = None
docs: Iterates over self._key_ranges, delegating to self._iter_key_range().