public Object answer(InvocationOnMock invocation) throws Throwable {
latch.countDown();
return null;
}
}).when(eventBus).publish(isA(EventMessage.class));
Saga mockSaga = mock(Saga.class);
when(mockSaga.getSagaIdentifier()).thenReturn(UUID.randomUUID().toString());
EventMessage<Object> event1 = createEvent();
final EventMessage<Object> event2 = createEvent();
ScheduleToken token1 = testSubject.schedule(new Duration(100), event1);
testSubject.schedule(new Duration(120), event2);
testSubject.cancelSchedule(token1);