/// <summary>
        /// Handle the organization changing by repopulating the list of available groups.
        /// </summary>
        /// <param name="sender">This.</param>
        /// <param name="eventArgs">The event arguments.</param>
        private static void OnTenantChanged(DependencyObject sender, DependencyPropertyChangedEventArgs eventArgs)
        {
            SelectSingleGroup group     = sender as SelectSingleGroup;
            GroupList         groupList = new GroupList((Guid)eventArgs.NewValue);

            groupList.Initialized += (s, e) =>
                                     group.Populate(groupList);

            if (group.otherGroups.ItemsSource != null)
            {
                (group.otherGroups.ItemsSource as GroupList).Dispose();
            }

            group.otherGroups.ItemsSource = groupList;
        }
        /// <summary>
        /// Handle the group changing.
        /// </summary>
        /// <param name="sender">The SelectSingleGroup whose Group has changed.</param>
        /// <param name="eventArgs">The event arguments.</param>
        private static void OnGroupChanged(DependencyObject sender, DependencyPropertyChangedEventArgs eventArgs)
        {
            SelectSingleGroup select = sender as SelectSingleGroup;

            if (select.Group != null)
            {
                if (select.Group.GroupType == GroupType.User && select.Group.TenantId == select.Tenant)
                {
                    select.standardUser.IsChecked = true;
                }
                else if (select.Group.GroupType != GroupType.Custom && select.Group.TenantId == select.Tenant)
                {
                    select.administrator.IsChecked = true;
                }
                else
                {
                    select.other.IsChecked = true;
                }
            }
        }