import java.util.Collection; import java.util.List; interface A { & List> void foo(S x); } class B implements A { public void foo(Collection x) { } public & Collection> void foo(S x) { } }