// these are for the new system

        // this lists each data description
        public static void ListDescriptions()
        {
            RevDataDescription dx = RevDataDescription.GetInstance;

            logMsg2($"{"EItem",-26}");
            logMsg2($"{"col"           ,-04} ");
            logMsg2($"{"source"        ,-22}");
            logMsg2($"{"type"          ,-12}");
            logMsg2($"{"usage"         ,-10}");
            logMsg2($"{"visible"       ,-07} ");
            logMsg2($"{"colw"          ,-04} ");
            logMsg2($"{"fmt str"       ,-10}");

            logMsg2(nl);


            foreach (KeyValuePair <EItem, DataDescription> kvp in dx)
            {
                logMsg2($"{kvp.Key                       ,-26}");
                logMsg2($"{kvp.Value.Column              , 04:D} ");
                logMsg2($"{kvp.Value.Source              ,-22}");
                logMsg2($"{kvp.Value.Type                ,-12}");
                logMsg2($"{kvp.Value.Useage              ,-10}");
                logMsg2($"{kvp.Value.Visible             ,-07} ");
                logMsg2($"{kvp.Value.Display.ColumnWidth , 04:D} ");
                logMsg2($"{kvp.Value.Display.FormatString,-10}");
                logMsg2(nl);
            }
        }
        public static void ListRevInfo2_1(SortedList <string, RevDataItems2> revInfo2)
        {
            if (revInfo2 == null)
            {
                return;
            }

            logMsgLn2("item count", revInfo2.Count);

            RevDataDescription desc = RevDataDescription.GetInstance;

            foreach (KeyValuePair <string, RevDataItems2> kvp in revInfo2)
            {
                logMsg2(nl);

                logMsgLn2(desc[REV_KEY].Title,
                          ">" + kvp.Key + "<");

                for (int i = 0; i < (int)REV_ITEMS_LEN; i++)
                {
                    logMsgLn2(desc[i].Title, kvp.Value[i] ?? "");
                }
            }
        }