Some questions: 
1. If there are branches and they are in the range, does the prune always keep one of them and remove others? Or sometimes it doesn't prune any branch?
2. I am thinking if you mark all the walk nodes as visited and stop without any successful pruning. All this walks nodes are visited and can't be continued out by other paths?