appendBits(value /*int*/, numBits /*int*/) {
			if (numBits < 0 || numBits > 32) {
				throw new IllegalArgumentException('Num bits must be between 0 and 32');
			}
			this.ensureCapacity(this.size + numBits);
			// const appendBit = this.appendBit;
			for (let numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) {
				this.appendBit(((value >> (numBitsLeft - 1)) & 0x01) === 1);
			}
		}
Appends the least-significant bits, from value, in order from most-significant to
least-significant. For example, appending 6 bits from 0x000001E will append the bits
0, 1, 1, 1, 1, 0 in that order.

@param value {@code int} containing bits to append
@param numBits bits from value to append