Iterator linearProduce(Concept c) { if (c.closed) return new ListIterator(c.stringExamples); S[] s = c.matchDescription("concatenation of *"); if (s != null) { Concept element = singular(s[0]); return produceConcatenation(element); } } Iterator produceConcatenation(Concept c) { return new Iterator() { static final int n = 2; boolean hasNext() { return i < n; } (""); todo } }