@Test
public void testServiceReordering() throws Exception {

    LifecycleInjector injector = InjectorBuilder.fromModules(
            new ContainerEventBusModule(),
            new AbstractModule() {
                @Override
                protected void configure() {
                    bind(TitusRuntime.class).toInstance(TitusRuntimes.internal());
                    bind(ActivationProvisionListenerTest.class).toInstance(ActivationProvisionListenerTest.this);
                    bind(ServiceB.class).asEagerSingleton();
                    bind(ServiceA.class).asEagerSingleton();
                }
            }).createInjector();
    ActivationLifecycle activationLifecycle = injector.getInstance(ActivationLifecycle.class);
    activationLifecycle.activate();
    assertThat(activationTrace).containsExactlyInAnyOrder(
            Pair.of("serviceA", "ACTIVATED"),
            Pair.of("serviceB", "ACTIVATED")
    );
}