[RESOLVIDO] java.lang.IllegalArgumentException

Estou desenvolvendo uma aplicação JSF + JPA com Hibernate com uma tela login que ao ser acessada com sucesso vai para uma tela com alguns links para as entidades. No link “Pais” ao ser clicado levanta a exceção:

java.lang.IllegalArgumentException

neste link “Pais” chama o formulário de cadastro e a lista na mesma página.

O problema é no formulário de cadastro. Pois quando é comentada a chamada do formulário a lista é exibida, mas quando se comenta a chamada da lista a exceção é levantada.

página Pais.xhtml

<ui:composition template="/WEB-INF/template/template.xhtml"
	xmlns="http://www.w3.org/1999/xhtml" 
	xmlns:ui="http://java.sun.com/jsf/facelets" 
	xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

	<ui:define name="conteudo">

		<h1>Pais</h1>

		<h:form>
			<ui:include src="formulario-novos-pais.xhtml"/>
			<ui:include src="lista-de-pais.xhtml"/>
		</h:form>
	</ui:define>
</ui:composition>

formulário de cadastro Pais:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core">

	<h:inputHidden value="#{paisBean.pais.codPais}"/>
	<h:panelGrid columns="3">
		<h:outputLabel value="Nome do Pai: " for="nomePai"/>
		<h:inputText id="nomePai" required="true"
			requiredMessage="O nome do pai e obrigatorio"
			value="#{paisBean.pais.nomePai}">
		</h:inputText>
		<h:message for="nomePai"/>

		<h:outputLabel value="Nome da Mae: " for="nomeMae"/>
		<h:inputText id="nomeMae" required="true"
			requiredMessage="O nome da mae e obrigatorio"
			value="#{paisBean.pais.nomeMae}">
		</h:inputText>
		<h:message for="nomeMae"/>
		
		<h:outputLabel value="Telefone: " for="telefone"/>
		<h:inputText id="telefone" required="true"
			requiredMessage="O numero do telefone e obrigatorio"
			value="#{paisBean.pais.telefone}">
		</h:inputText >
		<h:message for="telefone"/>
		
		<h:outputLabel value="Endereco:" for="endereco"/>
		<h:selectOneMenu id="endereco"
			value="#{paisBean.codEndereco}">
			<f:selectItems value="#{enderecoBean.endereco}" var="endereco"
				itemLabel="#{endereco.bairro}" itemValue="#{endereco.codEndereco}"/>				
		</h:selectOneMenu>
		<h:message for="endereco"/>
		
		<h:commandButton value="Cadastrar">
			<f:ajax event="click" execute="@form"
				listener="#{paisBean.adiciona}" render="@all"/>
		</h:commandButton>
	</h:panelGrid>
</ui:composition>

Na linha 32 da tela de Cadastro Pais, eu estava referenciando ao Objeto endereco ao invés de referenciar a uma lista de Endereco vinda do banco já que é um componente: <f:selectItems>

Antes:

    <f:selectItems value="#{enderecoBean.endereco}" var="endereco" 

Depois:

    <f:selectItems value="#{enderecoBean.listaEndereco}" var="endereco"