@Override public GtidEventData deserialize(ByteArrayInputStream inputStream) throws IOException { GtidEventData eventData = new GtidEventData(); byte flags = (byte) inputStream.readInteger(1); byte[] sid = inputStream.read(16); long gno = inputStream.readLong(8); eventData.setFlags(flags); eventData.setGtid(byteArrayToHex(sid, 0, 4) + "-" + byteArrayToHex(sid, 4, 2) + "-" + byteArrayToHex(sid, 6, 2) + "-" + byteArrayToHex(sid, 8, 2) + "-" + byteArrayToHex(sid, 10, 6) + ":" + String.format("%d", gno) ); return eventData; }