Herança no JSF a nivel de tela

Bom dia a todos. estou com o seguinte problema.

tenho um objeto mensagem que possui um outro objeto abstrato chamado de cidadao, esse objeto cidadao é herdado para compor pessoa fisica e pessoa juridica, porem o pessoa juridica contem os atributos razaosocial e cnpj entre outros e o pessoafisica possui nome e cpf entre outros. até ai tudo bem, o objeto persiste tranquilo com as anotations legal.

o problema é que na hora de exibir uma lista de mensagens com os atributos do cidadao por exemplo.

eu não posso fazer isso.

    <h:outputText value="#{manifestacao.cidadao.nome}"/>

pois nem todos os objetos são pessoa fisica, existe pessoas juridicas tambem que o atributo deveria ser

   <h:outputText value="#{manifestacao.cidadao.razaoSocial}"/>

existe alguma forma de resolver esse problema no JSF, seja via rendered ou JSTL?

eu já tentei tambem usar da seguinte forma.

<c:catch var="#{manifestacao.cidadao}">
	<h:outputText value="#{manifestacao.cidadao.nome}"/>
</c:catch>
<c:catch var="#{manifestacao.cidadao}">
	<h:outputText value="#{manifestacao.cidadao.razaoSocial}" />
</c:catch>

e não da certo… Obrigado a atenção.

Olá.
Pode ser com rendered.
Algo parecido com isso:

&lt;h:outputText value="#{manifestacao.cidadao.nome}" rendered="#{manifestacao.cidadao.tipo=='Fisica'}"/&gt;
   1. &lt;h:outputText value="#{manifestacao.cidadao.razaoSocial}" rendered="#{manifestacao.cidadao.tipo=='Juridica'}"/&gt;