code: @Override
      public void setRealObject(Serializable obj) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "setRealObject", (obj == null ? "null" : obj.getClass()));
  
          // Set all the values for the new 'real' object
          realObject = obj;
          hasRealObject = true;
          hasSerializedRealObject = false;
          // Clear any out of date information in the SoftReference
          softRefToRealObject = null;
          // We have a new payload so get rid of any serialized version of an old payload
          getPayload().setChoiceField(JmsObjectBodyAccess.BODY, JmsObjectBodyAccess.IS_BODY_EMPTY);
          clearCachedLengths();
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "setRealObject");
      }
docs: /*
  Set the real object
  Javadoc description supplied by JsJmsObjectMessage interface.