docs: public static long[] random(int card, int capacity, Random random) {
      if(card < 0 || card > capacity) {
        throw new IllegalArgumentException("Cannot set " + card + " out of " + capacity + " bits.");
      }
      // FIXME: Avoid recomputing the cardinality.
      if(card < capacity >>> 1) {
        long[] bitset = BitsUtil.zero(capacity);
        for(int todo = card; todo > 0; //
            todo = (todo == 1) ? (card - cardinality(bitset)) : (todo - 1)) {
          setI(bitset, random.nextInt(capacity));
        }
        return bitset;
      }
      else {
        long[] bitset = BitsUtil.ones(capacity);
        for(int todo = capacity - card; todo > 0; //
            todo = (todo == 1) ? (cardinality(bitset) - card) : (todo - 1)) {
          clearI(bitset, random.nextInt(capacity));
        }
        return bitset;
      }
    }