Eliminação do tipo de genéricos Java dos parâmetros do método

Eu peguei esse de uma conversa de quebra-cabeças de E / S do google dada por Joshua Bloch. Aqui está o código

 public class Glommer<T> {
      String glom(Collection<?> obj){
         String result = "";
         for(Object o : obj){
              result += o;
         }
         return result;
      }

      int glom(List<Integer> ints){
           int result = 0;
           for(int i : ints){
                result += i;
           }
           return result;
       }

      public static void main(String args[]){
           List<String> strings = Arrays.asList("1", "2", "3");
           System.out.println(new Glommer().glom(strings));
      }

este método principal lança uma exceção porquenew Glommer&nbsp;é um tipo bruto e, portanto, todos os genéricos emGlommer&nbsp;é apagado, então acaba chamandoint glom(List<Integer> ints)&nbsp;ao invés deString glom(Collection<?> obj).

Minha pergunta é, mesmo se eu ligueiglom()&nbsp;Comonew Glommer<Integer>().glom(strings)&nbsp;não deveria chamar oint glom(List<Integer> ints)&nbsp;método desde devido ao apagamento de tipo, este método é efetivamenteint glom(List ints)&nbsp;estrings&nbsp;é do tipoList&nbsp;nãoCollection?