private void createNextDownload() { QueueElement elt = getFirstNotCompletedElement(); if (string.IsNullOrEmpty(elt.Url)) { return; } downloader = new HttpDownloader(elt.Url, elt.Destination); downloader.DownloadCompleted += downloader_DownloadCompleted; downloader.DownloadProgressChanged += downloader_DownloadProgressChanged; downloader.StartAsync(); currentElement = elt; queuePaused = false; startEventRaised = false; }