code: @Override
      public void setSerializedObject(byte[] payload) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "setSerializedObject", payload);
  
          // Set the new data into the message itself
          getPayload().setField(JmsObjectBodyAccess.BODY_DATA_VALUE, payload);
          // Throw away any references to the old 'real' object we have
          realObject = null;
          hasRealObject = false;
          hasSerializedRealObject = false;
          softRefToRealObject = null;
          clearCachedLengths();
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "setSerializedObject");
      }
docs: /*
  Set the body (payload) of the message. The payload is the byte array
  containing the serialized version of the Object originally passed in to
  the JMS API call.
  
  Javadoc description supplied by JsJmsObjectMessage interface.