public class A {
  private boolean toggle = false;

  public S s() {
    System.out.println("A.s() being called");

    toggle = !toggle;
    
    if(toggle) return new B(new C());
    else return new X(new C());
  }
}

