    @Test
    public void shouldReturnLastErrorWhenSequentiallyUntilFirstDoneAndAllTheTasksThrowErrors() throws Exception {

        expectedEx.expect(IllegalArgumentException.class);
        expectedEx.expectMessage(ANY_OTHER_ERROR);

        setUpAwex();
        Task<Integer, Float> incorrectTask1 = givenErrorTask(ANY_ERROR);
        Task<Integer, Float> incorrectTask2 = givenErrorTask(ANY_ERROR);
        Task<Integer, Float> incorrectTask3 = givenErrorTask(ANY_OTHER_ERROR);
        List<Task<Integer, Float>> tasks = Arrays.<Task<Integer, Float>>asList(new Task[] {incorrectTask1,
                incorrectTask2, incorrectTask3});

        Promise<Integer, Float> mTasksPromise = mAwex.sequentiallyUntilFirstDone(tasks);

        mTasksPromise.getResult();
    }