if (value > Integer.MAX_VALUE || value < 0) {
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));
data.appendByte((byte) ((value >>> 8) & 0xff));
data.appendByte((byte) ((value >>> 0) & 0xff));
} else if (value > Short.MAX_VALUE || value < Short.MIN_VALUE) {