docs: private int skipAhead(RunContainer skippingOn, int pos, int targetToExceed) {
      int left = pos;
      int span = 1;
      int probePos = 0;
      int end;
      // jump ahead to find a spot where end > targetToExceed (if it exists)
      do {
        probePos = left + span;
        if (probePos >= skippingOn.nbrruns - 1) {
          // expect it might be quite common to find the container cannot be advanced as far as
          // requested. Optimize for it.
          probePos = skippingOn.nbrruns - 1;
          end = toIntUnsigned(skippingOn.getValue(probePos))
              + toIntUnsigned(skippingOn.getLength(probePos)) + 1;
          if (end <= targetToExceed) {
            return skippingOn.nbrruns;
          }
        }
        end = toIntUnsigned(skippingOn.getValue(probePos))
            + toIntUnsigned(skippingOn.getLength(probePos)) + 1;
        span *= 2;
      } while (end <= targetToExceed);
      int right = probePos;
      // left and right are both valid positions. Invariant: left <= targetToExceed && right >
      // targetToExceed
      // do a binary search to discover the spot where left and right are separated by 1, and
      // invariant is maintained.
      while (right - left > 1) {
        int mid = (right + left) / 2;
        int midVal = toIntUnsigned(skippingOn.getValue(mid))
            + toIntUnsigned(skippingOn.getLength(mid)) + 1;
        if (midVal > targetToExceed) {
          right = mid;
        } else {
          left = mid;
        }
      }
      return right;
    }