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