public int stem(char s[], int len) {if (len < 4) return len;final int origLen = len;len = rule0(s, len);len = rule1(s, len);len = rule2(s, len);len = rule3(s, len);len = rule4(s, len);len = rule5(s, len);len = rule6(s, len);len = rule7(s, len);len = rule8(s, len);len = rule9(s, len);len = rule10(s, len);len = rule11(s, len);len = rule12(s, len);len = rule13(s, len);len = rule14(s, len);len = rule15(s, len);len = rule16(s, len);len = rule17(s, len);len = rule18(s, len);len = rule19(s, len);len = rule20(s, len);if (len == origLen)len = rule21(s, len);return rule22(s, len);}

public virtual int Stem(char[] s, int len){if (len < 4) {return len;}int origLen = len;len = Rule0(s, len);len = Rule1(s, len);len = Rule2(s, len);len = Rule3(s, len);len = Rule4(s, len);len = Rule5(s, len);len = Rule6(s, len);len = Rule7(s, len);len = Rule8(s, len);len = Rule9(s, len);len = Rule10(s, len);len = Rule11(s, len);len = Rule12(s, len);len = Rule13(s, len);len = Rule14(s, len);len = Rule15(s, len);len = Rule16(s, len);len = Rule17(s, len);len = Rule18(s, len);len = Rule19(s, len);len = Rule20(s, len);if (len == origLen){len = Rule21(s, len);}return Rule22(s, len);}
