private async Task <SortedList <string, List <string> > > makeInfoListFromRentableCars(Rentals_DB_BusinessEntities dBase) { SortedList <string, List <string> > populatedList = new SortedList <string, List <string> >(); await Task.Run(() => { foreach (var car in dBase.Vehicles) { if (Rentable(car)) { string make = car.Vehicle_Types.Vehicle_Makes.Make_Name; string model = car.Vehicle_Types.Vehicle_Models.Model_Name; List <string> models; if (!populatedList.ContainsKey(make)) { models = new List <string>(); models.Add(model); populatedList.Add(make, models); } else { foreach (KeyValuePair <string, List <string> > item in populatedList) { if (item.Key.Equals(make) && !item.Value.Contains(model)) { item.Value.Add(model); } } } } } }); return(populatedList); }