question: check that the iterator has either cleanly closed or the version stamp is still valid concode_field_sep Triple lookAhead concode_elem_sep ConsumerChoicePointFrame nextToRun concode_elem_sep boolean checkReadyNeeded concode_elem_sep int initialVersion concode_elem_sep LPInterpreter interpreter concode_elem_sep BackwardRuleInfGraphI infgraph concode_elem_sep Set<ConsumerChoicePointFrame> choicePoints concode_elem_sep boolean isReady concode_elem_sep boolean lookaheadValid concode_field_sep void setReady concode_elem_sep Triple next concode_elem_sep void moveForward concode_elem_sep void checkClosed concode_elem_sep boolean isReady concode_elem_sep boolean hasNext concode_elem_sep void notifyFinished concode_elem_sep void close concode_elem_sep void remove concode_elem_sep void notifyBlockedOn
target: void function ( ) { if ( initialVersion != infgraph . getVersion ( ) ) { throw new ConcurrentModificationException ( ) ; } }