protected final <T extends Throwable> void handle( ExceptionEvent<T> event, LogLevel logLevel, String redirectUrl, FacesMessage.Severity severity, String messageKey, Object... messageArgs) { logException(logLevel, event.getException()); if (ContextUtils.isContextActive(WindowScoped.class)) { messages.clear(); messages.addFromResourceBundle(severity, messageKey, messageArgs); urlUtil.redirectTo(redirectUrl); // TODO urlUtil.forwardTo(redirectPath); // required - "stops" the JSF lifecycle FacesContext.getCurrentInstance().responseComplete(); } // no other ExceptionHandler should handle this exception... event.handled(); }