public void Dispose()
        {
            _messageQueue.CompleteAdding();

            try
            {
                _outputThread.Join(TimeSpan.FromSeconds(6));
            }
            catch (ThreadStateException)
            {
            }

            if (_disposeInner)
            {
                _inner.Dispose();
            }
        }
 /// <inheritdoc />
 public void Dispose()
 {
     _messageWriter.Dispose();
 }