private void ComputeDomains()
{
var currentDomain = this.DomainOfExpertises.Select(x => x.Thing).ToArray();
var updatedDomain = this.Thing.Domain.ToList();
var removedDomain = currentDomain.Except(updatedDomain).ToArray();
foreach (var domainOfExpertise in removedDomain)
{
this.RemoveDomainOfExpertise(domainOfExpertise);
}
var addedDomain = updatedDomain.Except(currentDomain).ToArray();
foreach (var domainOfExpertise in addedDomain)
{
this.AddDomainOfExpertise(domainOfExpertise);
}
this.DomainOfExpertises.Sort(rowComparer);
}
}