@Override
 public void readData(ObjectDataInput in) throws IOException {
   super.readData(in);
   dataKey = IOUtil.readData(in);
   dataNewValue = IOUtil.readNullableData(in);
   dataOldValue = IOUtil.readNullableData(in);
 }
 @Override
 public void writeData(ObjectDataOutput out) throws IOException {
   super.writeData(out);
   dataKey.writeData(out);
   IOUtil.writeNullableData(out, dataNewValue);
   IOUtil.writeNullableData(out, dataOldValue);
 }
 @Override
 public void readData(ObjectDataInput in) throws IOException {
   super.readData(in);
   dataKey = in.readData();
   dataNewValue = in.readData();
   dataOldValue = in.readData();
   dataMergingValue = in.readData();
 }
 @Override
 public void writeData(ObjectDataOutput out) throws IOException {
   super.writeData(out);
   out.writeData(dataKey);
   out.writeData(dataNewValue);
   out.writeData(dataOldValue);
   out.writeData(dataMergingValue);
 }