docs: public Message createMessage(BaseMessageHeader messageHeader, MessageRecordDesc messageDataDesc)
      {
          BaseMessage message = null;
          String strMessageClassName = this.getField(MessageLog.MESSAGE_CLASS_NAME).toString();
          message = BaseMessage.createMessage(strMessageClassName, messageHeader, null);
          if (messageDataDesc != null)
              message.addMessageDataDesc(messageDataDesc);
          if (messageHeader instanceof TrxMessageHeader)
          {
              if (message == null)
                  message = BaseMessage.createMessage((TrxMessageHeader)messageHeader);
              if (message == null)
                  message = new TreeMessage((TrxMessageHeader)messageHeader, null);
          }
          String strXMLData = this.getField(MessageLog.XML_MESSAGE_DATA).getString();
          message.setXML(strXMLData);
          return message;
      }