static L findStreaks(L l, O pred) { new L out; int i = 0, n = l(l); while (i < n) { int j = i; while (j < n && isTrue(callF(pred, l.get(j)))) ++j; if (j > i) out.add(intRange(i, j)); i = j+1; } ret out; } static L findStreaks(O pred, L l) { ret findStreaks(l, pred); }