static L flexMatchIC2_left_multi(L tokpat, L toks) { new L out; if (l(tokpat) == 7 && eq(tokpat.get(1), "*") && neq(tokpat.get(3), "*") && eq(tokpat.get(5), "*")) { S middle = tokpat.get(3); for (int i : reverseIndexesOf(toks, middle)) if (i > 1 && i < l(toks)-2) out.add(new Matches(join(subList(toks, 1, i-1)), join(subList(toks, i+2, l(toks)-1)))); } else { new Matches m; if (flexMatchIC2_left(tokpat, toks, m, false)) out.add(m); } ret out; }