private void UpdateLayoutItems(IModelDetailViewLayoutElement element, IModelDetailViewItems items, IMemberInfo member)
    {
        IModelLayoutItem  item  = element as IModelLayoutItem;
        IModelLayoutGroup group = element as IModelLayoutGroup;

        if (group != null)
        {
            foreach (IModelDetailViewLayoutElement element1 in group)
            {
                UpdateLayoutItems(element1, items, member);
            }
        }
        else if (item != null)
        {
            RemoveFromGroup(item);     // you just need to code this bit of magic
        }
    }
        internal static void MapModelLayoutItem(
            IModelLayoutItem modelLayoutItem,
            LayoutItemLeaf layoutItemLeaf
            )
        {
            if (layoutItemLeaf.SizeConstraintsType is not null)
            {
                modelLayoutItem.SizeConstraintsType =
                    layoutItemLeaf.SizeConstraintsType ?? modelLayoutItem.SizeConstraintsType;
            }

            if (layoutItemLeaf.MinSize is not null)
            {
                modelLayoutItem.MinSize =
                    layoutItemLeaf.MinSize ?? modelLayoutItem.MinSize;
            }

            if (layoutItemLeaf.MaxSize is not null)
            {
                modelLayoutItem.MaxSize =
                    layoutItemLeaf.MaxSize ?? modelLayoutItem.MaxSize;
            }
        }