interface IA { void foo(T x); void foo(T x); } abstract class A { abstract & Iterable> void foo(T x, A y); abstract > void foo(T x, A y); }