Boa noite, primeiro post, preciso de vocês 
Só uma dúvida besta, mas eu odeio não entender alguma coisa e eu não vi lógica no seguinte:
Método para adicionar no fim de uma Lista ligada:
public void adiciona(Object elemento) {
if (this.totalDeElementos == 0) {
this.adicionaNoComeco(elemento);
} else {
Celula nova = new Celula(elemento);
this.ultima.setProxima(nova);
this.ultima = nova;
this.totalDeElementos++;
}
}
}
Estou seguindo a apostila da Caelum pra aprender estrutura de dados, mas não entendi porque dentro do else ele chama o this.ultima.setProxima(nova).
Se na próxima linha o this.ultima é referenciado com o endereço do objeto do nova, a chamada deste método não acabou sendo inútil? Ou eu que não entendi o propósito?
Abraços!