Program: 3744
Project: 3744
Buggy source:
@Override protected void configure(){
  binder().install(new LimeWireCommonModule());
  binder().install(new LimeWireCoreSettingsModule());
  binder().install(new LimeWireSettingsModule());
  binder().install(new LimeWireNetModule(SettingsBackedProxySettings.class,SettingsBackedSocketBindingSettings.class));
  binder().install(new LimeWireDownloadModule());
  binder().install(new LimeWireHashTreeModule());
  binder().install(new LimeWireDHTModule());
  binder().install(new LimeWireHttpModule());
  binder().install(new LimeWireSearchModule());
  binder().install(new LimeWireStatisticsModule());
  binder().install(new LimeWireGnutellaStatisticsModule());
  binder().install(new LimeWireGnutellaRudpModule());
  binder().install(new LimeWireIOModule());
  binder().install(new LimeWireMojitoModule());
  binder().install(new LimeWireSecurityCertificateModule());
  binder().install(new LimewireGeocodeModule());
  binder().install(new LimeWirePromotionModule(PromotionBinderRequestorImpl.class,PromotionServicesImpl.class));
  binder().install(new LimeWireSimppModule());
  binder().install(new LimeWireBittorrentModule());
  binder().install(new LimeWireLibraryModule());
  binder().install(new LimeWireUploaderModule());
  binder().install(new LimeWireContentAuthModule());
  binder().install(new LimeWireFiltersModule());
  binder().install(new LimeWireSpamModule());
  binder().install(new LimeWireCoreConnectionModule());
  binder().install(new LimeWireBootstrapModule());
  binder().install(new LimeWireMalwareModule());
  binder().install(new LimeWireXmlModule());
  if (activityCallbackClass != null) {
    bind(ActivityCallback.class).to(activityCallbackClass);
  }
  bind(DownloadCallback.class).to(ActivityCallback.class);
  bind(NetworkManager.class).to(NetworkManagerImpl.class);
  bind(TLSManager.class).to(NetworkManagerImpl.class);
  bind(new TypeLiteral<ListenerSupport<AddressEvent>>(){
  }
).to(NetworkManagerImpl.class);
  bind(DHTManager.class).to(DHTManagerImpl.class);
  bind(DHTControllerFactory.class).to(DHTControllerFactoryImpl.class);
  bind(PingReplyFactory.class).to(PingReplyFactoryImpl.class);
  bind(PushProxiesValueFactory.class).to(PushProxiesValueFactoryImpl.class);
  bind(HandshakeResponderFactory.class).to(HandshakeResponderFactoryImpl.class);
  bind(HeadersFactory.class).to(HeadersFactoryImpl.class);
  bind(PushEndpointFactory.class).to(PushEndpointFactoryImpl.class);
  bind(HeadPongFactory.class).to(HeadPongFactoryImpl.class);
  bind(UploadManager.class).to(HTTPUploadManager.class);
  bind(HTTPUploadSessionManager.class).to(HTTPUploadManager.class);
  bind(QueryHandlerFactory.class).to(QueryHandlerFactoryImpl.class);
  bind(QueryRequestFactory.class).to(QueryRequestFactoryImpl.class);
  bind(AltLocValueFactory.class).to(AltLocValueFactoryImpl.class);
  bind(AlternateLocationFactory.class).to(AlternateLocationFactoryImpl.class);
  bind(HttpExecutor.class).to(DefaultHttpExecutor.class);
  bind(HttpRequestHandlerFactory.class).to(HttpRequestHandlerFactoryImpl.class);
  bind(ResponseFactory.class).to(ResponseFactoryImpl.class);
  bind(QueryReplyFactory.class).to(QueryReplyFactoryImpl.class);
  bind(MessageDispatcherFactory.class).to(LimeMessageDispatcherFactoryImpl.class);
  bind(CapabilitiesVMFactory.class).to(CapabilitiesVMFactoryImpl.class);
  bind(LifecycleManager.class).to(LifecycleManagerImpl.class);
  bind(LocalPongInfo.class).to(LocalPongInfoImpl.class);
  bind(ConnectionServices.class).to(ConnectionServicesImpl.class);
  bind(SearchServices.class).to(SearchServicesImpl.class);
  bind(DownloadServices.class).to(DownloadServicesImpl.class);
  bind(UploadServices.class).to(UploadServicesImpl.class);
  bind(ApplicationServices.class).to(ApplicationServicesImpl.class);
  bind(SpamServices.class).to(SpamServicesImpl.class);
  bind(DHTControllerFacade.class).to(DHTControllerFacadeImpl.class);
  bind(DHTBootstrapperFactory.class).to(DHTBootstrapperFactoryImpl.class);
  bind(DHTNodeFetcherFactory.class).to(DHTNodeFetcherFactoryImpl.class);
  bind(UDPReplyHandlerFactory.class).to(UDPReplyHandlerFactoryImpl.class);
  bind(UDPReplyHandlerCache.class).to(UDPReplyHandlerCacheImpl.class);
  bind(SocketProcessor.class).to(Acceptor.class);
  bind(DownloadManager.class).to(DownloadManagerImpl.class).asEagerSingleton();
  bind(BrowseHostHandlerManagerImpl.class).asEagerSingleton();
  bind(ReplyNumberVendorMessageFactory.class).to(ReplyNumberVendorMessageFactoryImpl.class);
  bind(GuidMapManager.class).to(GuidMapManagerImpl.class);
  bind(BrowseHostHandlerManager.class).to(BrowseHostHandlerManagerImpl.class);
  bind(PushEndpointCache.class).to(PushEndpointCacheImpl.class);
  bind(PushEndpointService.class).annotatedWith(Names.named("String_Node_Str")).to(PushEndpointCacheImpl.class);
  bind(FileResponseEntityFactory.class).to(FileResponseEntityFactoryImpl.class);
  bind(MessageFactory.class).to(MessageFactoryImpl.class);
  bind(MessageParserBinder.class).to(MessageParserBinderImpl.class);
  bind(VendorMessageFactory.class).to(VendorMessageFactoryImpl.class);
  bind(VendorMessageParserBinder.class).to(VendorMessageParserBinderImpl.class);
  bind(UDPCrawlerPongFactory.class).to(UDPCrawlerPongFactoryImpl.class);
  bind(LicenseFactory.class).to(LicenseFactoryImpl.class);
  bind(MetaDataFactory.class).to(MetaDataFactoryImpl.class);
  bind(SaveLocationManager.class).to(DownloadManager.class);
  bind(BTUploaderFactory.class).to(TorrentUploadManager.class);
  bind(PingRequestFactory.class).to(PingRequestFactoryImpl.class);
  bind(IpPortContentAuthorityFactory.class).to(IpPortContentAuthorityFactoryImpl.class);
  bind(UpdateCollectionFactory.class).to(UpdateCollectionFactoryImpl.class);
  bind(ConnectionDispatcher.class).annotatedWith(Names.named("String_Node_Str")).to(ConnectionDispatcherImpl.class).in(Scopes.SINGLETON);
  bind(ConnectionDispatcher.class).annotatedWith(Names.named("String_Node_Str")).to(ConnectionDispatcherImpl.class).in(Scopes.SINGLETON);
  bind(UDPPinger.class).to(UDPPingerImpl.class);
  bind(Inspector.class).to(InspectorImpl.class);
  bind(LWSManager.class).to(LWSManagerImpl.class);
  bind(LWSIntegrationServicesDelegate.class).to(DownloadManager.class);
  bind(LocalSocketAddressProvider.class).to(LocalSocketAddressProviderImpl.class);
  bind(SettingsProvider.class).to(MacCalculatorSettingsProviderImpl.class);
  bind(ReplyHandler.class).annotatedWith(Names.named("String_Node_Str")).to(ForMeReplyHandler.class);
  bind(MessageRouter.class).to(StandardMessageRouter.class);
  bind(UploadSlotManager.class).to(UploadSlotManagerImpl.class);
  bind(BandwidthManager.class).to(BandwidthManagerImpl.class);
  bind(PongCacher.class).to(PongCacherImpl.class);
  bind(BandwidthTracker.class).annotatedWith(Names.named("String_Node_Str")).to(UploadManager.class);
  bind(BandwidthTracker.class).annotatedWith(Names.named("String_Node_Str")).to(DownloadManager.class);
  bind(ResponseVerifier.class).to(ResponseVerifierImpl.class);
  bind(HandshakeServices.class).to(HandshakeServicesImpl.class);
  bind(ConnectionManager.class).to(ConnectionManagerImpl.class);
  bind(MessageHandlerBinder.class).to(MessageHandlerBinderImpl.class);
  bind(QueryDispatcher.class).to(QueryDispatcherImpl.class);
  bind(Acceptor.class).to(AcceptorImpl.class);
  bind(UpdateHandler.class).to(UpdateHandlerImpl.class);
  bind(SecurityToken.TokenProvider.class).to(SecurityToken.AddressSecurityTokenProvider.class);
  bind(UpdateMessageVerifier.class).to(UpdateMessageVerifierImpl.class);
  bind(InspectionResponseFactory.class).to(InspectionResponseFactoryImpl.class);
  bind(FECUtils.class).to(FECUtilsImpl.class);
  bind(BandwidthCollector.class).to(BandwidthCollectorImpl.class);
  bind(BandwidthCollectorDriver.class).to(BandwidthCollectorImpl.class);
  bind(NodeAssigner.class).to(NodeAssignerImpl.class);
  bind(OutgoingQueryReplyFactory.class).to(OutgoingQueryReplyFactoryImpl.class);
  bind(UPnPManagerConfiguration.class).to(UPnPManagerConfigurationImpl.class);
  bind(Bootstrapper.Listener.class).to(HostCatcher.class);
  bind(RareFileStrategy.class).to(RareFileStrategyImpl.class);
  bind(MulticastService.class).to(MulticastServiceImpl.class);
  bind(NetworkUpdateSanityChecker.class).to(NetworkUpdateSanityCheckerImpl.class);
  bind(CategoryManager.class).to(CategoryManagerImpl.class);
  Executor fwtEventExecutor=ExecutorsHelper.newProcessingQueue("String_Node_Str");
  AsynchronousCachingEventMulticasterImpl<FirewallTransferStatusEvent> asyncTransferMulticaster=new AsynchronousCachingEventMulticasterImpl<FirewallTransferStatusEvent>(fwtEventExecutor,BroadcastPolicy.IF_NOT_EQUALS);
  bind(new TypeLiteral<EventBean<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  bind(new TypeLiteral<AsynchronousEventBroadcaster<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  bind(new TypeLiteral<ListenerSupport<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  AsynchronousCachingEventMulticasterImpl<FirewallStatusEvent> asyncStatusMulticaster=new AsynchronousCachingEventMulticasterImpl<FirewallStatusEvent>(fwtEventExecutor,BroadcastPolicy.IF_NOT_EQUALS);
  bind(new TypeLiteral<EventBean<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(new TypeLiteral<AsynchronousEventBroadcaster<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(new TypeLiteral<ListenerSupport<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(Statistics.class);
  bind(CoreRandomGlue.class);
  bind(ConnectionAcceptorGlue.class);
  bind(DownloadUpgradeTaskService.class);
  bind(LocalAcceptor.class);
  bind(Pinger.class);
  bind(ConnectionWatchdog.class);
  bind(OutOfBandThroughputMeasurer.class);
  bind(HostCatcher.class);
  bind(LimeCoreGlue.class);
  bind(QRPUpdater.class);
  bind(DaapManager.class);
  bind(FirewalledAddressSerializer.class).asEagerSingleton();
  bind(SameNATAddressResolver.class).asEagerSingleton();
  bind(ConnectableConnector.class).asEagerSingleton();
  bind(PushEndpointSerializer.class).asEagerSingleton();
}

Fixed version (ground truth):
@Override protected void configure(){
  binder().install(new LimeWireCommonModule());
  binder().install(new LimeWireCoreSettingsModule());
  binder().install(new LimeWireSettingsModule());
  binder().install(new LimeWireNetModule(SettingsBackedProxySettings.class,SettingsBackedSocketBindingSettings.class));
  binder().install(new LimeWireDownloadModule());
  binder().install(new LimeWireHashTreeModule());
  binder().install(new LimeWireDHTModule());
  binder().install(new LimeWireActivationModule());
  binder().install(new LimeWireHttpModule());
  binder().install(new LimeWireSearchModule());
  binder().install(new LimeWireStatisticsModule());
  binder().install(new LimeWireGnutellaStatisticsModule());
  binder().install(new LimeWireGnutellaRudpModule());
  binder().install(new LimeWireIOModule());
  binder().install(new LimeWireMojitoModule());
  binder().install(new LimeWireSecurityCertificateModule());
  binder().install(new LimewireGeocodeModule());
  binder().install(new LimeWirePromotionModule(PromotionBinderRequestorImpl.class,PromotionServicesImpl.class));
  binder().install(new LimeWireSimppModule());
  binder().install(new LimeWireBittorrentModule());
  binder().install(new LimeWireLibraryModule());
  binder().install(new LimeWireUploaderModule());
  binder().install(new LimeWireContentAuthModule());
  binder().install(new LimeWireFiltersModule());
  binder().install(new LimeWireSpamModule());
  binder().install(new LimeWireCoreConnectionModule());
  binder().install(new LimeWireBootstrapModule());
  binder().install(new LimeWireMalwareModule());
  binder().install(new LimeWireXmlModule());
  if (activityCallbackClass != null) {
    bind(ActivityCallback.class).to(activityCallbackClass);
  }
  bind(ActivationSettingsController.class).to(ActivationSettingsImpl.class);
  bind(DownloadCallback.class).to(ActivityCallback.class);
  bind(NetworkManager.class).to(NetworkManagerImpl.class);
  bind(TLSManager.class).to(NetworkManagerImpl.class);
  bind(new TypeLiteral<ListenerSupport<AddressEvent>>(){
  }
).to(NetworkManagerImpl.class);
  bind(DHTManager.class).to(DHTManagerImpl.class);
  bind(DHTControllerFactory.class).to(DHTControllerFactoryImpl.class);
  bind(PingReplyFactory.class).to(PingReplyFactoryImpl.class);
  bind(PushProxiesValueFactory.class).to(PushProxiesValueFactoryImpl.class);
  bind(HandshakeResponderFactory.class).to(HandshakeResponderFactoryImpl.class);
  bind(HeadersFactory.class).to(HeadersFactoryImpl.class);
  bind(PushEndpointFactory.class).to(PushEndpointFactoryImpl.class);
  bind(HeadPongFactory.class).to(HeadPongFactoryImpl.class);
  bind(UploadManager.class).to(HTTPUploadManager.class);
  bind(HTTPUploadSessionManager.class).to(HTTPUploadManager.class);
  bind(QueryHandlerFactory.class).to(QueryHandlerFactoryImpl.class);
  bind(QueryRequestFactory.class).to(QueryRequestFactoryImpl.class);
  bind(AltLocValueFactory.class).to(AltLocValueFactoryImpl.class);
  bind(AlternateLocationFactory.class).to(AlternateLocationFactoryImpl.class);
  bind(HttpExecutor.class).to(DefaultHttpExecutor.class);
  bind(HttpRequestHandlerFactory.class).to(HttpRequestHandlerFactoryImpl.class);
  bind(ResponseFactory.class).to(ResponseFactoryImpl.class);
  bind(QueryReplyFactory.class).to(QueryReplyFactoryImpl.class);
  bind(MessageDispatcherFactory.class).to(LimeMessageDispatcherFactoryImpl.class);
  bind(CapabilitiesVMFactory.class).to(CapabilitiesVMFactoryImpl.class);
  bind(LifecycleManager.class).to(LifecycleManagerImpl.class);
  bind(LocalPongInfo.class).to(LocalPongInfoImpl.class);
  bind(ConnectionServices.class).to(ConnectionServicesImpl.class);
  bind(SearchServices.class).to(SearchServicesImpl.class);
  bind(DownloadServices.class).to(DownloadServicesImpl.class);
  bind(UploadServices.class).to(UploadServicesImpl.class);
  bind(ApplicationServices.class).to(ApplicationServicesImpl.class);
  bind(SpamServices.class).to(SpamServicesImpl.class);
  bind(DHTControllerFacade.class).to(DHTControllerFacadeImpl.class);
  bind(DHTBootstrapperFactory.class).to(DHTBootstrapperFactoryImpl.class);
  bind(DHTNodeFetcherFactory.class).to(DHTNodeFetcherFactoryImpl.class);
  bind(UDPReplyHandlerFactory.class).to(UDPReplyHandlerFactoryImpl.class);
  bind(UDPReplyHandlerCache.class).to(UDPReplyHandlerCacheImpl.class);
  bind(SocketProcessor.class).to(Acceptor.class);
  bind(DownloadManager.class).to(DownloadManagerImpl.class).asEagerSingleton();
  bind(BrowseHostHandlerManagerImpl.class).asEagerSingleton();
  bind(ReplyNumberVendorMessageFactory.class).to(ReplyNumberVendorMessageFactoryImpl.class);
  bind(GuidMapManager.class).to(GuidMapManagerImpl.class);
  bind(BrowseHostHandlerManager.class).to(BrowseHostHandlerManagerImpl.class);
  bind(PushEndpointCache.class).to(PushEndpointCacheImpl.class);
  bind(PushEndpointService.class).annotatedWith(Names.named("String_Node_Str")).to(PushEndpointCacheImpl.class);
  bind(FileResponseEntityFactory.class).to(FileResponseEntityFactoryImpl.class);
  bind(MessageFactory.class).to(MessageFactoryImpl.class);
  bind(MessageParserBinder.class).to(MessageParserBinderImpl.class);
  bind(VendorMessageFactory.class).to(VendorMessageFactoryImpl.class);
  bind(VendorMessageParserBinder.class).to(VendorMessageParserBinderImpl.class);
  bind(UDPCrawlerPongFactory.class).to(UDPCrawlerPongFactoryImpl.class);
  bind(LicenseFactory.class).to(LicenseFactoryImpl.class);
  bind(MetaDataFactory.class).to(MetaDataFactoryImpl.class);
  bind(SaveLocationManager.class).to(DownloadManager.class);
  bind(BTUploaderFactory.class).to(TorrentUploadManager.class);
  bind(PingRequestFactory.class).to(PingRequestFactoryImpl.class);
  bind(IpPortContentAuthorityFactory.class).to(IpPortContentAuthorityFactoryImpl.class);
  bind(UpdateCollectionFactory.class).to(UpdateCollectionFactoryImpl.class);
  bind(ConnectionDispatcher.class).annotatedWith(Names.named("String_Node_Str")).to(ConnectionDispatcherImpl.class).in(Scopes.SINGLETON);
  bind(ConnectionDispatcher.class).annotatedWith(Names.named("String_Node_Str")).to(ConnectionDispatcherImpl.class).in(Scopes.SINGLETON);
  bind(UDPPinger.class).to(UDPPingerImpl.class);
  bind(Inspector.class).to(InspectorImpl.class);
  bind(LWSManager.class).to(LWSManagerImpl.class);
  bind(LWSIntegrationServicesDelegate.class).to(DownloadManager.class);
  bind(LocalSocketAddressProvider.class).to(LocalSocketAddressProviderImpl.class);
  bind(SettingsProvider.class).to(MacCalculatorSettingsProviderImpl.class);
  bind(ReplyHandler.class).annotatedWith(Names.named("String_Node_Str")).to(ForMeReplyHandler.class);
  bind(MessageRouter.class).to(StandardMessageRouter.class);
  bind(UploadSlotManager.class).to(UploadSlotManagerImpl.class);
  bind(BandwidthManager.class).to(BandwidthManagerImpl.class);
  bind(PongCacher.class).to(PongCacherImpl.class);
  bind(BandwidthTracker.class).annotatedWith(Names.named("String_Node_Str")).to(UploadManager.class);
  bind(BandwidthTracker.class).annotatedWith(Names.named("String_Node_Str")).to(DownloadManager.class);
  bind(ResponseVerifier.class).to(ResponseVerifierImpl.class);
  bind(HandshakeServices.class).to(HandshakeServicesImpl.class);
  bind(ConnectionManager.class).to(ConnectionManagerImpl.class);
  bind(MessageHandlerBinder.class).to(MessageHandlerBinderImpl.class);
  bind(QueryDispatcher.class).to(QueryDispatcherImpl.class);
  bind(Acceptor.class).to(AcceptorImpl.class);
  bind(UpdateHandler.class).to(UpdateHandlerImpl.class);
  bind(SecurityToken.TokenProvider.class).to(SecurityToken.AddressSecurityTokenProvider.class);
  bind(UpdateMessageVerifier.class).to(UpdateMessageVerifierImpl.class);
  bind(InspectionResponseFactory.class).to(InspectionResponseFactoryImpl.class);
  bind(FECUtils.class).to(FECUtilsImpl.class);
  bind(BandwidthCollector.class).to(BandwidthCollectorImpl.class);
  bind(BandwidthCollectorDriver.class).to(BandwidthCollectorImpl.class);
  bind(NodeAssigner.class).to(NodeAssignerImpl.class);
  bind(OutgoingQueryReplyFactory.class).to(OutgoingQueryReplyFactoryImpl.class);
  bind(UPnPManagerConfiguration.class).to(UPnPManagerConfigurationImpl.class);
  bind(Bootstrapper.Listener.class).to(HostCatcher.class);
  bind(RareFileStrategy.class).to(RareFileStrategyImpl.class);
  bind(MulticastService.class).to(MulticastServiceImpl.class);
  bind(NetworkUpdateSanityChecker.class).to(NetworkUpdateSanityCheckerImpl.class);
  bind(CategoryManager.class).to(CategoryManagerImpl.class);
  Executor fwtEventExecutor=ExecutorsHelper.newProcessingQueue("String_Node_Str");
  AsynchronousCachingEventMulticasterImpl<FirewallTransferStatusEvent> asyncTransferMulticaster=new AsynchronousCachingEventMulticasterImpl<FirewallTransferStatusEvent>(fwtEventExecutor,BroadcastPolicy.IF_NOT_EQUALS);
  bind(new TypeLiteral<EventBean<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  bind(new TypeLiteral<AsynchronousEventBroadcaster<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  bind(new TypeLiteral<ListenerSupport<FirewallTransferStatusEvent>>(){
  }
).toInstance(asyncTransferMulticaster);
  AsynchronousCachingEventMulticasterImpl<FirewallStatusEvent> asyncStatusMulticaster=new AsynchronousCachingEventMulticasterImpl<FirewallStatusEvent>(fwtEventExecutor,BroadcastPolicy.IF_NOT_EQUALS);
  bind(new TypeLiteral<EventBean<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(new TypeLiteral<AsynchronousEventBroadcaster<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(new TypeLiteral<ListenerSupport<FirewallStatusEvent>>(){
  }
).toInstance(asyncStatusMulticaster);
  bind(Statistics.class);
  bind(CoreRandomGlue.class);
  bind(ConnectionAcceptorGlue.class);
  bind(DownloadUpgradeTaskService.class);
  bind(LocalAcceptor.class);
  bind(Pinger.class);
  bind(ConnectionWatchdog.class);
  bind(OutOfBandThroughputMeasurer.class);
  bind(HostCatcher.class);
  bind(LimeCoreGlue.class);
  bind(QRPUpdater.class);
  bind(DaapManager.class);
  bind(FirewalledAddressSerializer.class).asEagerSingleton();
  bind(SameNATAddressResolver.class).asEagerSingleton();
  bind(ConnectableConnector.class).asEagerSingleton();
  bind(PushEndpointSerializer.class).asEagerSingleton();
}