import java.util.*; class Node implements Cloneable { public Object type = null; public Node[] children = new Node[10]; public int numchildren = 0; Node() { } Node(Object t) { type = t; } public void addChild(Node n) { numchildren++; if (numchildren > children.length) { Node[] temp = new Node[children.length+10]; for (int i = 0; i < children.length; i++) temp[i] = children[i]; children=temp; } children[numchildren-1] = n; } public Node newChild() { Node temp = new Node(); addChild(temp); return temp; } public Object clone() { Node n = new Node(this.type); for (int i=0; i