docs: public int numberOfRunsLowerBound(int mustNotExceed) {
      int numRuns = 0;
      if (BufferUtil.isBackedBySimpleArray(bitmap)) {
        long[] b = bitmap.array();
  
        for (int blockOffset = 0; blockOffset < b.length; blockOffset += BLOCKSIZE) {
  
          for (int i = blockOffset; i < blockOffset + BLOCKSIZE; i++) {
            long word = b[i];
            numRuns += Long.bitCount((~word) & (word << 1));
          }
          if (numRuns > mustNotExceed) {
            return numRuns;
          }
        }
      } else {
        int len = bitmap.limit();
        for (int blockOffset = 0; blockOffset < len; blockOffset += BLOCKSIZE) {
  
          for (int i = blockOffset; i < blockOffset + BLOCKSIZE; i++) {
            long word = bitmap.get(i);
            numRuns += Long.bitCount((~word) & (word << 1));
          }
          if (numRuns > mustNotExceed) {
            return numRuns;
          }
        }
      }
      return numRuns;
    }