Iterator<DfaVariableValue> () { return new Iterator<>() { int pos; @Override public boolean hasNext() { return pos < size(); } @Override public DfaVariableValue next() { if (pos >= size()) throw new NoSuchElementException(); return (DfaVariableValue)myFactory.getValue(get(pos++)); } }; }