public void handle(@Observes VRaptorRequestStarted event) {
try {
ControllerMethod method = translator.translate(event.getRequest());
controllerFoundEvent.fire(new ControllerFound(method));
interceptorStack.start();
endRequestEvent.fire(new RequestSucceded(event.getRequest(), event.getResponse()));
} catch (ControllerNotFoundException e) {
controllerNotFoundHandler.couldntFind(event.getChain(), event.getRequest(), event.getResponse());
} catch (MethodNotAllowedException e) {
LOGGER.debug(e.getMessage(), e);
methodNotAllowedHandler.deny(event.getRequest(), event.getResponse(), e.getAllowedMethods());