Por que o TreeSet do Java <E> remove (Object) não recebe um E
Do Java 6TreeSet<E>
Documentação:
boolean remove(Object o):
Removes the specified element from this set if it is present.
Por que isso aceita um objeto em vez do tipo genérico E? Os únicos objetos que podem ser adicionados são do tipo E, portanto, o único tipo removível deve ser do tipo E.