    @Test
    public void complexInvalidCommandList() {

        List<AdaptationCommand> cmds = new ArrayList<>();
        AdaptationCommand ok0 = new ExecSuccessCmd();
        AdaptationCommand ok1 = new ExecSuccessCmd();
        AdaptationCommand ok2 = new ExecSuccessCmd();
        cmds.add(ok0);
        cmds.add(ok1);
        cmds.add(ok2);
        cmds.add(new ExecFailCmd());
        cmds.add(new ExecSuccessCmd());
        AdaptationExecutor.Result result = AdaptationExecutor.execute(cmds);

        Assert.assertEquals(3, result.getExecutedCmds().size());
        Iterator<AdaptationCommand> it = result.getExecutedCmds().iterator();
        Assert.assertEquals(ok0, it.next());
        Assert.assertEquals(ok1, it.next());
        Assert.assertEquals(ok2, it.next());

        Assert.assertNotNull(result.getError());
    }