public List <PackageInfo> CollectUnTrackedPackages(PackageCollection packageCollection) { //Collect the names of all the packages we're currently tracking and updating. HashSet <string> currentlyUpdatingNames = new HashSet <string>(); foreach (TrackedPackage updatingPackage in updatingPackages) { currentlyUpdatingNames.Add(updatingPackage.Name); } return(packageCollection.Where(package => !currentlyUpdatingNames.Contains(package.name)).ToList()); }