@Override public void run() { Assert.assertEquals(SharedResourcesBrokerFactory.getImplicitBroker(), IMPLICIT); SharedResourcesBroker<SimpleScopeType> broker = SharedResourcesBrokerFactory.createDefaultTopLevelBroker( ConfigFactory.empty(), SimpleScopeType.GLOBAL.defaultScopeInstance()); Assert.assertNotEquals(SharedResourcesBrokerFactory.getImplicitBroker(), broker); SharedResourcesBrokerFactory.registerImplicitBroker(broker); Assert.assertEquals(SharedResourcesBrokerFactory.getImplicitBroker(), broker); ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<?> future = executorService.submit(new InnerImplicitBrokerTest(broker)); try { future.get(); } catch (ExecutionException | InterruptedException ee) { throw new RuntimeException(ee); } executorService.shutdownNow(); } }