Some times, well a lot of times I see this thing occurring in the documentation. It leaves me wondering what to type. Could someone explain to me the meaning of this in clear dumbed down text :D. How this:

```
ArrayList(Collection<? extends E> c)

```

end up to be used as this:

```
new ArrayList<>(Arrays.asList("a","b","c"));

```

so I don't need to ask this "question" anymore by googling it, but being able to figure it out by myself.