abstract class A { abstract void foo(Enum x); } class B extends A { void foo(Enum> x) { } }