public static TableFramer From <T>(IEnumerable <T> values)
        {
            var table = new TableFramer
            {
                ColumnTypes = GetColumnsType <T>().ToArray()
            };

            var columns = GetColumns <T>();

            table.AddColumn(columns);

            foreach (
                var propertyValues
                in values.Select(value => columns.Select(column => GetColumnValue <T>(value, column)))
                )
            {
                table.AddRow(propertyValues.ToArray());
            }

            return(table);
        }
        public static void PrintFullModel(IEnumerable <TimeCutoffModel> SortedList)
        {
            Console.WriteLine("The whole list of items\n");

            var table = new TableFramer(
                "NodeId",
                "UserRoleDoc",
                "ScanTime",
                "ContainerNavisTime",
                "BillsTime",
                "UserLastLoginDoc",
                "DocLastUpdate",
                "UserTime",
                "DocTime",
                "ProtocolTime",
                "DangerClass"
                );

            foreach (var item in SortedList)
            {
                table.AddRow(
                    item.NodeId,
                    item.UserRoleDoc,
                    item.ScanTime,
                    item.ContainerNavisTime,
                    item.BillsOfLadingTimeStamp,
                    item.UserLastLoginDoc,
                    item.DocLastUpdate,
                    item.UserTime,
                    item.DocTime,
                    item.ProtocolTime,
                    item.DocInnerDangerClassificationStatus
                    );
            }
            table.Write();
        }