class Test{ class A { B x; class B { public void put(T x, Z y){} public Z getZ(){} public T getT(){} } } class C extends A{} { new C().new B().getT().byteValue(); } }