docs: public boolean next() {
      if (combinedBuffer_ == null) { // initial setup
        combinedBuffer_ = sketch_.combinedBuffer_;
        num_ = sketch_.getBaseBufferCount();
      } else { // advance index within the current level
        i_++;
      }
      if (i_ < num_) {
        return true;
      }
      // go to the next non-empty level
      do {
        level_++;
        if (level_ > 0) {
          bits_ >>>= 1;
        }
        if (bits_ == 0L) {
          return false; // run out of levels
        }
        weight_ *= 2;
      } while ((bits_ & 1L) == 0L);
      i_ = 0;
      offset_ = (2 + level_) * sketch_.getK();
      num_ = sketch_.getK();
      return true;
    }