/** ^(A B C): emit create A, create B, add child, ... */
 protected void simulateTreeConstruction(Object t) {
   dbg.createNode(t);
   int n = adaptor.getChildCount(t);
   for (int i = 0; i < n; i++) {
     Object child = adaptor.getChild(t, i);
     simulateTreeConstruction(child);
     dbg.addChild(t, child);
   }
 }
 public Object getChild(Object t, int i) {
   return adaptor.getChild(t, i);
 }