import java.util.List; class Test1 { interface A { > String foo(List x); } interface B { > CharSequence foo(List x); } class X { void bar(S x) { x.foo(null); } } } class Test2 { interface A { void foo(); } interface B { void foo(); } abstract class X implements A, B { { foo(); } } }