private byte[] encodeCount(long value, Type marker) {
NSMutableData data = new NSMutableData(16);
if (value > IntegerMaxValue) {
data.appendByte((byte) typeMarker(marker, 0x0f));
data.appendByte((byte) typeMarker(Type.kCFBinaryPlistMarkerInt, 3));
data.appendByte((byte) ((value >>> 56) & 0xff));
data.appendByte((byte) ((value >>> 48) & 0xff));
data.appendByte((byte) ((value >>> 40) & 0xff));
data.appendByte((byte) ((value >>> 32) & 0xff));
data.appendByte((byte) ((value >>> 24) & 0xff));
data.appendByte((byte) ((value >>> 16) & 0xff));