@Override
    public void fromData(DataInput in,
        DeserializationContext context) throws IOException, ClassNotFoundException {
      super.fromData(in, context);
      processorId = in.readInt();
      regionName = in.readUTF();
      opType = operationType.values()[in.readShort()];
      updatesAsInvalidates = in.readBoolean();
      profileVersion = in.readLong();
      if (isCqOp(opType)) {
        serverCqName = in.readUTF();
        if (opType == operationType.REGISTER_CQ || opType == operationType.SET_CQ_STATE) {
          cq = CqServiceProvider.readCq(in);
        }
      } else {
        clientID = in.readLong();
        interest = context.getDeserializer().readObject(in);
      }
    }
OperationMessage synchronously propagates a change in the profile to another member. It is a
serial message so that there is no chance of out-of-order execution.
geode-core/src/main/java/org/apache/geode/internal/cache/FilterProfile.java