- Tree<String>[] children = new Tree[tree.numChildren()];
- for(int i=0; i<children.length; i++) children[i] = walk(tree.child(i));
- return new Tree<String>(null, head, children);
+ if (children.length==0) return new Tree<String>(null, head, new Tree[0]);
+ return new Tree<String>(null, head, (Tree<String>[])Reflection.lub(children));