/// <summary>
        /// Adds a new element view model for the given element.
        /// </summary>
        /// <param name="element">Element.</param>
        public void AddProperty(DomainProperty element)
        {
            if (element == null)
            {
                return;
            }

            // verify that node hasnt been added yet
            foreach (DomainPropertyViewModel viewModel in this.propertiesVM)
            {
                if (viewModel.DomainProperty.Id == element.Id)
                {
                    return;
                }
            }

            DomainPropertyViewModel vm = new DomainPropertyViewModel(this.ViewModelStore, element, this);

            this.propertiesVM.Add(vm);

            OnPropertyChanged("HasDomainProperties");
            OnPropertyChanged("PropertiesDescription");
        }
        /// <summary>
        /// Adds a new element view model for the given element.
        /// </summary>
        /// <param name="element">Element.</param>
        public void AddProperty(DomainProperty element)
        {
            if (element == null)
                return;

            // verify that node hasnt been added yet
            foreach (DomainPropertyViewModel viewModel in this.propertiesVM)
                if (viewModel.DomainProperty.Id == element.Id)
                    return;

            DomainPropertyViewModel vm = new DomainPropertyViewModel(this.ViewModelStore, element, this);
            this.propertiesVM.Add(vm);

            OnPropertyChanged("HasDomainProperties");
            OnPropertyChanged("PropertiesDescription");
        }