public void Execute(OnDisposeQueues pipelineEvent)
        {
            if (_configuration.HasControlInbox)
            {
                _configuration.ControlInbox.WorkQueue.AttemptDispose();
                _configuration.ControlInbox.ErrorQueue.AttemptDispose();
            }

            if (_configuration.HasInbox)
            {
                _configuration.Inbox.WorkQueue.AttemptDispose();
                _configuration.Inbox.DeferredQueue.AttemptDispose();
                _configuration.Inbox.ErrorQueue.AttemptDispose();
            }

            if (_configuration.HasOutbox)
            {
                _configuration.Outbox.WorkQueue.AttemptDispose();
                _configuration.Outbox.ErrorQueue.AttemptDispose();
            }

            if (_configuration.IsWorker)
            {
                _configuration.Worker.DistributorControlInboxWorkQueue.AttemptDispose();
            }

            _queueManager.AttemptDispose();
        }