Método Genérico é só pra restringir quem o usa?

Pessoal, só para esclarecimento, quando eu coloco um método genérico
a intenção é restringir quem pode utilizar esse método?

Por exemplo, eu tenho a minha super classe e tenho as minhas subclasses
o método abaixo só pode ser usado por quem herdar de Superclasse?

public <T extends SuperClasse> List<E> metodo(List<E> lista){ //meu código... }

Engraçado, postei isso aqui hoje, em outro tópico:
http://www.guj.com.br/posts/list/15/70635.java#757943

Li o tópico, mas não tive a resposta para minha perguntinha. O povo disse das vantagens do generics, mas ele faz o que eu perguntei acima?

Restringe o uso dos métodos somente para os subtipos explícitos?

Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:

Para um método que só aceite pais de SuperClasse:

[quote=ViniGodoy]Sim. POr exemplo, para um método que só aceite Lists de SuperClasse:

Para um método que só aceite pais de SuperClasse:

[/quote]

Nâo, não, repare que lá no meu primeiro tópico o método está assim:

public <T extends SuperClasse> List<E> metodo(List<E> lista){ //meu código... }

Minha pergunta é sobre o trecho no começo do método public <? extends SuperClasse> esse trechinho do código restringe a utilização do método somente para subtipos de "SuperClasse"?