code: public ExternalMessage createExternalMessage(BaseMessage message, Object rawData)
      {
          ExternalTrxMessage externalTrxMessage = null;
          TrxMessageHeader trxMessageHeader = (TrxMessageHeader)message.getMessageHeader();
          String strMessageClass = null;
          if (trxMessageHeader != null)
              strMessageClass = this.getMessageClassName(trxMessageHeader);
          externalTrxMessage = (ExternalTrxMessage)ClassServiceUtility.getClassService().makeObjectFromClassName(strMessageClass);
          if (externalTrxMessage != null)
          	externalTrxMessage.init(message, rawData);
          // Note: A null externalTrxMessageOut is never returned, because the concrete transport class supplies the default class.
          return externalTrxMessage;
      }
docs: Get the external message container for this Internal message.
  Typically, the overriding class supplies a default format for the transport type.
  <br/>NOTE: The message header from the internal message is copied, but not the message itself.
  @param rawData The raw data
  @param The internalTrxMessage that I will convert to this external format.
  @return The (empty) External message.