docs: private MappeableContainer or(ShortIterator it, boolean exclusive) {
      MappeableArrayContainer ac = new MappeableArrayContainer();
      int myItPos = 0;
      ac.cardinality = 0;
      // do a merge. int -1 denotes end of input.
      int myHead = (myItPos == cardinality) ? -1 : toIntUnsigned(content.get(myItPos++));
      int hisHead = advance(it);
  
      while (myHead != -1 && hisHead != -1) {
        if (myHead < hisHead) {
          ac.emit((short) myHead);
          myHead = (myItPos == cardinality) ? -1 : toIntUnsigned(content.get(myItPos++));
        } else if (myHead > hisHead) {
          ac.emit((short) hisHead);
          hisHead = advance(it);
        } else {
          if (!exclusive) {
            ac.emit((short) hisHead);
          }
          hisHead = advance(it);
          myHead = (myItPos == cardinality) ? -1 : toIntUnsigned(content.get(myItPos++));
        }
      }
  
      while (myHead != -1) {
        ac.emit((short) myHead);
        myHead = (myItPos == cardinality) ? -1 : toIntUnsigned(content.get(myItPos++));
      }
  
      while (hisHead != -1) {
        ac.emit((short) hisHead);
        hisHead = advance(it);
      }
  
      if (ac.cardinality > DEFAULT_MAX_SIZE) {
        return ac.toBitmapContainer();
      } else {
        return ac;
      }
    }