Source:
protected void configure() { bind(ZookeeperCounterStorage.class).to(CounterStorage.class).in(Singleton.class); bind(ZookeeperBrokerStorage.class).to(BrokerStorage.class).in(Singleton.class); bind(SystemClock.class).to(Clock.class).in(Singleton.class); bind(ZookeeperBrokerStorage.class).to(BrokerStorage.class).in(Singleton.class); bind(InetAddressHostnameResolver.class).in(Singleton.class).to(HostnameResolver.class); bindFactory(SchemaSourceProviderFactory.class).to(SchemaSourceProvider.class).in(Singleton.class); bindFactory(JsonSchemaRepositoryFactory.class).in(Singleton.class).to(new TypeLiteral<SchemaRepository<JsonSchema>>() {}); bindFactory(AvroSchemaRepositoryFactory.class).in(Singleton.class).to(new TypeLiteral<SchemaRepository<Schema>>() {}); bindSingletonFactory(SchemaRepoClientFactory.class); bindSingleton(CuratorClientFactory.class); bindSingleton(HermesMetrics.class); bindSingleton(HealthCheckRegistry.class); bindSingleton(ConfigFactory.class); bindSingleton(MessageContentWrapperProvider.class); bindSingleton(JsonMessageContentWrapper.class); bindSingleton(AvroMessageContentWrapper.class); bindSingletonFactory(HermesCuratorClientFactory.class).named(CuratorType.HERMES); bindSingletonFactory(KafkaCuratorClientFactory.class).named(CuratorType.KAFKA); bindSingletonFactory(GraphiteWebTargetFactory.class); bindSingletonFactory(ObjectMapperFactory.class); bindSingletonFactory(BoonObjectMapperFactory.class); bindSingletonFactory(SharedCounterFactory.class); bindSingletonFactory(DistributedEphemeralCounterFactory.class); bindSingletonFactory(MetricRegistryFactory.class); bindSingletonFactory(ZookeeperPathsFactory.class); bindSingletonFactory(GroupRepositoryFactory.class); bindSingletonFactory(TopicRepositoryFactory.class); bindSingletonFactory(SubscriptionRepositoryFactory.class); bindSingletonFactory(SimpleConsumerPoolFactory.class); bindSingletonFactory(SubscriptionOffsetChangeIndicatorFactory.class); bindSingletonFactory(PathsCompilerFactory.class); }

Target:
protected void configure() { bind(ZookeeperCounterStorage.class).to(CounterStorage.class).in(Singleton.class); bind(ZookeeperBrokerStorage.class).to(BrokerStorage.class).in(Singleton.class); bind(SystemClock.class).to(Clock.class).in(Singleton.class); bind(ZookeeperBrokerStorage.class).to(BrokerStorage.class).in(Singleton.class); bind(InetAddressHostnameResolver.class).in(Singleton.class).to(HostnameResolver.class); bindSingletonFactory(SchemaSourceProviderFactory.class); bindFactory(JsonSchemaRepositoryFactory.class).in(Singleton.class).to(new TypeLiteral<SchemaRepository<JsonSchema>>() {}); bindFactory(AvroSchemaRepositoryFactory.class).in(Singleton.class).to(new TypeLiteral<SchemaRepository<Schema>>() {}); bindSingletonFactory(SchemaRepoClientFactory.class); bindSingleton(CuratorClientFactory.class); bindSingleton(HermesMetrics.class); bindSingleton(HealthCheckRegistry.class); bindSingleton(ConfigFactory.class); bindSingleton(MessageContentWrapper.class); bindSingleton(JsonMessageContentWrapper.class); bindSingleton(AvroMessageContentWrapper.class); bindSingletonFactory(HermesCuratorClientFactory.class).named(CuratorType.HERMES); bindSingletonFactory(KafkaCuratorClientFactory.class).named(CuratorType.KAFKA); bindSingletonFactory(GraphiteWebTargetFactory.class); bindSingletonFactory(ObjectMapperFactory.class); bindSingletonFactory(BoonObjectMapperFactory.class); bindSingletonFactory(SharedCounterFactory.class); bindSingletonFactory(DistributedEphemeralCounterFactory.class); bindSingletonFactory(MetricRegistryFactory.class); bindSingletonFactory(ZookeeperPathsFactory.class); bindSingletonFactory(GroupRepositoryFactory.class); bindSingletonFactory(TopicRepositoryFactory.class); bindSingletonFactory(SubscriptionRepositoryFactory.class); bindSingletonFactory(SimpleConsumerPoolFactory.class); bindSingletonFactory(SubscriptionOffsetChangeIndicatorFactory.class); bindSingletonFactory(PathsCompilerFactory.class); }