@Override
    public void toData(DataOutput out,
        SerializationContext context) throws IOException {
      super.toData(out, context);
      out.writeInt(processorId);
      if (valueObj != null) {
        DataSerializer.writeObjectAsByteArray(valueObj, out);
      } else {
        DataSerializer.writeByteArray(value, valueLen, out);
      }
      out.writeLong(lastModified);
      byte booleans = 0;
      if (isSerialized) {
        booleans |= SERIALIZED;
      }
      if (requestorTimedOut) {
        booleans |= REQUESTOR_TIMEOUT;
      }
      if (authoritative) {
        booleans |= AUTHORATIVE;
      }
      if (versionTag != null) {
        booleans |= VERSIONED;
      }
      if (versionTag instanceof DiskVersionTag) {
        booleans |= PERSISTENT;
      }
      out.writeByte(booleans);
      if (versionTag != null) {
        InternalDataSerializer.invokeToData(versionTag, out);
      }
    }
Invoked on the receiver - which, in this case, was the initiator of the
NetSearchRequestMessage. This concludes the net request, by communicating an object value.
geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java