@Override
    public void toData(DataOutput out,
        SerializationContext context) throws IOException {
      super.toData(out, context);
      final boolean hasVersionTag = (versionTag != null);
      byte flags = valueType;
      if (hasVersionTag) {
        flags |= VALUE_HAS_VERSION_TAG;
      }
      out.writeByte(flags);
      if (valueType == VALUE_IS_BYTES) {
        DataSerializer.writeByteArray((byte[]) rawVal.getRawValue(), out);
      } else {
        rawVal.writeAsByteArray(out);
      }
      if (hasVersionTag) {
        DataSerializer.writeObject(versionTag, out);
      }
    }
Processes this message. This method is invoked by the receiver of the message.

@param dm the distribution manager that is processing the message.
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/GetMessage.java