/// <summary>
        /// Create a message. This looks up the MIME type from the content header and instantiates the appropriate
        /// concrete message type.
        /// </summary>
        /// <param name="messageNbr">the AMQ message id</param>
        /// <param name="redelivered">true if redelivered</param>
        /// <param name="contentHeader">the content header that was received</param>
        /// <param name="bodies">a list of ContentBody instances</param>
        /// <returns>the message.</returns>
        /// <exception cref="AMQException"/>
        /// <exception cref="QpidException"/>
        public AbstractQmsMessage CreateMessage(long messageNbr, bool redelivered,
                                                ContentHeaderBody contentHeader,
                                                IList bodies)
        {
            BasicContentHeaderProperties properties = (BasicContentHeaderProperties)contentHeader.Properties;

            if (properties.ContentType == null)
            {
                properties.ContentType = "";
            }

            IMessageFactory mf = GetFactory(properties.ContentType);

            return(mf.CreateMessage(messageNbr, redelivered, contentHeader, bodies));
        }
 internal QpidTextMessage(long deliveryTag, BasicContentHeaderProperties contentHeader, ByteBuffer data)
     : base(deliveryTag, contentHeader, data)
 {
 }
 protected AbstractQmsMessage(BasicContentHeaderProperties contentHeader, long deliveryTag) : base(contentHeader, deliveryTag)
 {
     Init(null);
 }
 protected AbstractQmsMessage(long deliveryTag, BasicContentHeaderProperties contentHeader, ByteBuffer data)
     : this(contentHeader, deliveryTag)
 {
     Init(data);
 }