static S commonSuffixCI(S a, S b) { int i = 0, nb = b.length(), na = a.length(), n = min(na, nb); while (i < n && eqic(a.charAt(na-1-i), b.charAt(nb-1-i))) ++i; return i == nb ? b : substring(a, na-i); } static S commonSuffixCI(L l) { if (empty(l)) ret ""; S s = first(l); for (int i = 1; i < l(l); i++) { if (empty(s)) ret s; s = commonSuffixCI(s, l.get(i)); } ret s; }