docs: protected void lazyor(final ImmutableRoaringBitmap x2) {
      int pos1 = 0, pos2 = 0;
      int length1 = highLowContainer.size();
      final int length2 = x2.highLowContainer.size();
      main: if (pos1 < length1 && pos2 < length2) {
        short s1 = highLowContainer.getKeyAtIndex(pos1);
        short s2 = x2.highLowContainer.getKeyAtIndex(pos2);
  
        while (true) {
          if (s1 == s2) {
            getMappeableRoaringArray().setContainerAtIndex(pos1, highLowContainer
                .getContainerAtIndex(pos1).lazyIOR(x2.highLowContainer.getContainerAtIndex(pos2)));
            pos1++;
            pos2++;
            if ((pos1 == length1) || (pos2 == length2)) {
              break main;
            }
            s1 = highLowContainer.getKeyAtIndex(pos1);
            s2 = x2.highLowContainer.getKeyAtIndex(pos2);
          } else if (Util.compareUnsigned(s1, s2) < 0) { // s1 < s2
            pos1++;
            if (pos1 == length1) {
              break main;
            }
            s1 = highLowContainer.getKeyAtIndex(pos1);
          } else { // s1 > s2
            getMappeableRoaringArray().insertNewKeyValueAt(pos1, s2,
                x2.highLowContainer.getContainerAtIndex(pos2).clone());
            pos1++;
            length1++;
            pos2++;
            if (pos2 == length2) {
              break main;
            }
            s2 = x2.highLowContainer.getKeyAtIndex(pos2);
          }
        }
      }
      if (pos1 == length1) {
        getMappeableRoaringArray().appendCopy(x2.highLowContainer, pos2, length2);
      }
    }