import edu.neu.ccs.demeter.dj.*; class Main { public static void main(String[] args) { ClassGraph cg = new ClassGraph(true,false); // constructed by reflection System.out.println("Class graph"); System.out.println(cg); System.out.println("End of Class graph"); A a = new A(new B(new D(new E(new F(7)))), new C()); // cg.traverse(a, new StrategyGraph("A->F"), new MyVisitor()); Strategy sg = new Strategy("from A to F"); TraversalGraph tg = new TraversalGraph(sg, cg); tg.traverse(a, new MyVisitor()); F result = (F) tg.fetch(a); System.out.println(" found " + result.i); System.out.println("Traversal Graph for from A to F"); System.out.println(tg); } }