public void ExceptionalAsyncFlow()
        {
            //Arrange
            CustomSource source = new CustomSource(
                () => throw new ETLBoxException("Test Exception"), () => false
                );
            CustomDestination dest = new CustomDestination
                                         (row => {; });

            //Act
            source.LinkTo(dest);

            //Assert
            Assert.Throws <ETLBoxException>(() =>
            {
                Task sourceT = source.ExecuteAsync();
                Task destT   = dest.Completion();
                try
                {
                    sourceT.Wait();
                    destT.Wait();
                } catch (Exception e)
                {
                    throw e.InnerException;
                }
            });
        }