private async void HandleDownloaded(CacheFile file) { List <CacheValue> pending = file.GetAllPendingNotifies(); var tasks = new List <Task> (); foreach (CacheValue value in pending) { tasks.Add(value.HandleDownloaded(file, this.HandleFileLoaded)); } await Task.WhenAll(tasks); }