public open class X: A public interface T: A public open class Y: X() public class Z: Y(), T