public void RemoveSite(string siteName) { HashSet <Site> sites = _sites; Site siteToRemove = sites.FirstOrDefault((m) => { return(string.Equals(siteName, m.Name, StringComparison.OrdinalIgnoreCase)); }); if (siteToRemove != null) { siteToRemove.Delete(); sites = new HashSet <Site>(sites); sites.Remove(siteToRemove); } _sites = sites; }