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));
            }
        }