public static char GetEscapeChar(HierachicalStructureSeperator hss)
        {
            switch (hss)
            {
            case HierachicalStructureSeperator.SeperatorForwardSlash: return('\\');

            case HierachicalStructureSeperator.SeperatorRSlash: return('\\');

            case HierachicalStructureSeperator.SeperatorDot: return('\\');

            case HierachicalStructureSeperator.SeperatorUnderscore: return('\\');

            case HierachicalStructureSeperator.SeperatorPercent: return('%');

            case HierachicalStructureSeperator.SeperatorRecSep: return('\\');

            case HierachicalStructureSeperator.SeperatorThreePlus: return('\\');

            case HierachicalStructureSeperator.SeperatorTab: return('\\');

            default:
                throw new ArgumentOutOfRangeException(nameof(hss), hss, null);
            }
        }
        public static string GetSeperator(HierachicalStructureSeperator hss)
        {
            switch (hss)
            {
            case HierachicalStructureSeperator.SeperatorForwardSlash: return("/");

            case HierachicalStructureSeperator.SeperatorRSlash: return("\\");

            case HierachicalStructureSeperator.SeperatorDot: return(".");

            case HierachicalStructureSeperator.SeperatorUnderscore: return("_");

            case HierachicalStructureSeperator.SeperatorPercent: return("%");

            case HierachicalStructureSeperator.SeperatorRecSep: return("%1E%");

            case HierachicalStructureSeperator.SeperatorThreePlus: return("+++");

            case HierachicalStructureSeperator.SeperatorTab: return("\t");

            default:
                throw new ArgumentOutOfRangeException(nameof(hss), hss, null);
            }
        }