Neither the MutableServletRequest nor the MutableServletResponse parse the header values provided to them when the wrap factory method is called. This results in incorrect behavior around parameters, such as quality.
This issue has been hidden due to way we handle header spitting. Header splitting will parse header values and handle them correctly, so when splitting is done there is no issue. When it's not (i.e., when a filter adds the header rather than the original request) the entire header value is stored and retrieved, but the quality is always set to 1.0 and the getPreferredHeader method on the wrappers is broken.