Five options were give, and I'm not able to understand the explanation given for the following option,
Line 28 is invalid because request must be passed as the first argument...and they have given the reason for this option as "it is valid for a filter to wrap a request (note that UserRequest must implement ServletRequest)
I'm not able to understand the bold part. Can anyone please explain!
You can wrap the request/response object in Filter before passing it on. doFilter takes ServletRequest and ServletResponse as an argument so you will have to extend your request/response wrapper class with these interfaces in order to pass them as arguments in doFilter method.
See Servlet 2.4 Specs page 52 "Wrapping Requests and Responses"