public override void LoadFrom(FilterItem value) { var group = value as FilterItemGroup; if (group != null) { foreach (var item in group.Children) { Children.Add(FilterItemBuilder.GetBuilder(item)); } GroupType = group.GroupType; } else { throw new ArgumentException($"Unexpected FilterItem. Expected {nameof(FilterItemGroup)} got {value?.GetType()}", nameof(value)); } }