async Task <ITestInfoContainer> LoadTestsAsync(List <IFarmTaskInfo> farmTasks, INotificationService notificationService)
        {
            loadingProgressController.Flush();
            loadingProgressController.Enlarge(farmTasks.Count);
            loggingService.SendMessage($"Collecting tests information from farm");
            List <Task <TestInfoCached> > allTasks = new List <Task <TestInfoCached> >();

            foreach (IFarmTaskInfo farmTaskInfo in farmTasks)
            {
                if (String.IsNullOrEmpty(farmTaskInfo.Url))
                {
                    notificationService?.DoNotification($"Farm Task Not Found For {farmTaskInfo.Repository.Version}", $"Farm Task {farmTaskInfo.Repository.Version} from path {farmTaskInfo.Repository.Path} does not found. Maybe new branch created, but corresponding farm task missing. It well be added later. Otherwise, contact app owner for details.", System.Windows.MessageBoxImage.Information);
                    continue;
                }
                IFarmTaskInfo info = farmTaskInfo;
                var           task = LoadTestsCoreAsync(info);
                allTasks.Add(task);
            }
            TestInfoContainer result = new TestInfoContainer();

            foreach (TestInfoCached cached in await Task.WhenAll(allTasks.ToArray()).ConfigureAwait(false))
            {
                result.TestList.AddRange(cached.TestList);
                result.UsedFiles[cached.Repository]    = cached.UsedFiles;
                result.ElapsedTimes[cached.Repository] = cached.ElapsedTimes.Cast <IElapsedTimeInfo>().ToList();
                result.Teams[cached.Repository]        = cached.Teams;
            }
            return(result);
        }