allora a parte il titolo (forse qualche moderatore ti bacchetterą) una cosa che non č molto elegante da vedere (e che puņ farti confondere) č questa:

codice:
if((E)tmp.getElement().compareTo((E)node2.getElement()))
in genere dividi sempre i cast (se uno non va a buon fine č pił facile capirlo.

Poi per quanto riguarda l'uso dei generics, fai una specifica di tipo ma alla dichiarazione dell'elemento (che puņ anche stare in un'interfaccia).
Detto questo, come č dichiarato l'elemento?