}
final int XID_PREFIX_SIZE = 16;
//+|-,(long)lastAck,(byte)priority,(int)formatid,(short)globalLength....
private void initFromEncodedBytes() throws IOException {
DataByteArrayInputStream inputStream = new DataByteArrayInputStream(encodedXidBytes);
inputStream.skipBytes(10);
formatId = inputStream.readInt();
int globalLength = inputStream.readShort();
globalTransactionId = new byte[globalLength];
try {
inputStream.read(globalTransactionId);
branchQualifier = new byte[inputStream.available()];
inputStream.read(branchQualifier);
} catch (IOException fatal) {
throw new RuntimeException(this + ", failed to decode:", fatal);
}
}