def match(other)
      other = MediaTypeIdentifier.load(other)

      return false if other.nil?
      return false unless type == other.type || type == WILDCARD
      return false unless subtype == other.subtype || subtype == WILDCARD
      return false unless suffix.empty? || suffix == other.suffix
      parameters.each_pair do |k, v|
        return false unless other.parameters[k] == v
      end

      true
    end
def match(other)
      other = MediaTypeIdentifier.load(other)

      return false if other.nil?
      return false unless type == other.type || type == WILDCARD
      return false unless subtype == other.subtype || subtype == WILDCARD
      return false unless suffix.empty? || suffix == other.suffix
      parameters.each_pair do |k, v|
        return false unless other.parameters[k] == v
      end

      true
    end
Determine whether another identifier is compatible with (i.e. is a subset or specialization of)
 this identifier.

 @return [Boolean] true if this type is compatible with other, false otherwise

 @param [MediaTypeIdentifier,String] other

 @example match anything
      MediaTypeIdentifier.load('*/*').match('application/icecream+cone; flavor=vanilla') # => true

 @example match a subtype wildcard
      MediaTypeIdentifier.load('image/*').match('image/jpeg') # => true

 @example match a specific type irrespective of structured syntax
      MediaTypeIdentifier.load('application/vnd.widget').match('application/vnd.widget+json') # => true

 @example match a specific type, respective of important parameters but irrespective of extra parameters or structured syntax
      MediaTypeIdentifier.load('application/vnd.widget; type=collection').match('application/vnd.widget+json; material=steel; type=collection') # => true