if( unexploredBranch.getTryNext() < unexploredBranch.getTryCount() ) {
restore( unexploredBranch );
System.out.println( "restoring branch " + unexploredBranch.getBranch()
+ " tryNext = " + unexploredBranch.getTryNext()
+ " tryCount = " + unexploredBranch.getTryCount() );
unexploredBranch.tryNext();
break;
}
else {
System.out.println( "removing branch " + unexploredBranch.getBranch() );
abox.getBranches().remove( i );