/// <summary>
        /// Convert an IEnumerable to a LayoutList
        /// </summary>
        /// <param name="layouts">A list of LayoutInfo objects.</param>
        /// <returns>A LayoutList</returns>
        public static LayoutList ToLayoutList(this IEnumerable <LayoutInfo> layouts)
        {
            LayoutList result = new LayoutList();

            foreach (var layout in layouts)
            {
                if (layout.IsValid())
                {
                    var parent = layout.Parent;
                    result.Add(layout);
                    result.Last().Parent = parent;
                }
            }

            return(result);
        }
        /// <summary>
        /// Convert an IEnumerable to a LayoutList
        /// </summary>
        /// <param name="layouts">A list of LayoutInfo objects.</param>
        /// <param name="parent">A ConcernInfo object.</param>
        /// <returns>A LayoutList</returns>
        public static LayoutList ToLayoutList(
            this IEnumerable <LayoutInfo> layouts,
            ConcernInfo parent)
        {
            var result = new LayoutList();

            if (parent.IsValid())
            {
                foreach (var layout in layouts)
                {
                    if (layout.IsValid())
                    {
                        result.Add(layout);
                        result.Last().Parent = parent;
                    }
                }
            }

            return(result);
        }