VRaptor - Como popular lista de objetos na controladora passando por Converter antes?

Galera, tenho uma controladora que tem um metodo assim:

        @Post("/whatever")
	public void novo(List<Referencia> referencias){
        }

Porém, como referecia pode ser de tres tipos distintos, eu fiz uma herança da seguinte maneira

ReferenciaBancaria extends Referencia
ReferenciaPessoal extends Referencia
ReferenciaComercial extends Referencis

Por isso eu tenho um converter assim:

@ApplicationScoped
@Convert(Referencia.class)
public class ReferenciaConverter implements Converter<Referencia>{

	@Override
	public Referencia convert(String valor, Class<? extends Referencia> arg1, ResourceBundle arg2) {
		if("Pessoal".equalsIgnoreCase(valor))
			return new ReferenciaPessoal();
		if("Comercial".equalsIgnoreCase(valor))
			return new ReferenciaComercial();
		if("Bancaria".equalsIgnoreCase(valor))
			return new ReferenciaBancaria();
		
		throw new RuntimeException("Tipo de referencia desconhecido");
	}
}

Entao minha duvida, é como expressar no JSP esta relação… se eu coloco dessa maneira (abaixo) ele chega no Converter mas quando o VRaptor tenta popular a lista (eu suponho) eu tenho uma excecao (mais abaixo ainda)!!!

<input type="hidden" name="referencias[]" value="pessoal"/>
								<prv:linha id="linhaReferenciaPessoalNome" label="Nome">
									<prv:campoDeTexto name="referencias.nome" type="text" id="contatoReferenciaPessoalNome" obrigatorio="true"/>
								</prv:linha>
								
								<prv:linha id="linhaReferenciaPessoalTelefone" label="Telefone">
									<prv:campoDeTexto name="referencias.telefone.numero" type="text" id="contatoReferenciaPessoalTelefone" obrigatorio="true" mascara="(99) 9999-9999" />
								</prv:linha>

Excecao:

25/04/2012 13:04:24 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [default] in context with path [/prv3] threw exception
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
	at br.com.caelum.vraptor.http.ognl.ListAccessor.setProperty(ListAccessor.java:68)
	at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)
	at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
	at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
	at ognl.SimpleNode.setValue(SimpleNode.java:279)
	at ognl.Ognl.setValue(Ognl.java:737)
	at ognl.Ognl.setValue(Ognl.java:783)

Alguem saberia como tratar este tipo de caso??? Eu ja tentei de outras maneiras, mas se eu tiro o [] do hidden referencias ele nem chega no Converter!!!

EDIT: VRaptor 3.4.0

Você já tentou passar os indexes?

referencias[0] = pessoal
referencias[1] = pessoal
referencias[2] = comercial
referencias[3] = bancaria

Ja sim, e funciona tambem (chega no converter) mas depois da o mesmo erro!

Tem algum lugar em Referencia que você grava integer?

Tente ver, por exemplo se você não está passando uma String vazia (""). Pois ela dá exceção.

Mas ele deveria soltar uma NumberFormatException, não?

poiseh cara muito estranho porque na estidade Referencia* nao tem nenhum um lugar que recebe Integer… por isso to achando que o erro é quando o VRaptor tenta popular a lista,

Ixi cara. O pior é que as minhas listas funcionam normalmente, tenta trocar para a implementação, e não para a classe mãe.

o nome dos campos de texto também precisam ter o índice:

<input type="hidden" name="referencias[0]" value="pessoal"/>  
                                <prv:linha id="linhaReferenciaPessoalNome" label="Nome">  
                                    <prv:campoDeTexto name="referencias[0].nome" type="text" id="contatoReferenciaPessoalNome" obrigatorio="true"/>  
                                </prv:linha>