Also, when you invoke super here, the last part of CSRFFilter will actually continue on in the filter chain via:

```java
chain.doFilter(request, response);
```

I would instead catch the ServletException but then verify that the cause (`e.getCause()`) was actually an instanceof `ServiceException` (meaning that it actually WAS a CSRF token verification failure)