Manipulação de lista dinâmica duplamente encadeada

Criei a classe Celula :

package model;

public class Celula {

private Celula proxima;
private Celula anterior;
private Object elemento;
  public Celula(Celula proxima, Object elemento) {
    this.proxima = proxima;
    this.elemento = elemento;
  }
  
  public Celula(Object elemento) {
    this.elemento = elemento;
  }

  public void setProxima(Celula proxima) {
    this.proxima = proxima;
  }

  public Celula getProxima() {
    return proxima;
  }
  
  public void setAnterior(Celula anterior) {
    this.anterior = anterior;
  }
  
  public Celula getAnterior() {
    return anterior;
  }
  
  public Object getElemento() {
    return elemento;
  }
  
public void setElemento(Object elemento) {
	this.elemento = elemento;
}
}

Criei tmb a classe ListaLigada:

public class ListaLigada {

  private Celula primeira;

  private Celula ultima;
  
  private int totalDeElementos;
  
  

  public Celula getPrimeira() {
	return primeira;
}

public void setPrimeira(Celula primeira) {
	this.primeira = primeira;
}

public Celula getUltima() {
	return ultima;
}

public void setUltima(Celula ultima) {
	this.ultima = ultima;
}

public int getTotalDeElementos() {
	return totalDeElementos;
}

public void setTotalDeElementos(int totalDeElementos) {
	this.totalDeElementos = totalDeElementos;
}

public void adicionaNoFim(Object elemento) { 
	  if (this.totalDeElementos == 0) {
	    this.adicionaNoComeco(elemento);
	  } else {
	    Celula nova = new Celula(elemento);
	    this.ultima.setProxima(nova);
	    nova.setAnterior(this.ultima);
	    this.ultima = nova;
	    this.totalDeElementos++;
	  }
  }
 
  private boolean posicaoOcupada(int posicao){
	  return posicao >= 0 && posicao < this.totalDeElementos;
	}
  
 

  public void adicionaNoComeco(Object elemento) {
	  if(this.totalDeElementos == 0){
	    Celula nova = new Celula(elemento);
	    this.primeira = nova;
	    this.ultima = nova;
	  } else {
	    Celula nova = new Celula(this.primeira, elemento);
	    this.primeira.setAnterior(nova);
	    this.primeira = nova;
	  }
	  this.totalDeElementos++;
	}

  public void removeDoComeco() {
	  if (!this.posicaoOcupada(0)) {
	    throw new IllegalArgumentException("Lista Vazia!");
	  }
	    
	  this.primeira = this.primeira.getProxima();
	  this.totalDeElementos--;
	  
	  if (this.totalDeElementos == 0) {
	    this.ultima = null;
	  }
	}

  public void removeDoFim() {
	  if (!this.posicaoOcupada(this.totalDeElementos - 1)) {
	    throw new IllegalArgumentException("Lista Vazia!");
	  }
	  if (this.totalDeElementos == 1) {
	    this.removeDoComeco();
	  } else {
	    Celula penultima = this.ultima.getAnterior();
	    penultima.setProxima(null);
	    this.ultima = penultima;
	    this.totalDeElementos--;
	  }
	}
  
  public void imprime() {
	  Celula aux = new Celula(null);
	  for(aux = this.primeira; aux != this.ultima.getProxima(); aux = aux.getProxima()) {
		  System.out.print(aux.getElemento() + " ");
	  }
	  System.out.println("");
  }
}

E criei a classe pessoa (que é oque quero incluir na lista) :

package model;

public class Pessoa {
private String nome;
private String cpf;
private int idade;

public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}
public int getIdade() {
	return idade;
}
public void setIdade(int idade) {
	this.idade = idade;
}

}

Como faço pra imprimir os atributos de uma Pessoa inserida em uma ListaLigada ???