import java.util.Iterator; import java.util.List; import java.util.Set; class MyTest { interface I { List m(Set s); } List foo(I i){return null;} List bar(List l) {return l;} List bar(String s) {return null;} String baz(String b, String x) {return b;} List baz(Iterator s, Iterator i) {return null;} { List l = foo(a -> bar(baz(a.iterator(), a.iterator()))); } }