import java.util.Collection; import java.util.Set; class FooObject {} class FooId {} interface Bar { > T get(I key); > Collection get(Collection keys); } class Target { void foo(Bar bar) { final Set> keys = null; final Collection values = bar.get(keys); } }