private static String toStringNode(Node node, Dataset dataset, String[] attrNames,
Map<String, Field> fields, int layer) throws IllegalAccessException {
StringBuilder buff = new StringBuilder();
if (node instanceof CategoricalNode) {
CategoricalNode cnode = (CategoricalNode) node;
int attr = (Integer) fields.get("CategoricalNode.attr").get(cnode);
double[] values = (double[]) fields.get("CategoricalNode.values").get(cnode);
Node[] childs = (Node[]) fields.get("CategoricalNode.childs").get(cnode);
String[][] attrValues = (String[][]) fields.get("Dataset.values").get(dataset);
for (int i = 0; i < childs.length; i++) {