private bool Step2()

in src/Lucene.Net.Analysis.Common/Analysis/Br/BrazilianStemmer.cs [683:1293]


        private bool Step2()
        {
            if (RV is null)
            {
                return false;
            }

            // suffix lenght = 7
            if (RV.Length >= 7)
            {
                if (Suffix(RV, "issemos"))
                {
                    CT = RemoveSuffix(CT, "issemos");
                    return true;
                }
                if (Suffix(RV, "essemos"))
                {
                    CT = RemoveSuffix(CT, "essemos");
                    return true;
                }
                if (Suffix(RV, "assemos"))
                {
                    CT = RemoveSuffix(CT, "assemos");
                    return true;
                }
                if (Suffix(RV, "ariamos"))
                {
                    CT = RemoveSuffix(CT, "ariamos");
                    return true;
                }
                if (Suffix(RV, "eriamos"))
                {
                    CT = RemoveSuffix(CT, "eriamos");
                    return true;
                }
                if (Suffix(RV, "iriamos"))
                {
                    CT = RemoveSuffix(CT, "iriamos");
                    return true;
                }
            }

            // suffix length = 6
            if (RV.Length >= 6)
            {
                if (Suffix(RV, "iremos"))
                {
                    CT = RemoveSuffix(CT, "iremos");
                    return true;
                }
                if (Suffix(RV, "eremos"))
                {
                    CT = RemoveSuffix(CT, "eremos");
                    return true;
                }
                if (Suffix(RV, "aremos"))
                {
                    CT = RemoveSuffix(CT, "aremos");
                    return true;
                }
                if (Suffix(RV, "avamos"))
                {
                    CT = RemoveSuffix(CT, "avamos");
                    return true;
                }
                if (Suffix(RV, "iramos"))
                {
                    CT = RemoveSuffix(CT, "iramos");
                    return true;
                }
                if (Suffix(RV, "eramos"))
                {
                    CT = RemoveSuffix(CT, "eramos");
                    return true;
                }
                if (Suffix(RV, "aramos"))
                {
                    CT = RemoveSuffix(CT, "aramos");
                    return true;
                }
                if (Suffix(RV, "asseis"))
                {
                    CT = RemoveSuffix(CT, "asseis");
                    return true;
                }
                if (Suffix(RV, "esseis"))
                {
                    CT = RemoveSuffix(CT, "esseis");
                    return true;
                }
                if (Suffix(RV, "isseis"))
                {
                    CT = RemoveSuffix(CT, "isseis");
                    return true;
                }
                if (Suffix(RV, "arieis"))
                {
                    CT = RemoveSuffix(CT, "arieis");
                    return true;
                }
                if (Suffix(RV, "erieis"))
                {
                    CT = RemoveSuffix(CT, "erieis");
                    return true;
                }
                if (Suffix(RV, "irieis"))
                {
                    CT = RemoveSuffix(CT, "irieis");
                    return true;
                }
            }


            // suffix length = 5
            if (RV.Length >= 5)
            {
                if (Suffix(RV, "irmos"))
                {
                    CT = RemoveSuffix(CT, "irmos");
                    return true;
                }
                if (Suffix(RV, "iamos"))
                {
                    CT = RemoveSuffix(CT, "iamos");
                    return true;
                }
                if (Suffix(RV, "armos"))
                {
                    CT = RemoveSuffix(CT, "armos");
                    return true;
                }
                if (Suffix(RV, "ermos"))
                {
                    CT = RemoveSuffix(CT, "ermos");
                    return true;
                }
                if (Suffix(RV, "areis"))
                {
                    CT = RemoveSuffix(CT, "areis");
                    return true;
                }
                if (Suffix(RV, "ereis"))
                {
                    CT = RemoveSuffix(CT, "ereis");
                    return true;
                }
                if (Suffix(RV, "ireis"))
                {
                    CT = RemoveSuffix(CT, "ireis");
                    return true;
                }
                if (Suffix(RV, "asses"))
                {
                    CT = RemoveSuffix(CT, "asses");
                    return true;
                }
                if (Suffix(RV, "esses"))
                {
                    CT = RemoveSuffix(CT, "esses");
                    return true;
                }
                if (Suffix(RV, "isses"))
                {
                    CT = RemoveSuffix(CT, "isses");
                    return true;
                }
                if (Suffix(RV, "astes"))
                {
                    CT = RemoveSuffix(CT, "astes");
                    return true;
                }
                if (Suffix(RV, "assem"))
                {
                    CT = RemoveSuffix(CT, "assem");
                    return true;
                }
                if (Suffix(RV, "essem"))
                {
                    CT = RemoveSuffix(CT, "essem");
                    return true;
                }
                if (Suffix(RV, "issem"))
                {
                    CT = RemoveSuffix(CT, "issem");
                    return true;
                }
                if (Suffix(RV, "ardes"))
                {
                    CT = RemoveSuffix(CT, "ardes");
                    return true;
                }
                if (Suffix(RV, "erdes"))
                {
                    CT = RemoveSuffix(CT, "erdes");
                    return true;
                }
                if (Suffix(RV, "irdes"))
                {
                    CT = RemoveSuffix(CT, "irdes");
                    return true;
                }
                if (Suffix(RV, "ariam"))
                {
                    CT = RemoveSuffix(CT, "ariam");
                    return true;
                }
                if (Suffix(RV, "eriam"))
                {
                    CT = RemoveSuffix(CT, "eriam");
                    return true;
                }
                if (Suffix(RV, "iriam"))
                {
                    CT = RemoveSuffix(CT, "iriam");
                    return true;
                }
                if (Suffix(RV, "arias"))
                {
                    CT = RemoveSuffix(CT, "arias");
                    return true;
                }
                if (Suffix(RV, "erias"))
                {
                    CT = RemoveSuffix(CT, "erias");
                    return true;
                }
                if (Suffix(RV, "irias"))
                {
                    CT = RemoveSuffix(CT, "irias");
                    return true;
                }
                if (Suffix(RV, "estes"))
                {
                    CT = RemoveSuffix(CT, "estes");
                    return true;
                }
                if (Suffix(RV, "istes"))
                {
                    CT = RemoveSuffix(CT, "istes");
                    return true;
                }
                if (Suffix(RV, "areis"))
                {
                    CT = RemoveSuffix(CT, "areis");
                    return true;
                }
                if (Suffix(RV, "aveis"))
                {
                    CT = RemoveSuffix(CT, "aveis");
                    return true;
                }
            }

            // suffix length = 4
            if (RV.Length >= 4)
            {
                if (Suffix(RV, "aria"))
                {
                    CT = RemoveSuffix(CT, "aria");
                    return true;
                }
                if (Suffix(RV, "eria"))
                {
                    CT = RemoveSuffix(CT, "eria");
                    return true;
                }
                if (Suffix(RV, "iria"))
                {
                    CT = RemoveSuffix(CT, "iria");
                    return true;
                }
                if (Suffix(RV, "asse"))
                {
                    CT = RemoveSuffix(CT, "asse");
                    return true;
                }
                if (Suffix(RV, "esse"))
                {
                    CT = RemoveSuffix(CT, "esse");
                    return true;
                }
                if (Suffix(RV, "isse"))
                {
                    CT = RemoveSuffix(CT, "isse");
                    return true;
                }
                if (Suffix(RV, "aste"))
                {
                    CT = RemoveSuffix(CT, "aste");
                    return true;
                }
                if (Suffix(RV, "este"))
                {
                    CT = RemoveSuffix(CT, "este");
                    return true;
                }
                if (Suffix(RV, "iste"))
                {
                    CT = RemoveSuffix(CT, "iste");
                    return true;
                }
                if (Suffix(RV, "arei"))
                {
                    CT = RemoveSuffix(CT, "arei");
                    return true;
                }
                if (Suffix(RV, "erei"))
                {
                    CT = RemoveSuffix(CT, "erei");
                    return true;
                }
                if (Suffix(RV, "irei"))
                {
                    CT = RemoveSuffix(CT, "irei");
                    return true;
                }
                if (Suffix(RV, "aram"))
                {
                    CT = RemoveSuffix(CT, "aram");
                    return true;
                }
                if (Suffix(RV, "eram"))
                {
                    CT = RemoveSuffix(CT, "eram");
                    return true;
                }
                if (Suffix(RV, "iram"))
                {
                    CT = RemoveSuffix(CT, "iram");
                    return true;
                }
                if (Suffix(RV, "avam"))
                {
                    CT = RemoveSuffix(CT, "avam");
                    return true;
                }
                if (Suffix(RV, "arem"))
                {
                    CT = RemoveSuffix(CT, "arem");
                    return true;
                }
                if (Suffix(RV, "erem"))
                {
                    CT = RemoveSuffix(CT, "erem");
                    return true;
                }
                if (Suffix(RV, "irem"))
                {
                    CT = RemoveSuffix(CT, "irem");
                    return true;
                }
                if (Suffix(RV, "ando"))
                {
                    CT = RemoveSuffix(CT, "ando");
                    return true;
                }
                if (Suffix(RV, "endo"))
                {
                    CT = RemoveSuffix(CT, "endo");
                    return true;
                }
                if (Suffix(RV, "indo"))
                {
                    CT = RemoveSuffix(CT, "indo");
                    return true;
                }
                if (Suffix(RV, "arao"))
                {
                    CT = RemoveSuffix(CT, "arao");
                    return true;
                }
                if (Suffix(RV, "erao"))
                {
                    CT = RemoveSuffix(CT, "erao");
                    return true;
                }
                if (Suffix(RV, "irao"))
                {
                    CT = RemoveSuffix(CT, "irao");
                    return true;
                }
                if (Suffix(RV, "adas"))
                {
                    CT = RemoveSuffix(CT, "adas");
                    return true;
                }
                if (Suffix(RV, "idas"))
                {
                    CT = RemoveSuffix(CT, "idas");
                    return true;
                }
                if (Suffix(RV, "aras"))
                {
                    CT = RemoveSuffix(CT, "aras");
                    return true;
                }
                if (Suffix(RV, "eras"))
                {
                    CT = RemoveSuffix(CT, "eras");
                    return true;
                }
                if (Suffix(RV, "iras"))
                {
                    CT = RemoveSuffix(CT, "iras");
                    return true;
                }
                if (Suffix(RV, "avas"))
                {
                    CT = RemoveSuffix(CT, "avas");
                    return true;
                }
                if (Suffix(RV, "ares"))
                {
                    CT = RemoveSuffix(CT, "ares");
                    return true;
                }
                if (Suffix(RV, "eres"))
                {
                    CT = RemoveSuffix(CT, "eres");
                    return true;
                }
                if (Suffix(RV, "ires"))
                {
                    CT = RemoveSuffix(CT, "ires");
                    return true;
                }
                if (Suffix(RV, "ados"))
                {
                    CT = RemoveSuffix(CT, "ados");
                    return true;
                }
                if (Suffix(RV, "idos"))
                {
                    CT = RemoveSuffix(CT, "idos");
                    return true;
                }
                if (Suffix(RV, "amos"))
                {
                    CT = RemoveSuffix(CT, "amos");
                    return true;
                }
                if (Suffix(RV, "emos"))
                {
                    CT = RemoveSuffix(CT, "emos");
                    return true;
                }
                if (Suffix(RV, "imos"))
                {
                    CT = RemoveSuffix(CT, "imos");
                    return true;
                }
                if (Suffix(RV, "iras"))
                {
                    CT = RemoveSuffix(CT, "iras");
                    return true;
                }
                if (Suffix(RV, "ieis"))
                {
                    CT = RemoveSuffix(CT, "ieis");
                    return true;
                }
            }

            // suffix length = 3
            if (RV.Length >= 3)
            {
                if (Suffix(RV, "ada"))
                {
                    CT = RemoveSuffix(CT, "ada");
                    return true;
                }
                if (Suffix(RV, "ida"))
                {
                    CT = RemoveSuffix(CT, "ida");
                    return true;
                }
                if (Suffix(RV, "ara"))
                {
                    CT = RemoveSuffix(CT, "ara");
                    return true;
                }
                if (Suffix(RV, "era"))
                {
                    CT = RemoveSuffix(CT, "era");
                    return true;
                }
                if (Suffix(RV, "ira"))
                {
                    CT = RemoveSuffix(CT, "ava");
                    return true;
                }
                if (Suffix(RV, "iam"))
                {
                    CT = RemoveSuffix(CT, "iam");
                    return true;
                }
                if (Suffix(RV, "ado"))
                {
                    CT = RemoveSuffix(CT, "ado");
                    return true;
                }
                if (Suffix(RV, "ido"))
                {
                    CT = RemoveSuffix(CT, "ido");
                    return true;
                }
                if (Suffix(RV, "ias"))
                {
                    CT = RemoveSuffix(CT, "ias");
                    return true;
                }
                if (Suffix(RV, "ais"))
                {
                    CT = RemoveSuffix(CT, "ais");
                    return true;
                }
                if (Suffix(RV, "eis"))
                {
                    CT = RemoveSuffix(CT, "eis");
                    return true;
                }
                if (Suffix(RV, "ira"))
                {
                    CT = RemoveSuffix(CT, "ira");
                    return true;
                }
                if (Suffix(RV, "ear"))
                {
                    CT = RemoveSuffix(CT, "ear");
                    return true;
                }
            }

            // suffix length = 2
            if (RV.Length >= 2)
            {
                if (Suffix(RV, "ia"))
                {
                    CT = RemoveSuffix(CT, "ia");
                    return true;
                }
                if (Suffix(RV, "ei"))
                {
                    CT = RemoveSuffix(CT, "ei");
                    return true;
                }
                if (Suffix(RV, "am"))
                {
                    CT = RemoveSuffix(CT, "am");
                    return true;
                }
                if (Suffix(RV, "em"))
                {
                    CT = RemoveSuffix(CT, "em");
                    return true;
                }
                if (Suffix(RV, "ar"))
                {
                    CT = RemoveSuffix(CT, "ar");
                    return true;
                }
                if (Suffix(RV, "er"))
                {
                    CT = RemoveSuffix(CT, "er");
                    return true;
                }
                if (Suffix(RV, "ir"))
                {
                    CT = RemoveSuffix(CT, "ir");
                    return true;
                }
                if (Suffix(RV, "as"))
                {
                    CT = RemoveSuffix(CT, "as");
                    return true;
                }
                if (Suffix(RV, "es"))
                {
                    CT = RemoveSuffix(CT, "es");
                    return true;
                }
                if (Suffix(RV, "is"))
                {
                    CT = RemoveSuffix(CT, "is");
                    return true;
                }
                if (Suffix(RV, "eu"))
                {
                    CT = RemoveSuffix(CT, "eu");
                    return true;
                }
                if (Suffix(RV, "iu"))
                {
                    CT = RemoveSuffix(CT, "iu");
                    return true;
                }
                if (Suffix(RV, "iu"))
                {
                    CT = RemoveSuffix(CT, "iu");
                    return true;
                }
                if (Suffix(RV, "ou"))
                {
                    CT = RemoveSuffix(CT, "ou");
                    return true;
                }
            }

            // no ending was removed by step2
            return false;
        }