@Test
public void start_exceptionOnSecond_doNotCallErrorOnThird() {

    // given
    CurrentExecutionContext context = mock(CurrentExecutionContext.class);
    Object message = new Object();
    NullPointerException ex = new NullPointerException();
    doThrow(ex).when(modules.get(1)).onStart(context);
    // when
    try {
        ModulesInvoker.start(context, modules);
    } catch (Exception e) {
        // expected
    }
    // then
    verify(modules.get(2), never()).onError(context, message, ex);
}