the reason <? extends String> fails, while <? super String> is successful, is purely a matter of scope. A specific generic type method signature... ...cannot be accessed when the initialization of the generic instance was created with wildcards...
For Example: