public void Emitting_Should_not_invoke_handler_of_failing_observer_When_using_catch_and_a_more_generic_exception_is_thrown()
        {
            var failingCatchWasInvoked        = false;
            var failingExHandlerWasInvoked    = false;
            var nonFailingCatchWasInvoked     = false;
            var nonFailingExHandlerWasInvoked = false;

            UnitUnderTest.Catch((NotSupportedException ex) => failingCatchWasInvoked = true).Subscribe(
                ev => throw new Exception("I FAILED!"),
                ex => failingExHandlerWasInvoked = true);

            UnitUnderTest.Catch((NotSupportedException ex) => nonFailingCatchWasInvoked = true).Subscribe(
                ev => { },
                ex => nonFailingExHandlerWasInvoked = true);

            UnitUnderTest.Emit(Mock.Of <Data>());

            failingCatchWasInvoked.Should().BeFalse();
            failingExHandlerWasInvoked.Should().BeFalse();
            nonFailingCatchWasInvoked.Should().BeFalse();
            nonFailingExHandlerWasInvoked.Should().BeFalse();
        }