abstract class A{ abstract S foo(S x, S y); > void baz(A a){} void bar(A x, A y){ baz(foo(x, y)); } } abstract class A1{ abstract S foo(S x, S y); , S extends Number & Comparable> void baz(A1 a){} void bar(A1 x, A1 y){ baz(foo(x, y)); } }