public async Task BeforeAll()
 {
     _batchExceptionEvents = new ConcurrentBag <Tuple <object, BatchExceptionEventArguments> >();
     _setup = new ChainBatcherTestSetup();
     _setup.ThrowWhenSquaring(ThrowWhenSquaring);
     _setup.ThrowWhenConvertingToString(ThrowWhenConvertingToString);
     _setup.ThrowWhenPuttingInResultsBag(ThrowWhenPuttingInResultsBag);
     _batcher = _setup.GetBatcher(_synchronicity);
     _batcher.ExceptionEvent += (o, e) => _batchExceptionEvents.Add(Tuple.Create(o, e));
     _batcher.Process(_setup.StartItems);
     await _batcher.WaitUntilDone();
 }