code: static Throwable newThrowable(Class throwableClass
                                    , String messageKey
                                    , Object[] messageInserts
                                    , TraceComponent traceComponent
                      ) {
          return newThrowable(throwableClass
                              , messageKey
                              , messageInserts
                              , null
                              , null
                              , null
                              , traceComponent);
      }
docs: Used by the JMS API layer to create new <code>Throwable</code>'s, usually
  <code>Exceptions</code> (both <code>JMSException</code>s and other Java
  exception types). If a previous exception has been caught, an overloaded
  version of this method which specifies the caught exception may be called.
  <p>
  
  The method provides a single place where the error handling and creation
  occurs, ensuring that these actions are always performed completely and
  correctly.
  <p>
  
  The new <code>Throwable</code> is created with its reason value set to the
  nls message corresponding to the message key passed to this method. The
  message key must end in "SIAPnnnn" (where n's are digits), as an error
  code may be derived from the key. This is done if the newly created
  <code>Throwable</code> is a <code>JMSException</code>, in which case it is
  created using the constructor that sets the error code.
  <p>
  
  If a trace component is supplied and is debug-enabled, the newly created
  <code>Throwable</code> is traced.
  <p>
  
  No errors are expected to occur in this method, but if exceptions are
  thrown by methods invoked here, a <code>RuntimeException</code> is thrown.
  <p>
  
  @param throwableClass
  the type of <code>Throwable</code> to construct.
  
  @param messageKey
  index into the message catalog (must end with "SIAPnnnn").
  
  @param messageInserts
  inserts for the message.
  
  @param traceComponent
  if this is set to a non-null value, and is debug-enabled, the newly
  created <code>Throwable</code> will be traced using this component.