code: public boolean is(MediaType mediaTypeRange) {
          return (mediaTypeRange.type.equals(WILDCARD) || mediaTypeRange.type.equals(type)) &&
                 (mediaTypeRange.subtype.equals(WILDCARD) || mediaTypeRange.subtype.equals(subtype)) &&
                 parameters.entries().containsAll(mediaTypeRange.parameters.entries());
      }
docs: Returns {@code true} if this instance falls within the range (as defined by <a
  href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">the HTTP Accept header</a>) given
  by the argument according to three criteria:
  
  <ol>
  <li>The type of the argument is the wildcard or equal to the type of this instance.
  <li>The subtype of the argument is the wildcard or equal to the subtype of this instance.
  <li>All of the parameters present in the argument are present in this instance.
  </ol>
  
  <p>For example:
  
  <pre>{@code
  PLAIN_TEXT_UTF_8.is(PLAIN_TEXT_UTF_8) // true
  PLAIN_TEXT_UTF_8.is(HTML_UTF_8) // false
  PLAIN_TEXT_UTF_8.is(ANY_TYPE) // true
  PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE) // true
  PLAIN_TEXT_UTF_8.is(ANY_IMAGE_TYPE) // false
  PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE.withCharset(UTF_8)) // true
  PLAIN_TEXT_UTF_8.withoutParameters().is(ANY_TEXT_TYPE.withCharset(UTF_8)) // false
  PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE.withCharset(UTF_16)) // false
  }</pre>
  
  <p>Note that while it is possible to have the same parameter declared multiple times within a
  media type this method does not consider the number of occurrences of a parameter. For example,
  {@code "text/plain; charset=UTF-8"} satisfies {@code "text/plain; charset=UTF-8;
  charset=UTF-8"}.