code: public boolean includes(MediaType other) {
  		if (other == null) {
  			return false;
  		}
  		if (this.isWildcardType()) {
  			// */* includes anything
  			return true;
  		}
  		else if (this.type.equals(other.type)) {
  			if (this.subtype.equals(other.subtype)) {
  				return true;
  			}
  			if (this.isWildcardSubtype()) {
  				// wildcard with suffix, e.g. application/*+xml
  				int thisPlusIdx = this.subtype.indexOf('+');
  				if (thisPlusIdx == -1) {
  					return true;
  				}
  				else {
  					// application/*+xml includes application/soap+xml
  					int otherPlusIdx = other.subtype.indexOf('+');
  					if (otherPlusIdx != -1) {
  						String thisSubtypeNoSuffix = this.subtype.substring(0, thisPlusIdx);
  						String thisSubtypeSuffix = this.subtype.substring(thisPlusIdx + 1);
  						String otherSubtypeSuffix = other.subtype.substring(otherPlusIdx + 1);
  						if (thisSubtypeSuffix.equals(otherSubtypeSuffix) && WILDCARD_TYPE.equals(thisSubtypeNoSuffix)) {
  							return true;
  						}
  					}
  				}
  			}
  		}
  		return false;
  	}
docs: Indicate whether this {@code MediaType} includes the given media type.
  <p>For instance, {@code text/*} includes {@code text/plain} and {@code text/html}, and {@code application/*+xml}
  includes {@code application/soap+xml}, etc. This method is <b>not</b> symmetric.
  @param other the reference media type with which to compare
  @return {@code true} if this media type includes the given media type; {@code false} otherwise