for( Iterator<Edge> i = edges.iterator(); i.hasNext(); ) {
Edge edge = i.next();
Node neighbor = edge.getNeighbor( x );
if( !neighbor.hasType( c ) && !neighbor.hasType( ATermUtils.negate( c ) ) ) {
ChooseBranch newBranch = new ChooseBranch( strategy.getABox(), strategy, neighbor, c, x
.getDepends( maxCard ) );
strategy.addBranch( newBranch );
newBranch.tryNext();
if( strategy.getABox().isClosed() )
return;
}
}