public async Task EnumerateSolutions() { foreach (RepositoryInfo Repository in RepositoryList) { if (Repository.IsChecked) { continue; } List <SolutionInfo> SolutionToRemoveList = new(); foreach (SolutionInfo Item in SolutionList) { if (Item.ParentRepository == Repository) { SolutionToRemoveList.Add(Item); } } List <ProjectInfo> ProjectToRemoveList = new(); foreach (ProjectInfo Item in ProjectList) { if (Item.ParentSolution.ParentRepository == Repository) { ProjectToRemoveList.Add(Item); } } foreach (SolutionInfo Item in SolutionToRemoveList) { SolutionList.Remove(Item); } foreach (ProjectInfo Item in ProjectToRemoveList) { ProjectList.Remove(Item); } await EnumerateSolutionsInRepository(Repository); } }