@Inject public TorrentDownloadListener( DownloadManager downloadManager, ActivityCallback activityCallback, @GnutellaFiles FileCollection gnutellaFileList, TorrentManager torrentManager, @Assisted List<DownloadItem> downloadItems, @Assisted Downloader downloader) { this.downloader = Objects.nonNull(downloader, "downloader"); this.downloadManager = Objects.nonNull(downloadManager, "downloadManager"); this.torrentManager = Objects.nonNull(torrentManager, "torrentManager"); this.gnutellaFileList = Objects.nonNull(gnutellaFileList, "gnutellaFileList"); this.activityCallback = Objects.nonNull(activityCallback, "activityCallback"); this.downloadItems = Objects.nonNull(downloadItems, "downloadItems"); if (downloader.getState() == DownloadState.COMPLETE) { if (downloader instanceof CoreDownloader) { handleEvent(new DownloadStateEvent((CoreDownloader) downloader, DownloadState.COMPLETE)); } } }