private string ToPlural(string str)
        {
            var word    = GetLastWord(str);
            var newWord = Plurals.ToPlural(word);

            if (word != newWord)
            {
                if (char.IsUpper(word[0]))
                {
                    newWord = char.ToUpper(newWord[0]) + newWord.Substring(1, newWord.Length - 1);
                }

                return(word == str ? newWord : str.Substring(0, str.Length - word.Length) + newWord);
            }

            return(str);
        }
        private string ToSingular(string str)
        {
            if (str.ToLowerInvariant().EndsWith("ess"))
            {
                return(str);
            }

            var word    = GetLastWord(str);
            var newWord = Plurals.ToSingular(word);

            if (word != newWord)
            {
                if (char.IsUpper(word[0]))
                {
                    newWord = char.ToUpper(newWord[0]) + newWord.Substring(1, newWord.Length - 1);
                }

                return(word == str ? newWord : str.Substring(0, str.Length - word.Length) + newWord);
            }

            return(str);
        }