public void Remove(DashboardNodeProperty property)
 {
     GroupedProperties.Remove(property);
     property.Group = null;
 }
 private void CheckType(DashboardNodeProperty property)
 {
     if (GroupedProperties.Any() &&
         property.PropertyInfo.PropertyType != GroupedProperties.First().PropertyInfo.PropertyType)
         throw new InvalidOperationException(string.Format("Wrong property type: {0}",
             property.PropertyInfo.PropertyType));
 }
        public void Add(DashboardNodeProperty property)
        {
            CheckType(property);

            if (GroupedProperties.Contains(property))
                return;

            GroupedProperties.Add(property);
            property.Group = this;
            property.Proxy.Value = GroupedProperties.First().Proxy.Value;
        }