code: @Override
  	public long writeBooleans(boolean value, long count) {
  		if (count < 0L) throw new IllegalArgumentException("negative count");
  		if (position + count > size) throw new EndOfBitStreamException();
  		int boundary = BitBoundary.BYTE.bitsFrom(position);
  		int bits = value ? -1 : 0;
  		if (count <= boundary) return write(bits, (int) count);
  
  		long c = write(bits, boundary);
  		long d = (count - c) >> 3;
  		fillBytes(bits, d);
  		d <<= 3;
  		position += d;
  		c += d;
  		c += write(bits, (int) (count - c));
  
  		return c;
  	}
docs: bit writer methods