@Override
    public void toData(DataOutput out,
        SerializationContext context) throws IOException {
      super.toData(out, context);

      short flags = 0;
      if (processorId != 0) {
        flags |= HAS_PROCESSOR_ID;
      }
      if (ttl != 0) {
        flags |= HAS_TTL;
      }
      if (idleTime != 0) {
        flags |= HAS_IDLE_TIME;
      }
      if (alwaysSendResult) {
        flags |= ALWAYS_SEND_RESULT;
      }
      out.writeShort(flags);

      if (processorId != 0) {
        out.writeInt(processorId);
      }
      out.writeUTF(regionName);
      DataSerializer.writeObject(key, out);
      out.writeInt(timeoutMs);
      if (ttl != 0) {
        InternalDataSerializer.writeSignedVL(ttl, out);
      }
      if (idleTime != 0) {
        InternalDataSerializer.writeSignedVL(idleTime, out);
      }
    }
This method execute's on the receiver's node, and checks to see if the requested object
exists in shared memory on this node, and if so, sends back a ResponseMessage.
geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java