@Override
  public void toData(DataOutput out,
      SerializationContext context) throws IOException {
    super.toData(out, context);
    DataSerializer.writeObject(getKey(), out);
    DataSerializer.writeObject(cbArg, out);
    out.writeByte(op.ordinal);
    out.writeBoolean(notificationOnly);
    DataSerializer.writeObject(bridgeContext, out);
    DataSerializer.writeObject(originalSender, out);
    DataSerializer.writeObject(eventId, out);
    DataSerializer.writeObject(expectedOldValue, out);

    if (filterInfo != null) {
      InternalDataSerializer.invokeToData(filterInfo, out);
    }
    DataSerializer.writeObject(versionTag, out);
  }
This method is called upon receipt and make the desired changes to the PartitionedRegion Note:
It is very important that this message does NOT cause any deadlocks as the sender will wait
indefinitely for the acknowledgement
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/DestroyMessage.java