public string GetCommonPrefix()
        {
            if (EnumConstants.Count < 2)
            {
                return("");
            }

            string prefix = "";
            int    i      = 0;

            while (true)
            {
                char c = EnumConstants[0][i];
                if (!EnumConstants.All(e => e[i] == c))
                {
                    break;
                }
                if (EnumConstants.Any(e => e.Length == i))
                {
                    // Prefix is already one of the enumerators,
                    // can't use this prefix
                    return("");
                }
                i++;
                prefix += c;
            }
            return(prefix);
        }
        public string GetCommonSuffix()
        {
            if (EnumConstants.Count < 2)
            {
                return("");
            }

            string suffix = "";
            int    i      = 1;

            while (true)
            {
                string enumConstant = EnumConstants[0];
                char   c            = enumConstant[enumConstant.Length - i];
                if (!EnumConstants.All(e => e[e.Length - i] == c))
                {
                    break;
                }
                i++;
                suffix = c + suffix;
            }
            return(suffix);
        }