docs: public static QueuedMessageDetail createSIBQueuedMessageDetail(
                                                                     SIMPQueuedMessageControllable qmc, Locale locale) {
  
          String type = null;
          boolean fullyValid = true;
          boolean valid = false;
  
          // Data members of SIBusMessage
          String busDiscriminator = null;
          Integer busPriority = null;
          String busReliability = null;
          Long busTimeToLive = null;
          String busReplyDiscriminator = null;
          Integer busReplyPriority = null;
          String busReplyReliability = null;
          Long busReplyTimeToLive = null;
          String busSystemMessageId = null;
          Long busExceptionTimestamp = null;
          String busExceptionMessage = null;
          // F001333-14609
          String busExceptionProblemSubscription = null;
          String busExceptionProblemDestination = null;
  
          // Data members of JsMessage
          String jsMessageType = null;
          int jsApproximateLength = -1;
          Long jsTimestamp = null;
          Long jsMessageWaitTime = null;
          Long jsCurrentMEArrivalTimestamp = null;
          Integer jsRedeliveredCount = null;
          String jsSecurityUserid = null;
          String jsProducerType = null;
          byte[] jsApiMessageIdAsBytes = null;
          byte[] jsCorrelationIdAsBytes = null;
  
          // Data members of JsApiMessage
          String apiMessageId = null;
          String apiCorrelationId = null;
          String apiUserid = null;
          String apiFormat = null;
  
          // Data members of JsJmsMessage
          String jmsDeliveryMode = null;
          Long jmsExpiration = null;
          String jmsDestination = null;
          String jmsReplyTo = null;
          Boolean jmsRedelivered = null;
          String jmsType = null;
          int jmsXDeliveryCount = -1;
          String jmsXAppId = null;
  
          // Inherited attributes
          String id = null;
          String name = null;
          String state = null;
          long timestamp = 0; // Never set!!!
          String transactionId = null;
  
          JsMessage jsMessage = null; // JsMesaage is a subclass of SIBusMessage
  
          try {
              jsMessage = qmc.getJsMessage();
              valid = true;
          } catch (SIMPControllableNotFoundException e) {
              // No FFDC code needed
              fullyValid = false;
          } catch (SIMPException e) {
              // No FFDC code needed
              fullyValid = false;
          }
  
          id = qmc.getId();
          if ("-1".equals(id)) {
              fullyValid = false;
          }
          name = qmc.getName();
  
          try {
              if (qmc.getState() != null) {
                  state = qmc.getState().toString();
              }
              transactionId = qmc.getTransactionId();
          } catch (SIMPException e) {
              // No FFDC code needed
              fullyValid = false;
          }
  
          busDiscriminator = jsMessage.getDiscriminator();
          busPriority = jsMessage.getPriority();
          busReliability = jsMessage.getReliability().toString();
          busTimeToLive = jsMessage.getTimeToLive();
          busReplyDiscriminator = jsMessage.getReplyDiscriminator();
          busReplyPriority = jsMessage.getReplyPriority();
  
          Reliability replyReliability = jsMessage.getReplyReliability();
  
          if (replyReliability != null) {
              busReplyReliability = replyReliability.toString();
          }
  
          busReplyTimeToLive = jsMessage.getReplyTimeToLive();
          busSystemMessageId = jsMessage.getSystemMessageId();
  
          Integer exceptionReason = jsMessage.getExceptionReason();
  
          if (exceptionReason != null) {
  
              busExceptionTimestamp = jsMessage.getExceptionTimestamp();
  
              if (locale == null) {
                  locale = Locale.getDefault();
              }
  
              busExceptionMessage = TraceNLS.getFormattedMessage(JsAdminConstants.EXCEPTION_MSG_BUNDLE,
                                                                 JsAdminConstants.EXCEPTION_MESSAGE_KEY_PREFIX + exceptionReason, locale, jsMessage
                                                                                 .getExceptionInserts(), "Exception Message");
  
              // F001333-14609
              busExceptionProblemSubscription = jsMessage.getExceptionProblemSubscription();
  
              busExceptionProblemDestination = jsMessage.getExceptionProblemDestination();
          }
  
          jsMessageType = jsMessage.getJsMessageType().toString();
          jsApproximateLength = jsMessage.getApproximateLength();
          jsTimestamp = jsMessage.getTimestamp();
          jsMessageWaitTime = jsMessage.getMessageWaitTime();
          jsCurrentMEArrivalTimestamp = jsMessage.getCurrentMEArrivalTimestamp();
          jsRedeliveredCount = jsMessage.getRedeliveredCount();
          jsSecurityUserid = jsMessage.getSecurityUserid();
          jsProducerType = jsMessage.getProducerType().toString();
          jsApiMessageIdAsBytes = jsMessage.getApiMessageIdAsBytes();
          jsCorrelationIdAsBytes = jsMessage.getCorrelationIdAsBytes();
  
          if (jsMessage instanceof JsApiMessage) {
              JsApiMessage jsApiMessage = (JsApiMessage) jsMessage;
              apiMessageId = jsApiMessage.getApiMessageId();
              apiCorrelationId = jsApiMessage.getCorrelationId();
              apiUserid = jsApiMessage.getUserid();
              apiFormat = jsApiMessage.getFormat();
          }
  
          if (jsMessage instanceof JsJmsMessage) {
  
              JsJmsMessage jsJmsMessage = (JsJmsMessage) jsMessage;
  
              jmsDeliveryMode = jsJmsMessage.getJmsDeliveryMode().toString();
              jmsExpiration = jsJmsMessage.getJmsExpiration();
              type = "JMS";
  
              /*
               * if (jsJmsMessage.getJmsDestination() != null) {
               * try {
               * JmsDestination dest = JmsInternalsFactory.getMessageDestEncodingUtils()
               * .getDestinationFromMsgRepresentation(jsJmsMessage.getJmsDestination());
               * jmsDestination = dest.toString();
               * }
               * catch (Exception e) {
               * // No FFDC code needed
               * fullyValid = false;
               * }
               * }
               */
  
              // Get JMS reply to destination from full header JMS message.
  
              /*
               * try {
               * Message fullJMSMsg = JmsInternalsFactory.getSharedUtils().inboundMessagePath(jsJmsMessage,
               * null, null); // Added 'null' parameter for pass thru props (SIB0121)
               * Destination dest = fullJMSMsg.getJMSReplyTo();
               * 
               * if (dest != null) {
               * jmsReplyTo = dest.toString();
               * }
               * }
               * catch (Exception e) {
               * // No FFDC code needed
               * fullyValid = false;
               * }
               */
  
              jmsRedelivered = jsJmsMessage.getJmsRedelivered();
              jmsType = jsJmsMessage.getJmsType();
              jmsXDeliveryCount = jsJmsMessage.getJmsxDeliveryCount();
              jmsXAppId = jsJmsMessage.getJmsxAppId();
          }
  
          return new QueuedMessageDetail(id, name, state, timestamp, transactionId, type,
                          busDiscriminator, busPriority, busReliability, busTimeToLive, busReplyDiscriminator,
                          busReplyPriority, busReplyReliability, busReplyTimeToLive, busSystemMessageId,
                          busExceptionTimestamp, busExceptionMessage, busExceptionProblemSubscription,
                          busExceptionProblemDestination, jsMessageType, jsApproximateLength,
                          jsTimestamp, jsMessageWaitTime, jsCurrentMEArrivalTimestamp, jsRedeliveredCount,
                          jsSecurityUserid, jsProducerType, jsApiMessageIdAsBytes, jsCorrelationIdAsBytes,
                          apiMessageId, apiCorrelationId, apiUserid, apiFormat, jmsDeliveryMode, jmsExpiration,
                          jmsDestination, jmsReplyTo, jmsRedelivered, jmsType, jmsXDeliveryCount, jmsXAppId,
                          fullyValid, valid);
      }