Stavo parlando del fatto che per come hai denominato il campo ("utentePresentato") e per come hai gestito la lista, il concetto di "presentato" non è molto chiaro/sensato.
Se inserisci Utente1 e poi Utente2, nel nodo di Utente2 c'è scritto sostanzialmente: utentePresentato=Utente1
Ma come fa Utente2 ad aver presentato Utente1 se quest'ultimo è stato inserito per primo?
Inoltre il fatto di fare "push" separate es.
x.push(utente1);
x.push(utente2);
Non rende affatto chiaro se c'è un concetto di "presentato" e come è applicato. E tra l'altro, come impedisci che push venga invocato più volte con lo stesso utente o con un utente già inserito in precedenza?