public void ShutDown_NoMoreDispatching()
        {
            var dispatcher = new AsyncHandler(2);
            var command = new FakeCommand();
            var state = new DispatchCommand(command);
            var state2 = new DispatchCommand(new FakeCommand());
            var context = new DownContext(null, null);

            // dispatch first and check that it's passed by properly
            dispatcher.HandleDownstream(context, state);
            Assert.True(context.WaitDown(TimeSpan.FromMilliseconds(50)));
            context.ResetDown();

            dispatcher.Close();

            dispatcher.HandleDownstream(context, state2);
            Assert.False(context.WaitDown(TimeSpan.FromMilliseconds(50)));
        }