public static List <Host> LoadAll() { List <Host> results = new List <Host>(); List <Feed> feeds = Feed.LoadAll(); foreach (Feed feed in feeds) { Host feedHost = results.FirstOrDefault(el => el.Location.Equals(new Uri("http://" + feed.Host))); if (feedHost == null) { feedHost = Load(feed.Host); feed.ParentHost = feedHost; results.Add(feedHost); } if (feedHost == null) { feedHost = new Host(); feedHost.Title = feed.Host; feedHost.Location = new Uri("http://" + feed.Host); feedHost.Zoom = 100; feed.ParentHost = feedHost; results.Add(feedHost); } if (feed.ParentHost == null) { feed.ParentHost = feedHost; } feedHost.Feeds.Add(feed); } return(results); }