code: private static void transferImpl(BitReader reader, BitWriter writer, long count) {
  		while (count >= 64) {
  			//TODO could benefit from reading into a larger buffer here - eg bytes?
  			long bits = reader.readLong(64);
  			writer.write(bits, 64);
  			count -= 64;
  		}
  		if (count != 0L) {
  			long bits = reader.readLong((int) count);
  			writer.write(bits, (int) count);
  		}
  	}
docs: private static methods