SetIteratorEncodingEdge *edgeit = n->edges.iterator();
while (edgeit->hasNext()) {
EncodingEdge *ee = edgeit->next();
if (!discovered.contains(ee->left) && nodes.contains(ee->left) && ee->left->s->exists(value)) {
tovisit.push(ee->left);
discovered.add(ee->left);
SetIteratorEncodingEdge *edgeit = n->edges.iterator();
while (edgeit->hasNext()) {
EncodingEdge *ee = edgeit->next();
if (!discovered.contains(ee->left) && nodes.contains(ee->left) && ee->left->s->exists(value)) {
tovisit.push(ee->left);
discovered.add(ee->left);