private DistributedKeyManager getKeyManager(Injector injector, boolean expectLeader) throws Exception { ZKClientService zk = injector.getInstance(ZKClientService.class); zk.startAndWait(); WaitableDistributedKeyManager keyManager = new WaitableDistributedKeyManager(injector.getInstance(CConfiguration.class), injector.getInstance(Key.get(new TypeLiteral<Codec<KeyIdentifier>>() { })), zk); keyManager.startAndWait(); if (expectLeader) { keyManager.waitForLeader(5000, TimeUnit.MILLISECONDS); } return keyManager; }