code: public ExternalMessage createExternalMessage(BaseMessage message, Object rawData)
      {
          ExternalMessage externalTrxMessage = super.createExternalMessage(message, rawData);
          if (externalTrxMessage == null)
          {
              if ((message.getMessageHeader() != null)
                      && (MessageTypeModel.MESSAGE_IN.equals((String)message.getMessageHeader().get(TrxMessageHeader.MESSAGE_PROCESS_TYPE))))
                  externalTrxMessage = new EMailTrxMessageIn(message, (String)rawData);
              else
                  externalTrxMessage = new EMailTrxMessageOut(message, rawData);
          }
          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 copies, but not the message itself.
  @param The internalTrxMessage that I will convert to this external format.
  @return The (empty) External message.