@Override
 protected void writeInternal(ObjectDataOutput out) throws IOException {
   super.writeInternal(out);
   out.writeUTF(newState.toString());
   initiator.writeData(out);
   out.writeUTF(txnId);
 }
 @Override
 protected void readInternal(ObjectDataInput in) throws IOException {
   super.readInternal(in);
   stateName = in.readUTF();
   try {
     newState = ClusterState.valueOf(stateName);
   } catch (IllegalArgumentException ignored) {
     EmptyStatement.ignore(ignored);
   }
   initiator = new Address();
   initiator.readData(in);
   txnId = in.readUTF();
 }