package test; import java.util.*; public class RawOverrides { public interface A { E foo(T x, List y); } public class B implements A { @Override public String foo(Object x, List y) { return null; } } public class C { E bar(F x, List> y) { return null; } } public class D extends C { @Override public String bar(CharSequence x, List y) { return null; } } }