public override bool Equals(object obj)
{
if(GetType() != obj.GetType()) return false;
var c1 = obj as Company;
if (c1 == null) return false;
foreach (var department in Departments)
{
if (!c1.Departments.Contains(department)) return false;
}
return ((c1.Name == Name) && (c1.Total == Total));
}