Essa parte do código não está clara pra mim. Não consigo distinguir quem é a última, a nova, a atual. Tentei desenhando, pegando a transcrição, mas não tive sucesso.
Celula nova = new Celula(elemento);
this.ultima.setProxima(nova);
nova.setAnterior(this.ultima);
this.ultima = nova;
this.totalDeElementos++;
Criamos uma nova célula.
// a partir daqui, não entendi.
A última foi apontou a próxima para essa nova célula. (A ÚLTIMA FOI APONTOU?)
A nova aponta a anterior para a última atual.
A última atual agora é a nova célula.