docs: @Override
      public JsMessage getSent(boolean copy) throws MessageCopyFailedException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getSent", copy);
  
          // We don't want to fluff up an MQMD PropertyMap unnecessarily, so we try to
          // figure out first whether there have been any MQMD properties set....
          if (hasMQMDPropertiesSet()) {
  
              // If there may be some explicitly set JMS_IBM_MQMD_ properties, get it from
              // the map. Do NOT just call getMQMDProperty() as that would also look in any
              // underlying MQMD.
              byte[] apiMsgId = (byte[]) getMQMDSetPropertiesMap().get(SIProperties.JMS_IBM_MQMD_MsgId);
              if (apiMsgId != null) {
                  setApiMessageIdAsBytes(apiMsgId);
              }
          }
  
          // Finally call the superclass's method & return the result.
          JsMessage newMsg = super.getSent(copy);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getSent", newMsg);
          return newMsg;
      }