docs: public void add(final long rangeStart, final long rangeEnd) {
      rangeSanityCheck(rangeStart, rangeEnd);
      if (rangeStart >= rangeEnd) {
        return; // empty range
      }
  
      final int hbStart = Util.toIntUnsigned(Util.highbits(rangeStart));
      final int lbStart = Util.toIntUnsigned(Util.lowbits(rangeStart));
      final int hbLast = Util.toIntUnsigned(Util.highbits(rangeEnd - 1));
      final int lbLast = Util.toIntUnsigned(Util.lowbits(rangeEnd - 1));
      for (int hb = hbStart; hb <= hbLast; ++hb) {
  
        // first container may contain partial range
        final int containerStart = (hb == hbStart) ? lbStart : 0;
        // last container may contain partial range
        final int containerLast = (hb == hbLast) ? lbLast : Util.maxLowBitAsInteger();
        final int i = highLowContainer.getIndex((short) hb);
  
        if (i >= 0) {
          final Container c =
              highLowContainer.getContainerAtIndex(i).iadd(containerStart, containerLast + 1);
          highLowContainer.setContainerAtIndex(i, c);
        } else {
          highLowContainer.insertNewKeyValueAt(-i - 1, (short) hb,
              Container.rangeOfOnes(containerStart, containerLast + 1));
        }
      }
    }