Tree { {{ Integer sum_labelsDJ(TraversalGraph labelsOfInterest) throws Exception { Visitor[] visitors = new Visitor[1]; SummingVisitorDJ s = SummingVisitorDJ.parse("0"); visitors[0] = (Visitor) s; // DisplayVisitor d = new DisplayVisitor(); // visitorVector.addElement(d); Integer result = (Integer) labelsOfInterest.traverse((Object) this, visitors); return result; } }} } SummingVisitorDJ { {{ public void start() { total=0; System.out.println("begin"); } public void before(Label o) { total += o.get_v(); System.out.println("before Label"); } public Object getReturnValue() {return new Integer(total);} }} }