throw new IllegalArgumentException("Branch root must start with a '/', but is " + branchRoot);
this.tree = tree;
this.branchRoot = branchRoot;
this.ordered = ordered;
tree.addListener(branchRoot, new Listener() {
@Override
public void nodeChildAdded(String node, String childName) {
assert node.equals(branchRoot);
DistributedBranchHelper.this.nodeAdded(childName);
}