void reinterpret(MesquiteTree tree, int node) { if (tree.nodeIsInternal(node)) { if (tree.nodeHasLabel(node)) { String label = tree.getNodeLabel(node); if (isNumber) { double d = MesquiteDouble.fromString(label); if (MesquiteDouble.isCombinable(d)) tree.setAssociatedDouble(nameRef, node, d, appliesToBranch); } else { tree.setAssociatedObject(nameRef, node, label, appliesToBranch); } if (deleteAfter) tree.setNodeLabel(null, node); } for (int daughter = tree.firstDaughterOfNode(node); tree.nodeExists(daughter); daughter = tree.nextSisterOfNode(daughter)) { reinterpret(tree, daughter); } } }