Ajustar los parámetros de solicitud utilizando HTTPServletRequestWrapper

Tengo un filtro que autentica / autoriza las llamadas REST. Este filtro necesita acceder a los parámetros de solicitud, así que he escrito un HTTPServletRequestWrapper personalizado para esto.

import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class WrapperRequest extends HttpServletRequestWrapper {
    private Map<String, String[]> requestParams = null;

    public WrapperRequest(final ServletRequest request) {
        super((HttpServletRequest) request);

    }

    @Override
    public String getParameter(final String name) {
        if (getParameterMap().get(name) != null) {
            return getParameterMap().get(name)[0];
        } else {
            getParameterMap().get(name)[0] = super.getParameter(name);
            requestParams.put(name, getParameterMap().get(name));
            return requestParams.get(name)[0];
        }

    }

    @Override
    public Map<String, String[]> getParameterMap() {
        if (requestParams == null) {
            requestParams = new HashMap<String, String[]>();
            requestParams.putAll(super.getParameterMap());
        }
        return Collections.unmodifiableMap(requestParams);
    }

    @Override
    public Enumeration<String> getParameterNames() {
        return Collections.enumeration(getParameterMap().keySet());
    }

    @Override
    public String[] getParameterValues(final String name) {
        return getParameterMap().get(name);
    }
}

En mi método de filtro de filtro:

public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {


    final WrapperRequest wrappedRequest = new WrapperRequest(request);
    Map<String, String[]> paramMap = wrappedRequest.getParameterMap();
    chain.doFilter(wrappedRequest, response);

Pero estoy recibiendo la siguiente advertencia

ADVERTENCIA: una solicitud de servlet, a la URI, contiene parámetros de formulario en el cuerpo de la solicitud, pero el servlet o el filtro de un servlet que accede a los parámetros de solicitud han consumido el cuerpo de la solicitud. Solo los métodos de recursos que usan @FormParam funcionarán como se espera. Los métodos de recursos que consumen el cuerpo de la solicitud por otros medios no funcionarán como se esperaba.

Estoy desplegando esto en Tomcat. ¡Ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta