private void when_handle_multiple_times()
 {
     before = () =>
     {
         var @event    = new FakeEventWithHandler();
         var aggregate = new FakeAggregate();
         var target    = new DefaultEventHandlerWithNoCache();
         var stopwatch = Stopwatch.StartNew();
         for (var i = 0; i < Times; i++)
         {
             target.Handle(aggregate, @event);
         }
         _elapsedNoCache = stopwatch.Elapsed;
     };
     act = () =>
     {
         var @event    = new FakeEventWithHandler();
         var stopwatch = Stopwatch.StartNew();
         for (var i = 0; i < Times; i++)
         {
             _target.Handle(_aggregate, @event);
         }
         _elapsed = stopwatch.Elapsed;
     };
     it["executes handler multiple times"] = () => _aggregate.Counter.ShouldBe(Times);
     it["is faster than with no cache"]    = () => _elapsed.ShouldBeLessThan(_elapsedNoCache);
 }
 private void Handle(FakeEventWithHandler @event)
 {
     Counter++;
 }