static ItIt parseExtendedCSV_iterator(ExtendedCSVParser parser default new, S csv) { parser.csv = csv; ret iff_endOnNull(new IF0() { new LS currentRecord; bool recordComplete; { parser.onValueFound = v -> currentRecord.add(v); parser.onEndOfRecord = () -> set recordComplete; } public LS get() { while (!recordComplete) if (!parser.step()) null; recordComplete = false; LS record = currentRecord; currentRecord = new L; ret record; } }); }