// search for branch with lowest Z-pure
for (Enumeration e = currentNode.children(); e.hasMoreElements(); ) {
Splitter split = (Splitter) e.nextElement();
for (int i=0; i<split.getNumOfBranches(); i++) {
Instances posSplit = split.instancesDownBranch(i, posInstances);
Instances negSplit = split.instancesDownBranch(i, negInstances);
double newZpure = calcZpure(posSplit, negSplit);
if (newZpure < lowestZpure) {
lowestZpure = newZpure;
bestPath = split.getChildForBranch(i);