@Override
    public void fromData(DataInput in,
        DeserializationContext context) throws IOException, ClassNotFoundException {
      super.fromData(in, context);
      short flags = in.readShort();
      if ((flags & HAS_PROCESSOR_ID) != 0) {
        processorId = in.readInt();
        ReplyProcessor21.setMessageRPId(processorId);
      }
      regionName = in.readUTF();
      key = DataSerializer.readObject(in);
      timeoutMs = in.readInt();
      if ((flags & HAS_TTL) != 0) {
        ttl = (int) InternalDataSerializer.readSignedVL(in);
      }
      if ((flags & HAS_IDLE_TIME) != 0) {
        idleTime = (int) InternalDataSerializer.readSignedVL(in);
      }
    }
Invoked on the node that has the object
geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java