Hi Binoy: with around methods we should be able to simulate bypassing. f and f2 should have the same meaning. Please can you verify this with Demeter/Java. -- Karl ====================== BypassingVisitor = boolean. BypassingVisitor { around B (@ if (!bypass) subtraversal.apply(); @) around -> C,d,D (@ if (!bypass) subtraversal.apply(); @) } A{ void f() (@ BypassingVisitor bv = new BypassingVisitor(true); DisplayVisitor dv = new DisplayVisitor(); this.t(bv, dv); @) traversal t(BypassingVisitor, DisplayVisitor) {to Z;} void f2() bypassing {B, -> C,d,D} to Z (DisplayVisitor) }