public A(int a, X2 x) { this.a = a; this.x = x; }
public A(IX x) { this.x = x; }
public A(int a, IX x) { this.a = a; this.x = x; }
public class XDecorator2 : IX { public XDecorator2(IX d) { }
public class CyclicXDecorator3 : IX { public CyclicXDecorator3(IX d, A a) { }
public class CyclicX : IX { public CyclicX(IX c) { }
} // Depending on itself public class XDecorator1 : IX { public XDecorator1(IX d) { }
public Z(IX x) { this.x = x; }
public class B { public B(IX c) { }
public class B { public B(IX x) { }
public XX(IX item) { SingleItem = item; }
public int CompareTo(IX obj) { return(this.T1.equals(obj.T1)); }