yes henry, you are perfectly right in your explanation.
but am in desparate need of guidance.
the following is what i learned from kathy book.
public void addAnimal(List<? super Dog> animals)
is essentially, "Hey compiler, please accept any List with a generic type that is of type Dog, or a supertype of Dog.
<? super ...> syntax, you are telling
the compiler that you can accept the type on the right-hand side of super or any of its supertypes.
my case, looks similar to this. but...
can someone explain this please..