Dude,
Lost in the sauce...I do not understand what is going on.
1) The ServletResponseWrapper is a decorator pattern in action...makes sense.
2) The Filters are configured in the DD and a filterImpl must implement the Filter interface contract...makes sense.
3) A request that is to be filtered will be matched agianst url-patterns first, in a chaining order (the order they are declared in) followed by the servlet-name chain...makes sense.
4) The servlet at the end of the chain has no idea about the filters...makes sense.
5) So how does using a custom wrapper object sent on the Filter.doChain(req,customResponseObject) notify the servlet that the incoming request is from a filter?
The only thing I can think of (guessing) is that the HttpServletResponse(response) decoration occuring, somehow says, "Hey, I'm custom and I need you servlet to respond at TheAwesomeFilter.do