Apposto ho risolto..mi è rimasto solo un dubbio..secondo voi perchè fa il controllo sul metodo equals:

codice:
if(o==null || !getClass().equals(o.getClass()))
	return false;
capisco il fatto di controllare se o è null, ma a cosa serve vedere se i due oggetti provengono dalla stessa classe?!? vuol dire che non posso utilizzare questo metodo su due oggetti provenienti da classi differenti giusto? grazie e scusate ancora per la mia ignoranza..XD