@Test
public void removeCallbackOnException() throws Exception {

  doThrow(RuntimeException.class).when(callback1Two).compensate(any(TxEvent.class));
  TxEvent event = eventOf(serviceName1, instanceId1Two, TxStartedEvent);
  try {
    compositeOmegaCallback.compensate(event);
    expectFailing(RuntimeException.class);
  } catch (RuntimeException ignored) {
  }
  assertThat(callbacks.get(serviceName1).values(), containsInAnyOrder(callback1One));
  assertThat(callbacks.get(serviceName2).values(), Matchers.containsInAnyOrder(callback2One, callback2Two));
}