import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.concurrent.Callable;
class Test {
private static void foo(Runnable runnable) {
System.out.println(runnable);
}
private static void foo(Callable> callable) {
System.out.println(callable);
}
public static void main(String[] args) {
final Collection collection = new ArrayList<>();
final Iterable iterable = collection;
foo(iterable::iterator);
foo(collection::iterator);
}
}