buff.append(attrNames == null ? attr : attrNames[attr]).append(" = ")
.append(attrValues[attr][i]);
buff.append(toStringNode(childs[index], dataset, attrNames, fields, layer + 1));
}
} else if (node instanceof NumericalNode) {
NumericalNode nnode = (NumericalNode) node;
int attr = (Integer) fields.get("NumericalNode.attr").get(nnode);
double split = (Double) fields.get("NumericalNode.split").get(nnode);
Node loChild = (Node) fields.get("NumericalNode.loChild").get(nnode);
Node hiChild = (Node) fields.get("NumericalNode.hiChild").get(nnode);
buff.append('\n');