Validação de tipos primitivos no Vraptor 4

Boa tarde galera,

estou com erro quando tento validar um tipo primitivo. Ao testar o envio de uma String em um input que deveria ser um inteiro (afinal o usuário pode digitar qualquer coisa na view, por isso esse teste :grin:) eu recebo esse erro:

br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=vinho, type=class br.com.wjconsulting.cardapiodigitalv4.model.Vinho)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:128)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:130)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:120)
	at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:112)

...

Caused by: java.lang.IllegalArgumentException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)

Pesquisado um pouco, cheguei nesse post aqui onde o Lucas_Cavalcanti pedia que ativasse o DEBUG para visualizar os parâmetros passados na requisição. Ao fazer isso eu tenho essa saída:

14:19:44,720 DEBUG [DefaultControllerTranslator] trying to access /vinhos
14:19:44,721 DEBUG [DefaultControllerTranslator] found controller [DefaultControllerMethod: public void br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController.adiciona(br.com.wjconsulting.cardapiodigitalv4.model.Vinho)]
14:19:44,721 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController
14:19:44,721 DEBUG [CDIBasedContainer   ] beans for class br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController is [Managed Bean [class br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController] with qualifiers [@Any @Default]]
14:19:44,723 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController.adiciona(br.com.wjconsulting.cardapiodigitalv4.model.Vinho) as [vinho]
14:19:44,731 DEBUG [IogiParametersProvider] IogiParametersProvider is up
14:19:44,734 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public void br.com.wjconsulting.cardapiodigitalv4.controller.VinhoController.adiciona(br.com.wjconsulting.cardapiodigitalv4.model.Vinho) as [vinho]
14:19:44,735 DEBUG [IogiParametersProvider] getParametersFor() called with parameters Parameters(Parameter(vinho.volume -> ), Parameter(vinho.codigo -> ), Parameter(vinho.produtor -> ), Parameter(vinho.anoSafra -> isso é um teste), Parameter(vinho.percentualAlcoolico -> ), Parameter(vinho.tipoVinho.id -> 2), Parameter(vinho.descricao -> ), Parameter(vinho.pais.id -> 1), Parameter(vinho.regiao -> ), Parameter(vinho.preco -> ), Parameter(vinho.nome -> )) and targets [Target(name=vinho, type=class br.com.wjconsulting.cardapiodigitalv4.model.Vinho)].
14:19:44,752 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for public br.com.wjconsulting.cardapiodigitalv4.model.Vinho() as []
14:19:44,769 DEBUG [CDIBasedContainer   ] asking cdi to get instance for class br.com.caelum.vraptor.converter.PrimitiveIntConverter
14:19:44,769 DEBUG [CDIBasedContainer   ] beans for class br.com.caelum.vraptor.converter.PrimitiveIntConverter is [Managed Bean [class br.com.caelum.vraptor.converter.PrimitiveIntConverter] with qualifiers [@Any @Default]]

O parâmetro em questão é Parameter(vinho.anoSafra -> isso é um teste) da classe Vinho. anoSafra é um int. Mais abaixo temos uma linha interessante:

14:19:44,769 DEBUG [CDIBasedContainer ] beans for class br.com.caelum.vraptor.converter.PrimitiveIntConverter is [Managed Bean [class br.com.caelum.vraptor.converter.PrimitiveIntConverter] with qualifiers [@Any @Default]]

Esse é o Converter responsável por converter os parâmetros para int. Uma vez que eu informei um String para uma variável que é inteira, eu não deveria cair no NumberFormatException e consequentemente ter na view uma mensagem do tipo: ???is_not_a_valid_number??? ?

O que é mais estranho é que na mesma classe eu tenho um BigDecimal e tenho o comportamento esperado: ao informar uma String, eu tenho o erro de conversão, como dito no livro do Vraptor vendido na Casa do Código

“Esses erros são adicionados automaticamente pelo Vraptor se o valor mandado na requisição não puder ser convertido para o tipo necessário” página 79

Se alguém tiver uma luz do que seja, fico grato.

Abraços pra todos.