/// <summary>
        /// Populate the <see cref="PossibleActiveDomain" />
        /// </summary>
        protected override void PopulateActiveDomain()
        {
            var sitedir = (SiteDirectory)this.Container;

            var currentActiveDomain = this.Thing.ActiveDomain;

            this.PossibleActiveDomain.Clear();

            foreach (var domainOfExpertise in sitedir.Domain.OrderBy(x => x.Name))
            {
                var activeDomainRowModel = new ActiveDomainRowViewModel(domainOfExpertise, !this.ShowDeprecatedDomains && !domainOfExpertise.IsDeprecated);
                this.PossibleActiveDomain.Add(activeDomainRowModel);
            }

            foreach (var activeDomain in currentActiveDomain)
            {
                var activeDomainRowModel = this.PossibleActiveDomain.FirstOrDefault(d => d.DomainOfExpertise == activeDomain);

                if (activeDomainRowModel != null)
                {
                    this.ActiveDomain.Add(activeDomainRowModel);
                    activeDomainRowModel.IsEnabled = true;
                }
            }
        }
 /// <summary>
 /// Set active domain inactive state
 /// </summary>
 /// <param name="oldRow">
 ///     <see cref="ActiveDomainRowViewModel" />
 /// </param>
 private void SetInactiveState(ActiveDomainRowViewModel oldRow)
 {
     oldRow.IsEnabled = false;
 }
 /// <summary>
 /// Set active domain active state
 /// </summary>
 /// <param name="newRow">
 ///     <see cref="ActiveDomainRowViewModel" />
 /// </param>
 private void SetActiveState(ActiveDomainRowViewModel newRow)
 {
     newRow.IsEnabled = true;
 }