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);
     }
   }
 }