Converter JSF com problema

Pessoal, fiz um converter no intuito de transformar um cpf em um objeto e vice-versa.
No entanto, por algum motivo sobrenatural ele me retorna o id do objeto pra tela.
Já debuguei milhões de vezes e o retorno no converter está certinho.
Súplico a vcs uma luz, que o túnel já está acabando. Segue os códigos:

No xhtml:

<label style="margin-top: 10px;float: left;margin-right: 10px;">Nome Propritário:</label>
<h:selectOneMenu class="form-control"  style="width: 200px;" value="#{imovelController.imovel.propietario}" required="true">
	<f:selectItem itemLabel=""/>
	<f:selectItems value="#{pessoaController.pessoas}"  />
	<f:converter converterId="PessoaConverter"/>
</h:selectOneMenu>

Meu converter:

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
				
	if(value.length() <= 11){
		return new PessoaFisicaDao().buscarPorCPF(value);
	}else{
		return new PessoaJuridicaDao().buscarPorCNPJ(value);
	}
				
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {

	Pessoa pessoa = (Pessoa) value;
	if(pessoa instanceof PessoaFisica){
		PessoaFisica pessoaFisica = (PessoaFisica) pessoa;
		String cpf = pessoaFisica.getCpf();
	        return cpf;
	}
	if(pessoa instanceof PessoaJuridica){
		PessoaJuridica pessoaJuridica = (PessoaJuridica) pessoa;
		String cnpj = pessoaJuridica.getCnpj();
	        return cnpj;
	}

	return null;
}

Declaração no Faces-config.xml:

<converter>
  <converter-id>PessoaConverter</converter-id>
  <converter-class>conversor.PessoaConverter</converter-class>
</converter>

Se precisar de mais alguma coisa eu posto aqui, é só solicitar.

Cara, ele vai retornar para a tela o que você estiver retornando no método .toString() do seu objeto lá, veja o que ele tá retornando no .toString() que você vai descobrir o motivo “sobrenatural”.

Exatamente esse meu problema! Conforme mencionei no texto acima, debugando o método getAsString o retorno está certinho, porém na tela o que aparece são os Ids dos objetos.

Não, você não entendeu, olhe nessa classe PessoaFisica e veja o que o método toString() está retornando.

Desculpe, entendi errado! Vou ver aqui!