private void OnDeleteClick(object sender, RoutedEventArgs e)
        {
            List <Domain.AttributeValue> attributeValues = GetSelectedValues();

            if (attributeValues.Count == 0)
            {
                return;
            }
            String message = "Do you want to delete AttributeValue: '" + attributeValues[0] + "' ?";

            if (attributeValues.Count > 1)
            {
                message = "Do you want to delete the " + attributeValues.Count + " selected attributeValues ?";
            }
            MessageBoxResult result = Kernel.Util.MessageDisplayer.DisplayYesNoQuestion("Delete AttributeValue", message);

            if (result == MessageBoxResult.Yes)
            {
                foreach (Domain.AttributeValue attributeValue in attributeValues)
                {
                    if (IsUsedToGenerateUniverse(attributeValue))
                    {
                        return;
                    }
                    Domain.AttributeValue parent = attributeValue.parent;

                    ForgetDefaultAttributeValues(parent);
                    if (attributeValue.oid.HasValue)
                    {
                        parent.RemoveChild(attributeValue);
                    }
                    else
                    {
                        parent.ForgetChild(attributeValue);
                    }
                    AddDefaultAttributeValues(parent);
                    removeFromSource(attributeValue);
                }
                if (Changed != null)
                {
                    Changed();
                }
            }
        }