A logical disjunction (' || ') request condition to match a request's 'Accept' header
to a list of media type expressions. Two kinds of media type expressions are
supported, which are described in RequestMapping.produces() and
RequestMapping.headers() where the header name is 'Accept'.
Regardless of which syntax is used, the semantics are the same.

ProducesRequestCondition

Creates a new instance with "produces" and "header" expressions. "Header"
expressions where the header name is not 'Accept' or have no header value
defined are ignored. If 0 expressions are provided in total, this condition
will match to any request.

getMatchingCondition

Checks if any of the contained media type expressions match the given
request 'Content-Type' header and returns an instance that is guaranteed
to contain matching expressions only. The match is performed via
MediaType.isCompatibleWith(MediaType).

Parameters:

request - the current request

Returns:

the same instance if there are no expressions;
or a new condition with matching expressions;
or null if no expressions match.