docs: MappeableContainer toBitmapOrArrayContainer(int card) {
      // int card = this.getCardinality();
      if (card <= MappeableArrayContainer.DEFAULT_MAX_SIZE) {
        MappeableArrayContainer answer = new MappeableArrayContainer(card);
        answer.cardinality = 0;
        for (int rlepos = 0; rlepos < this.nbrruns; ++rlepos) {
          int runStart = toIntUnsigned(this.getValue(rlepos));
          int runEnd = runStart + toIntUnsigned(this.getLength(rlepos));
  
          for (int runValue = runStart; runValue <= runEnd; ++runValue) {
            answer.content.put(answer.cardinality++, (short) runValue);
          }
        }
        return answer;
      }
      MappeableBitmapContainer answer = new MappeableBitmapContainer();
      for (int rlepos = 0; rlepos < this.nbrruns; ++rlepos) {
        int start = toIntUnsigned(this.getValue(rlepos));
        int end = start + toIntUnsigned(this.getLength(rlepos)) + 1;
        BufferUtil.setBitmapRange(answer.bitmap, start, end);
      }
      answer.cardinality = card;
      return answer;
    }