I am new to Java. 

Java has Collection interface 

```
public interface Collection<E> extends Iterable<E>
{ // a lot of other stuff. 
Iterator<E> iterator();  }

```

What I don't understand is how does Iterator Interface is tying into Collection Interface ? When I look at the Collection Interface, I see that it has a method that returns Iterator. When Iterator for Collection is created, where does JVM looks to create an object that IS-An Iterator ?  

Thanks !