VRaptor 3 - problema com interceptor [RESOLVIDO]

Possuo um interceptor que verifica se o usuário está logado antes de acessar determinados resources, e se não estiver, redireciona para a página de login.[code]public void intercept(InterceptorStack arg0, ResourceMethod arg1, Object arg2)
throws InterceptionException {

    if (sessionUser.getUser() == null)
        result.use(Results.logic()).redirectTo(LoginController.class).login();

    arg0.next(arg1, arg2);

}[/code]

Mas ocorre um problema quando a uri do método da resource que está sendo interceptado possui parâmetros, por ex.:@Get @Path("/gerencia/inscricao/{id}") public void detail(Long id) { try { .... } catch (Exception ex) { processError(ex); } }
Neste caso em vez de redirecionar para a página de login eu recebo o seguinte erro:[code]HTTP Status 500 -

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

br.com.caelum.vraptor.http.InvalidParameterException: unable to retrieve values to invoke method[/code]
O que pode ser?

Penso que esse if está errado, pois se você redirecionar você não pode chamar o próximo stack. Dessa forma se o usuário tentar acessar alguma coisa, você redireciona mas mesmo assim ele executa tal ação.

if (sessionUser.getUser() == null) { result.use(Results.logic()).redirectTo(LoginController.class).login(); } else { arg0.next(arg1, arg2); }

[quote=garcia-jj]Penso que esse if está errado, pois se você redirecionar você não pode chamar o próximo stack. Dessa forma se o usuário tentar acessar alguma coisa, você redireciona mas mesmo assim ele executa tal ação.

if (sessionUser.getUser() == null) { result.use(Results.logic()).redirectTo(LoginController.class).login(); } else { arg0.next(arg1, arg2); }[/quote]

Era isso mesmo. Obrigado.