docs: @Override
    public int select(int j) {
      long leftover = Util.toUnsignedLong(j);
      for (int i = 0; i < this.highLowContainer.size(); i++) {
        Container c = this.highLowContainer.getContainerAtIndex(i);
        int thiscard = c.getCardinality();
        if (thiscard > leftover) {
          int keycontrib = this.highLowContainer.getKeyAtIndex(i) << 16;
          int lowcontrib = Util.toIntUnsigned(c.select((int)leftover));
          return lowcontrib + keycontrib;
        }
        leftover -= thiscard;
      }
      throw new IllegalArgumentException("You are trying to select the "
                   + j + "th value when the cardinality is "
                   + this.getCardinality() + ".");
    }