Instalando interceptor antes do deserealize do GSON

Estou com o seguinte problema, tenho um interceptor que verifica o usuário na requisição do método post de gson, o problema e que o consumes de gson roda antes do meu interceptor, como faço para meu interceptor rodar antes da deserialização do gson?

Já tentei filtrar o @Consumes e @Deserializes mas o gson e inicializado antes destes filtros, preciso rodar meu filtro antes do gson deserializar o pacote alguém tem alguma dica?

vc pode usar um:

@Intercepts(before=DeserializerInterceptor.class)
public class SeuInterceptor...

isso no vRaptor 3,

se for no VRaptor 4, vc precisa escutar um dos eventos do VRaptor

Obrigado Lucas estou usando o VRaptor 4, Resolvi criando uma classe personalizada de deserealize, para verificar o usuário antes de deserealizar o json.
No caso de escutar um evento tem como cancelar o evento de Deserealize se não for atingido a condição?

mas o que vc quer fazer nesse caso?

retornar um erro (tipo 401 ou 403)?

Quero que não seja deserealizado o pacote caso o usuário não esteja logado, pelo interceptor ele deserealiza para depois verificar se usuário esta logado gastando chamadas ao banco de dados.

Tenta criar essa classe:

@ApplicationScoped @Specializes
public class CustomDeserializingObserver extends DeserializingObserver {
        /**
	 * @deprecated CDI eyes only
	 */
	protected CustomDeserializingObserver() {
		this(null, null);
	}

	@Inject
	public CustomDeserializingObserver(Deserializers deserializers, Container container) {
		super(deserializers, container);
	}

        @Inject
        private UsuarioLogado usuario;

        @Override
        public void deserializes(@Observes InterceptorsReady event, HttpServletRequest request,
			MethodInfo methodInfo, Status status) throws IOException {
             if (usuario.isLogado()) {
                  super(event, request, methodInfo, status);
             }
        }
}

Lucas, funcionou perfeito, obrigado mais uma vez.