static ItIt splitAtSpaceIterator(S s) { ret iff_null(new IF0 { int i = 0, n = l(s); public S get() { // skip space(s) while (i < l) { c = s.charAt(i); if (isSpace(c)) ++i; else break; } if (i >= l) null; int j = i; // scan for non-whitespace while (j < l && !isSpace(s.charAt(j))) ++j; S s = substring(s, i, j); i = j; ret s; } }); }