text: public virtual int Apply(char[] s, int len){if (len < m_min){return len;}if (m_suffixes != null){bool found = false;for (int i = 0; i < m_suffixes.Length; i++){if (StemmerUtil.EndsWith(s, len, m_suffixes[i])){found = true;break;}}if (!found){return len;}}for (int i = 0; i < m_rules.Length; i++){if (m_rules[i].Matches(s, len)){return m_rules[i].Replace(s, len);}}return len;}