code: public static BitWriter writerTo(byte[] bytes, long size) {
  		if (bytes == null) throw new IllegalArgumentException("null bytes");
  		checkSize(size, ((long) bytes.length) << 3);
  		return new ByteArrayBitWriter(bytes, size);
  	}
docs: A {@link BitWriter} that writes its bits to an array of bytes. Bits are
  written to the byte array starting at index zero. Within each byte, the
  most significant bits is written to first.
  
  @param bytes
  the array of bytes
  @param size
  the number of bits that may be written, not negative and no
  greater than the number of bits supplied by the array
  @return a writer that writes bits to the supplied array