Source:
<code>protected void configure() { bind(RequestScopePropagator.class).to(GuiceRequestScopePropagator.class); bind(HttpRequestContext.class); if (wantSSL) { install(new RequireSslFilter.Module()); } install(new RunAsFilter.Module()); switch (authConfig.getAuthType()) { case HTTP: case HTTP_LDAP: install(new HttpAuthModule(authConfig)); break; case CLIENT_SSL_CERT_LDAP: install(new HttpsClientSslCertModule()); break; case LDAP: case LDAP_BIND: install(new LdapAuthModule()); break; case DEVELOPMENT_BECOME_ANY_ACCOUNT: install(new BecomeAnyAccountModule()); break; case OPENID: case OPENID_SSO: case CUSTOM_EXTENSION: break; default: throw new ProvisionException("Unsupported loginType: " + authConfig.getAuthType()); } install(new UrlModule(urlConfig, uiOptions)); install(new UiRpcModule()); install(new GerritRequestModule()); install(new GitOverHttpServlet.Module()); bind(GitWebConfig.class).toInstance(gitWebConfig); if (gitWebConfig.getGitwebCGI() != null) { install(new GitWebModule()); } bind(ContactStore.class).toProvider(ContactStoreProvider.class).in( SINGLETON); bind(GerritConfigProvider.class); bind(GerritConfig.class).toProvider(GerritConfigProvider.class); <START> bind(StartPluginListener.class) .annotatedWith(UniqueAnnotations.create()) <END> .to(AvatarTracker.class); bind(StopPluginListener.class) .annotatedWith(UniqueAnnotations.create()) .to(AvatarTracker.class); bind(ReloadPluginListener.class) .annotatedWith(UniqueAnnotations.create()) .to(AvatarTracker.class); DynamicSet.setOf(binder(), WebUiPlugin.class); install(new AsyncReceiveCommits.Module()); bind(SocketAddress.class).annotatedWith(RemotePeer.class).toProvider( HttpRemotePeerProvider.class).in(RequestScoped.class); listener().toInstance(registerInParentInjectors()); }</code><technical_language>DynamicItem.bind(binder(), StartPluginListener.class).to(AvatarTracker.class)</technical_language>

Target:
protected void configure() { bind(RequestScopePropagator.class).to(GuiceRequestScopePropagator.class); bind(HttpRequestContext.class); if (wantSSL) { install(new RequireSslFilter.Module()); } install(new RunAsFilter.Module()); switch (authConfig.getAuthType()) { case HTTP: case HTTP_LDAP: install(new HttpAuthModule(authConfig)); break; case CLIENT_SSL_CERT_LDAP: install(new HttpsClientSslCertModule()); break; case LDAP: case LDAP_BIND: install(new LdapAuthModule()); break; case DEVELOPMENT_BECOME_ANY_ACCOUNT: install(new BecomeAnyAccountModule()); break; case OPENID: case OPENID_SSO: case CUSTOM_EXTENSION: break; default: throw new ProvisionException("Unsupported loginType: " + authConfig.getAuthType()); } install(new UrlModule(urlConfig, uiOptions)); install(new UiRpcModule()); install(new GerritRequestModule()); install(new GitOverHttpServlet.Module()); bind(GitWebConfig.class).toInstance(gitWebConfig); if (gitWebConfig.getGitwebCGI() != null) { install(new GitWebModule()); } bind(ContactStore.class).toProvider(ContactStoreProvider.class).in( SINGLETON); bind(GerritConfigProvider.class); bind(GerritConfig.class).toProvider(GerritConfigProvider.class); DynamicItem.bind(binder(), StartPluginListener.class) .to(AvatarTracker.class); DynamicItem.bind(binder(), StopPluginListener.class) .to(AvatarTracker.class); DynamicItem.bind(binder(), ReloadPluginListener.class) .to(AvatarTracker.class); DynamicSet.setOf(binder(), WebUiPlugin.class); install(new AsyncReceiveCommits.Module()); bind(SocketAddress.class).annotatedWith(RemotePeer.class).toProvider( HttpRemotePeerProvider.class).in(RequestScoped.class); listener().toInstance(registerInParentInjectors()); }