/// <summary>
        ///
        /// </summary>
        /// <param name="valueMetadata"></param>
        /// <param name="tableInfo"></param>
        /// <returns></returns>
        private List <TableValueItemInfo> GetTableValueItems(TableValueMetadata valueMetadata, TableInfo tableInfo)
        {
            var valueItems = new List <TableValueItemInfo>();

            foreach (var valueItemMetadata in valueMetadata.ValueItems)
            {
                var valueItem = new TableValueItemInfo();
                valueItem.Value  = valueItemMetadata.Value;
                valueItem.Column = tableInfo.GetColumn(valueItemMetadata.Column?.Name);

                valueItems.Add(valueItem);
            }

            return(valueItems);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private static List <TableValueMetadata> GetTableValues(TableMetadata tableMetadata)
        {
            var result = new List <TableValueMetadata>();

            var enumType = tableMetadata.TableType;
            var values   = Enum.GetValues(enumType);

            foreach (var value in values)
            {
                var valueMetadata = new TableValueMetadata();
                valueMetadata.Table      = tableMetadata;
                valueMetadata.ValueItems = GetValueItemsMetadata(value, tableMetadata).ToList();

                result.Add(valueMetadata);
            }

            return(result);
        }