/// <summary>
        ///     Initializes a new instance of the <see cref="MqttPublishCompleteMessage" /> class.
        /// </summary>
        /// <remarks>
        ///     Only called via the MqttMessage.Create operation during processing of an Mqtt message stream.
        /// </remarks>
        public MqttPublishCompleteMessage() {
            this.Header = new MqttHeader() {
                MessageType = MqttMessageType.PublishComplete
            };

            this.VariableHeader = new MqttPublishCompleteVariableHeader() {
                ConnectFlags = new MqttConnectFlags()
            };
        }
 /// <summary>
 ///     Initializes a new instance of the <see cref="MqttPublishCompleteMessage" /> class.
 /// </summary>
 /// <param name="header">The header to use for the message.</param>
 /// <param name="messageStream">The message stream positioned after the header.</param>
 internal MqttPublishCompleteMessage(MqttHeader header, Stream messageStream) {
     this.Header = header;
     this.VariableHeader = new MqttPublishCompleteVariableHeader(messageStream);
 }