/* another tricky mutual recursion */ public class mainer { public static void main(String [] args) { foo f = new foo(); f.a(); // may cause non-termination if we process main first System.out.println("done."); } } class foo { public boolean x = false; public foo() {} public inline void a() { System.out.println("a"); if (x) b(); } public inline void b() { System.out.println("b"); if (x) a(); } }