Main { {{ public static void main(String[] args) throws Exception { AC ac = AC.parse(System.in); ac.print(); System.out.println(); System.out.println("done 1"); ac.display(); System.out.println(); System.out.println("done 2"); ac.display_all(); System.out.println(); System.out.println("done 3"); // DJ ClassGraph cg = new ClassGraph(true, false); ClassGraph cgCommandsWithoutTail = new ClassGraph(cg, "from AC bypassing -> *,tail,* to *"); ac.process(new TraversalGraph("from AC to ParticipantDef", cg)); System.out.println("done"); } }} } ParticipantName { void print() to Ident (PrintVisitor); } AC { void display_all() bypassing -> *,tail,* to * (DisplayVisitor); } AC { void display() bypassing -> *,tail,* to Attachment (DisplayVisitor); } AC { void print() to * (PrintVisitor); } AC { {{ void process(TraversalGraph where) { Visitor cV = new Visitor() { void before(ParticipantDef host){ System.out.println("participant name "); host.get_name().print(); System.out.println(); }; public void start() {System.out.println("start the traversal");} }; where.traverse(this, cV); } }} }