code: static LongBitSet ensureCapacity(LongBitSet bits, long numBits) {
  		if (numBits < bits.numBits) {
  			return bits;
  		} else {
  			// Depends on the ghost bits being clear!
  			// (Otherwise, they may become visible in the new instance)
  			int numWords = bits2words(numBits);
  			long[] arr = bits.getBits();
  			if (numWords >= arr.length) {
  				arr = ArrayUtil.grow(arr, numWords + 1);
  			}
  			return new LongBitSet(arr, (long) arr.length << 6);
  		}
  	}
docs: If the given {@link LongBitSet} is large enough to hold
  {@code numBits+1}, returns the given bits, otherwise returns a new
  {@link LongBitSet} which can hold the requested number of bits.
  <p>
  <b>NOTE:</b> the returned bitset reuses the underlying {@code long[]} of
  the given {@code bits} if possible. Also, calling {@link #length()} on
  the returned bits may return a value greater than {@code numBits}.