private static IElement_TileSubgroupChild ConvertToSubgroupChildElement(ITileSubgroupChild child)
        {
            if (child is TileText)
                return (child as TileText).ConvertToElement();

            else if (child is TileImage)
                return (child as TileImage).ConvertToElement();

            else
                throw new NotImplementedException("Unknown child: " + child.GetType());
        }
        private static IElement_TileSubgroupChild ConvertToSubgroupChildElement(ITileSubgroupChild child)
        {
            if (child is TileText)
            {
                return((child as TileText).ConvertToElement());
            }

            else if (child is TileImage)
            {
                return((child as TileImage).ConvertToElement());
            }

            else
            {
                throw new NotImplementedException("Unknown child: " + child.GetType());
            }
        }