The two seem to give the same result. What am I missing? Thanks.
List<List<?>>
<==> List<List<? extends Object>>
<==> List<List<Number>> **(for example)**
List<? extends List<?>>
<==> List<? extends List<? extends Object>>
<==> List<? extends List<Number>> **(for example)**
<==> List<List<Number>> **(List<Number> is a subtype of ? extends List<Number>**
>`. Then try passing the same type into a method that takes a parameter of type `List extends List>>`.