public final class com.google.common.net.MediaType
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.net.MediaType
  super_class: java.lang.Object
{
  private static final java.lang.String CHARSET_ATTRIBUTE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "charset"

  private static final com.google.common.collect.ImmutableListMultimap<java.lang.String, java.lang.String> UTF_8_CONSTANT_PARAMETERS;
    descriptor: Lcom/google/common/collect/ImmutableListMultimap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableListMultimap<Ljava/lang/String;Ljava/lang/String;>;

  private static final com.google.common.base.CharMatcher TOKEN_MATCHER;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.base.CharMatcher QUOTED_TEXT_MATCHER;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.base.CharMatcher LINEAR_WHITE_SPACE;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String APPLICATION_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "application"

  private static final java.lang.String AUDIO_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "audio"

  private static final java.lang.String IMAGE_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "image"

  private static final java.lang.String TEXT_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "text"

  private static final java.lang.String VIDEO_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "video"

  private static final java.lang.String WILDCARD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "*"

  private static final java.util.Map<com.google.common.net.MediaType, com.google.common.net.MediaType> KNOWN_TYPES;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/google/common/net/MediaType;Lcom/google/common/net/MediaType;>;

  public static final com.google.common.net.MediaType ANY_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ANY_TEXT_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ANY_IMAGE_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ANY_AUDIO_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ANY_VIDEO_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ANY_APPLICATION_TYPE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType CACHE_MANIFEST_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType CSS_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType CSV_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType HTML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType I_CALENDAR_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType PLAIN_TEXT_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType TEXT_JAVASCRIPT_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType TSV_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType VCARD_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType XML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType VTT_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType BMP;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType CRW;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType GIF;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ICO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType JPEG;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType PNG;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType PSD;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType SVG_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType TIFF;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WEBP;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MP4_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MPEG_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OGG_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WEBM_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType L16_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType L24_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType BASIC_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType AAC_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType VORBIS_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WMA_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WAX_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType VND_REAL_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType VND_WAVE_AUDIO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MP4_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MPEG_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OGG_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType QUICKTIME;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WEBM_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WMV;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType FLV_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType THREE_GPP_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType THREE_GPP2_VIDEO;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType APPLICATION_XML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ATOM_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType BZIP2;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType DART_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType APPLE_PASSBOOK;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType EOT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType EPUB;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType FORM_DATA;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType KEY_ARCHIVE;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType APPLICATION_BINARY;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType GZIP;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType JAVASCRIPT_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType JSON_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MANIFEST_JSON_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType KML;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType KMZ;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MBOX;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType APPLE_MOBILE_CONFIG;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MICROSOFT_EXCEL;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MICROSOFT_POWERPOINT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType MICROSOFT_WORD;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType NACL_APPLICATION;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType NACL_PORTABLE_APPLICATION;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OCTET_STREAM;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OGG_CONTAINER;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OOXML_DOCUMENT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OOXML_PRESENTATION;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OOXML_SHEET;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OPENDOCUMENT_GRAPHICS;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OPENDOCUMENT_PRESENTATION;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OPENDOCUMENT_SPREADSHEET;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType OPENDOCUMENT_TEXT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType PDF;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType POSTSCRIPT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType PROTOBUF;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType RDF_XML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType RTF_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType SFNT;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType SHOCKWAVE_FLASH;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType SKETCHUP;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType SOAP_XML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType TAR;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WOFF;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType WOFF2;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType XHTML_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType XRD_UTF_8;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.google.common.net.MediaType ZIP;
    descriptor: Lcom/google/common/net/MediaType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String subtype;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.google.common.collect.ImmutableListMultimap<java.lang.String, java.lang.String> parameters;
    descriptor: Lcom/google/common/collect/ImmutableListMultimap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableListMultimap<Ljava/lang/String;Ljava/lang/String;>;

  private java.lang.String toString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.LazyInit()

  private int hashCode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.LazyInit()

  private com.google.common.base.Optional<java.nio.charset.Charset> parsedCharset;
    descriptor: Lcom/google/common/base/Optional;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/google/common/base/Optional<Ljava/nio/charset/Charset;>;
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.concurrent.LazyInit()

  private static final com.google.common.base.Joiner$MapJoiner PARAMETER_JOINER;
    descriptor: Lcom/google/common/base/Joiner$MapJoiner;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 81
            ldc "charset"
            getstatic com.google.common.base.Charsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.google.common.collect.ImmutableListMultimap.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableListMultimap;
         1: .line 80
            putstatic com.google.common.net.MediaType.UTF_8_CONSTANT_PARAMETERS:Lcom/google/common/collect/ImmutableListMultimap;
         2: .line 85
            invokestatic com.google.common.base.CharMatcher.ascii:()Lcom/google/common/base/CharMatcher;
         3: .line 86
            invokestatic com.google.common.base.CharMatcher.javaIsoControl:()Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.base.CharMatcher.negate:()Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.base.CharMatcher.and:(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
         4: .line 87
            bipush 32
            invokestatic com.google.common.base.CharMatcher.isNot:(C)Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.base.CharMatcher.and:(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
         5: .line 88
            ldc "()<>@,;:\\\"/[]?="
            invokestatic com.google.common.base.CharMatcher.noneOf:(Ljava/lang/CharSequence;)Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.base.CharMatcher.and:(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
         6: .line 84
            putstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
         7: .line 90
            invokestatic com.google.common.base.CharMatcher.ascii:()Lcom/google/common/base/CharMatcher;
            ldc "\"\\\r"
            invokestatic com.google.common.base.CharMatcher.noneOf:(Ljava/lang/CharSequence;)Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.base.CharMatcher.and:(Lcom/google/common/base/CharMatcher;)Lcom/google/common/base/CharMatcher;
            putstatic com.google.common.net.MediaType.QUOTED_TEXT_MATCHER:Lcom/google/common/base/CharMatcher;
         8: .line 95
            ldc " \t\r\n"
            invokestatic com.google.common.base.CharMatcher.anyOf:(Ljava/lang/CharSequence;)Lcom/google/common/base/CharMatcher;
            putstatic com.google.common.net.MediaType.LINEAR_WHITE_SPACE:Lcom/google/common/base/CharMatcher;
         9: .line 106
            invokestatic com.google.common.collect.Maps.newHashMap:()Ljava/util/HashMap;
            putstatic com.google.common.net.MediaType.KNOWN_TYPES:Ljava/util/Map;
        10: .line 136
            ldc "*"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_TYPE:Lcom/google/common/net/MediaType;
        11: .line 137
            ldc "text"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_TEXT_TYPE:Lcom/google/common/net/MediaType;
        12: .line 138
            ldc "image"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_IMAGE_TYPE:Lcom/google/common/net/MediaType;
        13: .line 139
            ldc "audio"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_AUDIO_TYPE:Lcom/google/common/net/MediaType;
        14: .line 140
            ldc "video"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_VIDEO_TYPE:Lcom/google/common/net/MediaType;
        15: .line 141
            ldc "application"
            ldc "*"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ANY_APPLICATION_TYPE:Lcom/google/common/net/MediaType;
        16: .line 145
            ldc "text"
            ldc "cache-manifest"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        17: .line 144
            putstatic com.google.common.net.MediaType.CACHE_MANIFEST_UTF_8:Lcom/google/common/net/MediaType;
        18: .line 146
            ldc "text"
            ldc "css"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.CSS_UTF_8:Lcom/google/common/net/MediaType;
        19: .line 147
            ldc "text"
            ldc "csv"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.CSV_UTF_8:Lcom/google/common/net/MediaType;
        20: .line 148
            ldc "text"
            ldc "html"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.HTML_UTF_8:Lcom/google/common/net/MediaType;
        21: .line 149
            ldc "text"
            ldc "calendar"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.I_CALENDAR_UTF_8:Lcom/google/common/net/MediaType;
        22: .line 150
            ldc "text"
            ldc "plain"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.PLAIN_TEXT_UTF_8:Lcom/google/common/net/MediaType;
        23: .line 156
            ldc "text"
            ldc "javascript"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.TEXT_JAVASCRIPT_UTF_8:Lcom/google/common/net/MediaType;
        24: .line 163
            ldc "text"
            ldc "tab-separated-values"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.TSV_UTF_8:Lcom/google/common/net/MediaType;
        25: .line 165
            ldc "text"
            ldc "vcard"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.VCARD_UTF_8:Lcom/google/common/net/MediaType;
        26: .line 166
            ldc "text"
            ldc "vnd.wap.wml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WML_UTF_8:Lcom/google/common/net/MediaType;
        27: .line 172
            ldc "text"
            ldc "xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.XML_UTF_8:Lcom/google/common/net/MediaType;
        28: .line 179
            ldc "text"
            ldc "vtt"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.VTT_UTF_8:Lcom/google/common/net/MediaType;
        29: .line 182
            ldc "image"
            ldc "bmp"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.BMP:Lcom/google/common/net/MediaType;
        30: .line 192
            ldc "image"
            ldc "x-canon-crw"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.CRW:Lcom/google/common/net/MediaType;
        31: .line 194
            ldc "image"
            ldc "gif"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.GIF:Lcom/google/common/net/MediaType;
        32: .line 195
            ldc "image"
            ldc "vnd.microsoft.icon"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ICO:Lcom/google/common/net/MediaType;
        33: .line 196
            ldc "image"
            ldc "jpeg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.JPEG:Lcom/google/common/net/MediaType;
        34: .line 197
            ldc "image"
            ldc "png"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.PNG:Lcom/google/common/net/MediaType;
        35: .line 215
            ldc "image"
            ldc "vnd.adobe.photoshop"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.PSD:Lcom/google/common/net/MediaType;
        36: .line 217
            ldc "image"
            ldc "svg+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.SVG_UTF_8:Lcom/google/common/net/MediaType;
        37: .line 218
            ldc "image"
            ldc "tiff"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.TIFF:Lcom/google/common/net/MediaType;
        38: .line 219
            ldc "image"
            ldc "webp"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WEBP:Lcom/google/common/net/MediaType;
        39: .line 222
            ldc "audio"
            ldc "mp4"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MP4_AUDIO:Lcom/google/common/net/MediaType;
        40: .line 223
            ldc "audio"
            ldc "mpeg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MPEG_AUDIO:Lcom/google/common/net/MediaType;
        41: .line 224
            ldc "audio"
            ldc "ogg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.OGG_AUDIO:Lcom/google/common/net/MediaType;
        42: .line 225
            ldc "audio"
            ldc "webm"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WEBM_AUDIO:Lcom/google/common/net/MediaType;
        43: .line 233
            ldc "audio"
            ldc "l16"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.L16_AUDIO:Lcom/google/common/net/MediaType;
        44: .line 241
            ldc "audio"
            ldc "l24"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.L24_AUDIO:Lcom/google/common/net/MediaType;
        45: .line 249
            ldc "audio"
            ldc "basic"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.BASIC_AUDIO:Lcom/google/common/net/MediaType;
        46: .line 257
            ldc "audio"
            ldc "aac"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.AAC_AUDIO:Lcom/google/common/net/MediaType;
        47: .line 265
            ldc "audio"
            ldc "vorbis"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.VORBIS_AUDIO:Lcom/google/common/net/MediaType;
        48: .line 274
            ldc "audio"
            ldc "x-ms-wma"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WMA_AUDIO:Lcom/google/common/net/MediaType;
        49: .line 283
            ldc "audio"
            ldc "x-ms-wax"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WAX_AUDIO:Lcom/google/common/net/MediaType;
        50: .line 291
            ldc "audio"
            ldc "vnd.rn-realaudio"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.VND_REAL_AUDIO:Lcom/google/common/net/MediaType;
        51: .line 299
            ldc "audio"
            ldc "vnd.wave"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.VND_WAVE_AUDIO:Lcom/google/common/net/MediaType;
        52: .line 302
            ldc "video"
            ldc "mp4"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MP4_VIDEO:Lcom/google/common/net/MediaType;
        53: .line 303
            ldc "video"
            ldc "mpeg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MPEG_VIDEO:Lcom/google/common/net/MediaType;
        54: .line 304
            ldc "video"
            ldc "ogg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.OGG_VIDEO:Lcom/google/common/net/MediaType;
        55: .line 305
            ldc "video"
            ldc "quicktime"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.QUICKTIME:Lcom/google/common/net/MediaType;
        56: .line 306
            ldc "video"
            ldc "webm"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WEBM_VIDEO:Lcom/google/common/net/MediaType;
        57: .line 307
            ldc "video"
            ldc "x-ms-wmv"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WMV:Lcom/google/common/net/MediaType;
        58: .line 316
            ldc "video"
            ldc "x-flv"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.FLV_VIDEO:Lcom/google/common/net/MediaType;
        59: .line 325
            ldc "video"
            ldc "3gpp"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.THREE_GPP_VIDEO:Lcom/google/common/net/MediaType;
        60: .line 334
            ldc "video"
            ldc "3gpp2"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.THREE_GPP2_VIDEO:Lcom/google/common/net/MediaType;
        61: .line 342
            ldc "application"
            ldc "xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.APPLICATION_XML_UTF_8:Lcom/google/common/net/MediaType;
        62: .line 344
            ldc "application"
            ldc "atom+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ATOM_UTF_8:Lcom/google/common/net/MediaType;
        63: .line 345
            ldc "application"
            ldc "x-bzip2"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.BZIP2:Lcom/google/common/net/MediaType;
        64: .line 352
            ldc "application"
            ldc "dart"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.DART_UTF_8:Lcom/google/common/net/MediaType;
        65: .line 360
            ldc "application"
            ldc "vnd.apple.pkpass"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        66: .line 359
            putstatic com.google.common.net.MediaType.APPLE_PASSBOOK:Lcom/google/common/net/MediaType;
        67: .line 370
            ldc "application"
            ldc "vnd.ms-fontobject"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.EOT:Lcom/google/common/net/MediaType;
        68: .line 380
            ldc "application"
            ldc "epub+zip"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.EPUB:Lcom/google/common/net/MediaType;
        69: .line 383
            ldc "application"
            ldc "x-www-form-urlencoded"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        70: .line 382
            putstatic com.google.common.net.MediaType.FORM_DATA:Lcom/google/common/net/MediaType;
        71: .line 391
            ldc "application"
            ldc "pkcs12"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.KEY_ARCHIVE:Lcom/google/common/net/MediaType;
        72: .line 402
            ldc "application"
            ldc "binary"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.APPLICATION_BINARY:Lcom/google/common/net/MediaType;
        73: .line 404
            ldc "application"
            ldc "x-gzip"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.GZIP:Lcom/google/common/net/MediaType;
        74: .line 411
            ldc "application"
            ldc "javascript"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        75: .line 410
            putstatic com.google.common.net.MediaType.JAVASCRIPT_UTF_8:Lcom/google/common/net/MediaType;
        76: .line 413
            ldc "application"
            ldc "json"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.JSON_UTF_8:Lcom/google/common/net/MediaType;
        77: .line 421
            ldc "application"
            ldc "manifest+json"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        78: .line 420
            putstatic com.google.common.net.MediaType.MANIFEST_JSON_UTF_8:Lcom/google/common/net/MediaType;
        79: .line 423
            ldc "application"
            ldc "vnd.google-earth.kml+xml"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.KML:Lcom/google/common/net/MediaType;
        80: .line 424
            ldc "application"
            ldc "vnd.google-earth.kmz"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.KMZ:Lcom/google/common/net/MediaType;
        81: .line 425
            ldc "application"
            ldc "mbox"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MBOX:Lcom/google/common/net/MediaType;
        82: .line 434
            ldc "application"
            ldc "x-apple-aspen-config"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        83: .line 433
            putstatic com.google.common.net.MediaType.APPLE_MOBILE_CONFIG:Lcom/google/common/net/MediaType;
        84: .line 436
            ldc "application"
            ldc "vnd.ms-excel"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MICROSOFT_EXCEL:Lcom/google/common/net/MediaType;
        85: .line 438
            ldc "application"
            ldc "vnd.ms-powerpoint"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        86: .line 437
            putstatic com.google.common.net.MediaType.MICROSOFT_POWERPOINT:Lcom/google/common/net/MediaType;
        87: .line 439
            ldc "application"
            ldc "msword"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.MICROSOFT_WORD:Lcom/google/common/net/MediaType;
        88: .line 448
            ldc "application"
            ldc "x-nacl"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.NACL_APPLICATION:Lcom/google/common/net/MediaType;
        89: .line 458
            ldc "application"
            ldc "x-pnacl"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        90: .line 457
            putstatic com.google.common.net.MediaType.NACL_PORTABLE_APPLICATION:Lcom/google/common/net/MediaType;
        91: .line 460
            ldc "application"
            ldc "octet-stream"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.OCTET_STREAM:Lcom/google/common/net/MediaType;
        92: .line 462
            ldc "application"
            ldc "ogg"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.OGG_CONTAINER:Lcom/google/common/net/MediaType;
        93: .line 465
            ldc "application"
            ldc "vnd.openxmlformats-officedocument.wordprocessingml.document"
        94: .line 464
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        95: .line 463
            putstatic com.google.common.net.MediaType.OOXML_DOCUMENT:Lcom/google/common/net/MediaType;
        96: .line 468
            ldc "application"
            ldc "vnd.openxmlformats-officedocument.presentationml.presentation"
        97: .line 467
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
        98: .line 466
            putstatic com.google.common.net.MediaType.OOXML_PRESENTATION:Lcom/google/common/net/MediaType;
        99: .line 470
            ldc "application"
            ldc "vnd.openxmlformats-officedocument.spreadsheetml.sheet"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       100: .line 469
            putstatic com.google.common.net.MediaType.OOXML_SHEET:Lcom/google/common/net/MediaType;
       101: .line 472
            ldc "application"
            ldc "vnd.oasis.opendocument.graphics"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       102: .line 471
            putstatic com.google.common.net.MediaType.OPENDOCUMENT_GRAPHICS:Lcom/google/common/net/MediaType;
       103: .line 474
            ldc "application"
            ldc "vnd.oasis.opendocument.presentation"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       104: .line 473
            putstatic com.google.common.net.MediaType.OPENDOCUMENT_PRESENTATION:Lcom/google/common/net/MediaType;
       105: .line 476
            ldc "application"
            ldc "vnd.oasis.opendocument.spreadsheet"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       106: .line 475
            putstatic com.google.common.net.MediaType.OPENDOCUMENT_SPREADSHEET:Lcom/google/common/net/MediaType;
       107: .line 478
            ldc "application"
            ldc "vnd.oasis.opendocument.text"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       108: .line 477
            putstatic com.google.common.net.MediaType.OPENDOCUMENT_TEXT:Lcom/google/common/net/MediaType;
       109: .line 479
            ldc "application"
            ldc "pdf"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.PDF:Lcom/google/common/net/MediaType;
       110: .line 480
            ldc "application"
            ldc "postscript"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.POSTSCRIPT:Lcom/google/common/net/MediaType;
       111: .line 486
            ldc "application"
            ldc "protobuf"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.PROTOBUF:Lcom/google/common/net/MediaType;
       112: .line 488
            ldc "application"
            ldc "rdf+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.RDF_XML_UTF_8:Lcom/google/common/net/MediaType;
       113: .line 489
            ldc "application"
            ldc "rtf"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.RTF_UTF_8:Lcom/google/common/net/MediaType;
       114: .line 499
            ldc "application"
            ldc "font-sfnt"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.SFNT:Lcom/google/common/net/MediaType;
       115: .line 502
            ldc "application"
            ldc "x-shockwave-flash"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
       116: .line 501
            putstatic com.google.common.net.MediaType.SHOCKWAVE_FLASH:Lcom/google/common/net/MediaType;
       117: .line 503
            ldc "application"
            ldc "vnd.sketchup.skp"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.SKETCHUP:Lcom/google/common/net/MediaType;
       118: .line 515
            ldc "application"
            ldc "soap+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.SOAP_XML_UTF_8:Lcom/google/common/net/MediaType;
       119: .line 517
            ldc "application"
            ldc "x-tar"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.TAR:Lcom/google/common/net/MediaType;
       120: .line 526
            ldc "application"
            ldc "font-woff"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WOFF:Lcom/google/common/net/MediaType;
       121: .line 533
            ldc "application"
            ldc "font-woff2"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.WOFF2:Lcom/google/common/net/MediaType;
       122: .line 535
            ldc "application"
            ldc "xhtml+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.XHTML_UTF_8:Lcom/google/common/net/MediaType;
       123: .line 542
            ldc "application"
            ldc "xrd+xml"
            invokestatic com.google.common.net.MediaType.createConstantUtf8:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.XRD_UTF_8:Lcom/google/common/net/MediaType;
       124: .line 544
            ldc "application"
            ldc "zip"
            invokestatic com.google.common.net.MediaType.createConstant:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            putstatic com.google.common.net.MediaType.ZIP:Lcom/google/common/net/MediaType;
       125: .line 936
            ldc "; "
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            ldc "="
            invokevirtual com.google.common.base.Joiner.withKeyValueSeparator:(Ljava/lang/String;)Lcom/google/common/base/Joiner$MapJoiner;
            putstatic com.google.common.net.MediaType.PARAMETER_JOINER:Lcom/google/common/base/Joiner$MapJoiner;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static com.google.common.net.MediaType createConstant(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String type
        start local 1 // java.lang.String subtype
         0: .line 110
            new com.google.common.net.MediaType
            dup
            aload 0 /* type */
            aload 1 /* subtype */
            invokestatic com.google.common.collect.ImmutableListMultimap.of:()Lcom/google/common/collect/ImmutableListMultimap;
            invokespecial com.google.common.net.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap;)V
            invokestatic com.google.common.net.MediaType.addKnownType:(Lcom/google/common/net/MediaType;)Lcom/google/common/net/MediaType;
         1: .line 109
            astore 2 /* mediaType */
        start local 2 // com.google.common.net.MediaType mediaType
         2: .line 111
            aload 2 /* mediaType */
            invokestatic com.google.common.base.Optional.absent:()Lcom/google/common/base/Optional;
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
         3: .line 112
            aload 2 /* mediaType */
            areturn
        end local 2 // com.google.common.net.MediaType mediaType
        end local 1 // java.lang.String subtype
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       type  Ljava/lang/String;
            0    4     1    subtype  Ljava/lang/String;
            2    4     2  mediaType  Lcom/google/common/net/MediaType;
    MethodParameters:
         Name  Flags
      type     
      subtype  

  private static com.google.common.net.MediaType createConstantUtf8(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String type
        start local 1 // java.lang.String subtype
         0: .line 116
            new com.google.common.net.MediaType
            dup
            aload 0 /* type */
            aload 1 /* subtype */
            getstatic com.google.common.net.MediaType.UTF_8_CONSTANT_PARAMETERS:Lcom/google/common/collect/ImmutableListMultimap;
            invokespecial com.google.common.net.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap;)V
            invokestatic com.google.common.net.MediaType.addKnownType:(Lcom/google/common/net/MediaType;)Lcom/google/common/net/MediaType;
            astore 2 /* mediaType */
        start local 2 // com.google.common.net.MediaType mediaType
         1: .line 117
            aload 2 /* mediaType */
            getstatic com.google.common.base.Charsets.UTF_8:Ljava/nio/charset/Charset;
            invokestatic com.google.common.base.Optional.of:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
         2: .line 118
            aload 2 /* mediaType */
            areturn
        end local 2 // com.google.common.net.MediaType mediaType
        end local 1 // java.lang.String subtype
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       type  Ljava/lang/String;
            0    3     1    subtype  Ljava/lang/String;
            1    3     2  mediaType  Lcom/google/common/net/MediaType;
    MethodParameters:
         Name  Flags
      type     
      subtype  

  private static com.google.common.net.MediaType addKnownType(com.google.common.net.MediaType);
    descriptor: (Lcom/google/common/net/MediaType;)Lcom/google/common/net/MediaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType mediaType
         0: .line 122
            getstatic com.google.common.net.MediaType.KNOWN_TYPES:Ljava/util/Map;
            aload 0 /* mediaType */
            aload 0 /* mediaType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 123
            aload 0 /* mediaType */
            areturn
        end local 0 // com.google.common.net.MediaType mediaType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  mediaType  Lcom/google/common/net/MediaType;
    MethodParameters:
           Name  Flags
      mediaType  

  private void <init>(java.lang.String, java.lang.String, com.google.common.collect.ImmutableListMultimap<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.google.common.net.MediaType this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String subtype
        start local 3 // com.google.common.collect.ImmutableListMultimap parameters
         0: .line 556
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 557
            aload 0 /* this */
            aload 1 /* type */
            putfield com.google.common.net.MediaType.type:Ljava/lang/String;
         2: .line 558
            aload 0 /* this */
            aload 2 /* subtype */
            putfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
         3: .line 559
            aload 0 /* this */
            aload 3 /* parameters */
            putfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
         4: .line 560
            return
        end local 3 // com.google.common.collect.ImmutableListMultimap parameters
        end local 2 // java.lang.String subtype
        end local 1 // java.lang.String type
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/google/common/net/MediaType;
            0    5     1        type  Ljava/lang/String;
            0    5     2     subtype  Ljava/lang/String;
            0    5     3  parameters  Lcom/google/common/collect/ImmutableListMultimap<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      type        
      subtype     
      parameters  

  public java.lang.String type();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 564
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            areturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/net/MediaType;

  public java.lang.String subtype();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 569
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            areturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/net/MediaType;

  public com.google.common.collect.ImmutableListMultimap<java.lang.String, java.lang.String> parameters();
    descriptor: ()Lcom/google/common/collect/ImmutableListMultimap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 574
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            areturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/net/MediaType;
    Signature: ()Lcom/google/common/collect/ImmutableListMultimap<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.Map<java.lang.String, com.google.common.collect.ImmutableMultiset<java.lang.String>> parametersAsMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 579
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.asMap:()Lcom/google/common/collect/ImmutableMap;
         1: .line 580
            new com.google.common.net.MediaType$1
            dup
            aload 0 /* this */
            invokespecial com.google.common.net.MediaType$1.<init>:(Lcom/google/common/net/MediaType;)V
         2: .line 578
            invokestatic com.google.common.collect.Maps.transformValues:(Ljava/util/Map;Lcom/google/common/base/Function;)Ljava/util/Map;
            areturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/net/MediaType;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/google/common/collect/ImmutableMultiset<Ljava/lang/String;>;>;

  public com.google.common.base.Optional<java.nio.charset.Charset> charset();
    descriptor: ()Lcom/google/common/base/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 598
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
            astore 1 /* local */
        start local 1 // com.google.common.base.Optional local
         1: .line 599
            aload 1 /* local */
            ifnonnull 16
         2: .line 600
            aconst_null
            astore 2 /* value */
        start local 2 // java.lang.String value
         3: .line 601
            invokestatic com.google.common.base.Optional.absent:()Lcom/google/common/base/Optional;
            astore 1 /* local */
         4: .line 602
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            ldc "charset"
            invokevirtual com.google.common.collect.ImmutableListMultimap.get:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            invokevirtual com.google.common.collect.ImmutableList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: com.google.common.net.MediaType com.google.common.base.Optional java.lang.String top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* currentValue */
        start local 3 // java.lang.String currentValue
         6: .line 603
            aload 2 /* value */
            ifnonnull 10
         7: .line 604
            aload 3 /* currentValue */
            astore 2 /* value */
         8: .line 605
            aload 2 /* value */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokestatic com.google.common.base.Optional.of:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
            astore 1 /* local */
         9: .line 606
            goto 14
      StackMap locals: com.google.common.net.MediaType com.google.common.base.Optional java.lang.String java.lang.String java.util.Iterator
      StackMap stack:
        10: aload 2 /* value */
            aload 3 /* currentValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        11: .line 607
            new java.lang.IllegalStateException
            dup
        12: .line 608
            new java.lang.StringBuilder
            dup
            ldc "Multiple charset values defined: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* currentValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 607
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String currentValue
        14: .line 602
      StackMap locals: com.google.common.net.MediaType com.google.common.base.Optional java.lang.String top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        15: .line 611
            aload 0 /* this */
            aload 1 /* local */
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
        end local 2 // java.lang.String value
        16: .line 613
      StackMap locals: com.google.common.net.MediaType com.google.common.base.Optional
      StackMap stack:
            aload 1 /* local */
            areturn
        end local 1 // com.google.common.base.Optional local
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/google/common/net/MediaType;
            1   17     1         local  Lcom/google/common/base/Optional<Ljava/nio/charset/Charset;>;
            3   16     2         value  Ljava/lang/String;
            6   14     3  currentValue  Ljava/lang/String;
    Signature: ()Lcom/google/common/base/Optional<Ljava/nio/charset/Charset;>;

  public com.google.common.net.MediaType withoutParameters();
    descriptor: ()Lcom/google/common/net/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 621
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
      StackMap locals:
      StackMap stack: com.google.common.net.MediaType
         2: areturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/net/MediaType;

  public com.google.common.net.MediaType withParameters(com.google.common.collect.Multimap<java.lang.String, java.lang.String>);
    descriptor: (Lcom/google/common/collect/Multimap;)Lcom/google/common/net/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.common.net.MediaType this
        start local 1 // com.google.common.collect.Multimap parameters
         0: .line 630
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            aload 1 /* parameters */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/Multimap;)Lcom/google/common/net/MediaType;
            areturn
        end local 1 // com.google.common.collect.Multimap parameters
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/google/common/net/MediaType;
            0    1     1  parameters  Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/lang/String;>;)Lcom/google/common/net/MediaType;
    MethodParameters:
            Name  Flags
      parameters  

  public com.google.common.net.MediaType withParameters(java.lang.String, java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Lcom/google/common/net/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // com.google.common.net.MediaType this
        start local 1 // java.lang.String attribute
        start local 2 // java.lang.Iterable values
         0: .line 642
            aload 1 /* attribute */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 643
            aload 2 /* values */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 644
            aload 1 /* attribute */
            invokestatic com.google.common.net.MediaType.normalizeToken:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* normalizedAttribute */
        start local 3 // java.lang.String normalizedAttribute
         3: .line 645
            invokestatic com.google.common.collect.ImmutableListMultimap.builder:()Lcom/google/common/collect/ImmutableListMultimap$Builder;
            astore 4 /* builder */
        start local 4 // com.google.common.collect.ImmutableListMultimap$Builder builder
         4: .line 646
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.entries:()Lcom/google/common/collect/ImmutableCollection;
            invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: com.google.common.net.MediaType java.lang.String java.lang.Iterable java.lang.String com.google.common.collect.ImmutableListMultimap$Builder top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         6: .line 647
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* key */
        start local 7 // java.lang.String key
         7: .line 648
            aload 3 /* normalizedAttribute */
            aload 7 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 649
            aload 4 /* builder */
            aload 7 /* key */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableListMultimap$Builder;
            pop
        end local 7 // java.lang.String key
        end local 5 // java.util.Map$Entry entry
         9: .line 646
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 652
            aload 2 /* values */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* value */
        start local 5 // java.lang.String value
        12: .line 653
            aload 4 /* builder */
            aload 3 /* normalizedAttribute */
            aload 3 /* normalizedAttribute */
            aload 5 /* value */
            invokestatic com.google.common.net.MediaType.normalizeParameterValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableListMultimap$Builder;
            pop
        end local 5 // java.lang.String value
        13: .line 652
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 655
            new com.google.common.net.MediaType
            dup
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            aload 4 /* builder */
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.build:()Lcom/google/common/collect/ImmutableListMultimap;
            invokespecial com.google.common.net.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap;)V
            astore 5 /* mediaType */
        start local 5 // com.google.common.net.MediaType mediaType
        15: .line 657
            aload 3 /* normalizedAttribute */
            ldc "charset"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 658
            aload 5 /* mediaType */
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
        17: .line 661
      StackMap locals: com.google.common.net.MediaType java.lang.String java.lang.Iterable java.lang.String com.google.common.collect.ImmutableListMultimap$Builder com.google.common.net.MediaType
      StackMap stack:
            getstatic com.google.common.net.MediaType.KNOWN_TYPES:Ljava/util/Map;
            aload 5 /* mediaType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.net.MediaType
            aload 5 /* mediaType */
            invokestatic com.google.common.base.MoreObjects.firstNonNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.net.MediaType
            areturn
        end local 5 // com.google.common.net.MediaType mediaType
        end local 4 // com.google.common.collect.ImmutableListMultimap$Builder builder
        end local 3 // java.lang.String normalizedAttribute
        end local 2 // java.lang.Iterable values
        end local 1 // java.lang.String attribute
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lcom/google/common/net/MediaType;
            0   18     1            attribute  Ljava/lang/String;
            0   18     2               values  Ljava/lang/Iterable<Ljava/lang/String;>;
            3   18     3  normalizedAttribute  Ljava/lang/String;
            4   18     4              builder  Lcom/google/common/collect/ImmutableListMultimap$Builder<Ljava/lang/String;Ljava/lang/String;>;
            6    9     5                entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            7    9     7                  key  Ljava/lang/String;
           12   13     5                value  Ljava/lang/String;
           15   18     5            mediaType  Lcom/google/common/net/MediaType;
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Ljava/lang/String;>;)Lcom/google/common/net/MediaType;
    MethodParameters:
           Name  Flags
      attribute  
      values     

  public com.google.common.net.MediaType withParameter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.net.MediaType this
        start local 1 // java.lang.String attribute
        start local 2 // java.lang.String value
         0: .line 673
            aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* value */
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            invokevirtual com.google.common.net.MediaType.withParameters:(Ljava/lang/String;Ljava/lang/Iterable;)Lcom/google/common/net/MediaType;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String attribute
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/google/common/net/MediaType;
            0    1     1  attribute  Ljava/lang/String;
            0    1     2      value  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      attribute  
      value      

  public com.google.common.net.MediaType withCharset(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Lcom/google/common/net/MediaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.net.MediaType this
        start local 1 // java.nio.charset.Charset charset
         0: .line 686
            aload 1 /* charset */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 687
            aload 0 /* this */
            ldc "charset"
            aload 1 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual com.google.common.net.MediaType.withParameter:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            astore 2 /* withCharset */
        start local 2 // com.google.common.net.MediaType withCharset
         2: .line 689
            aload 2 /* withCharset */
            aload 1 /* charset */
            invokestatic com.google.common.base.Optional.of:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
         3: .line 690
            aload 2 /* withCharset */
            areturn
        end local 2 // com.google.common.net.MediaType withCharset
        end local 1 // java.nio.charset.Charset charset
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/common/net/MediaType;
            0    4     1      charset  Ljava/nio/charset/Charset;
            2    4     2  withCharset  Lcom/google/common/net/MediaType;
    MethodParameters:
         Name  Flags
      charset  

  public boolean hasWildcard();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 695
            ldc "*"
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            ldc "*"
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/net/MediaType;

  public boolean is(com.google.common.net.MediaType);
    descriptor: (Lcom/google/common/net/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.net.MediaType this
        start local 1 // com.google.common.net.MediaType mediaTypeRange
         0: .line 728
            aload 1 /* mediaTypeRange */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 1 /* mediaTypeRange */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 729
      StackMap locals:
      StackMap stack:
            aload 1 /* mediaTypeRange */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 1 /* mediaTypeRange */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.entries:()Lcom/google/common/collect/ImmutableCollection;
            aload 1 /* mediaTypeRange */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.entries:()Lcom/google/common/collect/ImmutableCollection;
            invokevirtual com.google.common.collect.ImmutableCollection.containsAll:(Ljava/util/Collection;)Z
            ifeq 4
         3: .line 728
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // com.google.common.net.MediaType mediaTypeRange
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lcom/google/common/net/MediaType;
            0    5     1  mediaTypeRange  Lcom/google/common/net/MediaType;
    MethodParameters:
                Name  Flags
      mediaTypeRange  

  public static com.google.common.net.MediaType create(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String type
        start local 1 // java.lang.String subtype
         0: .line 740
            aload 0 /* type */
            aload 1 /* subtype */
            invokestatic com.google.common.collect.ImmutableListMultimap.of:()Lcom/google/common/collect/ImmutableListMultimap;
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/Multimap;)Lcom/google/common/net/MediaType;
            astore 2 /* mediaType */
        start local 2 // com.google.common.net.MediaType mediaType
         1: .line 741
            aload 2 /* mediaType */
            invokestatic com.google.common.base.Optional.absent:()Lcom/google/common/base/Optional;
            putfield com.google.common.net.MediaType.parsedCharset:Lcom/google/common/base/Optional;
         2: .line 742
            aload 2 /* mediaType */
            areturn
        end local 2 // com.google.common.net.MediaType mediaType
        end local 1 // java.lang.String subtype
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       type  Ljava/lang/String;
            0    3     1    subtype  Ljava/lang/String;
            1    3     2  mediaType  Lcom/google/common/net/MediaType;
    MethodParameters:
         Name  Flags
      type     
      subtype  

  private static com.google.common.net.MediaType create(java.lang.String, java.lang.String, com.google.common.collect.Multimap<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/Multimap;)Lcom/google/common/net/MediaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.String subtype
        start local 2 // com.google.common.collect.Multimap parameters
         0: .line 747
            aload 0 /* type */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 748
            aload 1 /* subtype */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 749
            aload 2 /* parameters */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 750
            aload 0 /* type */
            invokestatic com.google.common.net.MediaType.normalizeToken:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* normalizedType */
        start local 3 // java.lang.String normalizedType
         4: .line 751
            aload 1 /* subtype */
            invokestatic com.google.common.net.MediaType.normalizeToken:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* normalizedSubtype */
        start local 4 // java.lang.String normalizedSubtype
         5: .line 753
            ldc "*"
            aload 3 /* normalizedType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            ldc "*"
            aload 4 /* normalizedSubtype */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         6: iconst_1
         7: .line 754
      StackMap locals:
      StackMap stack: int
            ldc "A wildcard type cannot be used with a non-wildcard subtype"
         8: .line 752
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/Object;)V
         9: .line 755
            invokestatic com.google.common.collect.ImmutableListMultimap.builder:()Lcom/google/common/collect/ImmutableListMultimap$Builder;
            astore 5 /* builder */
        start local 5 // com.google.common.collect.ImmutableListMultimap$Builder builder
        10: .line 756
            aload 2 /* parameters */
            invokeinterface com.google.common.collect.Multimap.entries:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: java.lang.String java.lang.String com.google.common.collect.Multimap java.lang.String java.lang.String com.google.common.collect.ImmutableListMultimap$Builder top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        12: .line 757
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.google.common.net.MediaType.normalizeToken:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* attribute */
        start local 8 // java.lang.String attribute
        13: .line 758
            aload 5 /* builder */
            aload 8 /* attribute */
            aload 8 /* attribute */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.google.common.net.MediaType.normalizeParameterValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableListMultimap$Builder;
            pop
        end local 8 // java.lang.String attribute
        end local 6 // java.util.Map$Entry entry
        14: .line 756
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 760
            new com.google.common.net.MediaType
            dup
            aload 3 /* normalizedType */
            aload 4 /* normalizedSubtype */
            aload 5 /* builder */
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.build:()Lcom/google/common/collect/ImmutableListMultimap;
            invokespecial com.google.common.net.MediaType.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/ImmutableListMultimap;)V
            astore 6 /* mediaType */
        start local 6 // com.google.common.net.MediaType mediaType
        16: .line 762
            getstatic com.google.common.net.MediaType.KNOWN_TYPES:Ljava/util/Map;
            aload 6 /* mediaType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.net.MediaType
            aload 6 /* mediaType */
            invokestatic com.google.common.base.MoreObjects.firstNonNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.net.MediaType
            areturn
        end local 6 // com.google.common.net.MediaType mediaType
        end local 5 // com.google.common.collect.ImmutableListMultimap$Builder builder
        end local 4 // java.lang.String normalizedSubtype
        end local 3 // java.lang.String normalizedType
        end local 2 // com.google.common.collect.Multimap parameters
        end local 1 // java.lang.String subtype
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               type  Ljava/lang/String;
            0   17     1            subtype  Ljava/lang/String;
            0   17     2         parameters  Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/lang/String;>;
            4   17     3     normalizedType  Ljava/lang/String;
            5   17     4  normalizedSubtype  Ljava/lang/String;
           10   17     5            builder  Lcom/google/common/collect/ImmutableListMultimap$Builder<Ljava/lang/String;Ljava/lang/String;>;
           12   14     6              entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           13   14     8          attribute  Ljava/lang/String;
           16   17     6          mediaType  Lcom/google/common/net/MediaType;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/lang/String;>;)Lcom/google/common/net/MediaType;
    MethodParameters:
            Name  Flags
      type        
      subtype     
      parameters  

  static com.google.common.net.MediaType createApplicationType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 771
            ldc "application"
            aload 0 /* subtype */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            areturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  static com.google.common.net.MediaType createAudioType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 780
            ldc "audio"
            aload 0 /* subtype */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            areturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  static com.google.common.net.MediaType createImageType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 789
            ldc "image"
            aload 0 /* subtype */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            areturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  static com.google.common.net.MediaType createTextType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 798
            ldc "text"
            aload 0 /* subtype */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            areturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  static com.google.common.net.MediaType createVideoType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 807
            ldc "video"
            aload 0 /* subtype */
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/net/MediaType;
            areturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  private static java.lang.String normalizeToken(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String token
         0: .line 811
            getstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
            aload 0 /* token */
            invokevirtual com.google.common.base.CharMatcher.matchesAllOf:(Ljava/lang/CharSequence;)Z
            invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         1: .line 812
            aload 0 /* token */
            invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String token
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  token  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private static java.lang.String normalizeParameterValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String attribute
        start local 1 // java.lang.String value
         0: .line 816
            ldc "charset"
            aload 0 /* attribute */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* value */
            invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* value */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String attribute
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  attribute  Ljava/lang/String;
            0    3     1      value  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      attribute  
      value      

  public static com.google.common.net.MediaType parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/net/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String input
         0: .line 825
            aload 0 /* input */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 826
            new com.google.common.net.MediaType$Tokenizer
            dup
            aload 0 /* input */
            invokespecial com.google.common.net.MediaType$Tokenizer.<init>:(Ljava/lang/String;)V
            astore 1 /* tokenizer */
        start local 1 // com.google.common.net.MediaType$Tokenizer tokenizer
         2: .line 828
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeToken:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            astore 2 /* type */
        start local 2 // java.lang.String type
         3: .line 829
            aload 1 /* tokenizer */
            bipush 47
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
         4: .line 830
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeToken:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            astore 3 /* subtype */
        start local 3 // java.lang.String subtype
         5: .line 831
            invokestatic com.google.common.collect.ImmutableListMultimap.builder:()Lcom/google/common/collect/ImmutableListMultimap$Builder;
            astore 4 /* parameters */
        start local 4 // com.google.common.collect.ImmutableListMultimap$Builder parameters
         6: .line 832
            goto 27
         7: .line 833
      StackMap locals: java.lang.String com.google.common.net.MediaType$Tokenizer java.lang.String java.lang.String com.google.common.collect.ImmutableListMultimap$Builder
      StackMap stack:
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.LINEAR_WHITE_SPACE:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeTokenIfPresent:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            pop
         8: .line 834
            aload 1 /* tokenizer */
            bipush 59
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
         9: .line 835
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.LINEAR_WHITE_SPACE:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeTokenIfPresent:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            pop
        10: .line 836
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeToken:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            astore 5 /* attribute */
        start local 5 // java.lang.String attribute
        11: .line 837
            aload 1 /* tokenizer */
            bipush 61
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
        12: .line 839
            bipush 34
            aload 1 /* tokenizer */
            invokevirtual com.google.common.net.MediaType$Tokenizer.previewChar:()C
            if_icmpne 25
        13: .line 840
            aload 1 /* tokenizer */
            bipush 34
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
        14: .line 841
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* valueBuilder */
        start local 7 // java.lang.StringBuilder valueBuilder
        15: .line 842
            goto 21
        16: .line 843
      StackMap locals: java.lang.String com.google.common.net.MediaType$Tokenizer java.lang.String java.lang.String com.google.common.collect.ImmutableListMultimap$Builder java.lang.String top java.lang.StringBuilder
      StackMap stack:
            bipush 92
            aload 1 /* tokenizer */
            invokevirtual com.google.common.net.MediaType$Tokenizer.previewChar:()C
            if_icmpne 20
        17: .line 844
            aload 1 /* tokenizer */
            bipush 92
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
        18: .line 845
            aload 7 /* valueBuilder */
            aload 1 /* tokenizer */
            invokestatic com.google.common.base.CharMatcher.ascii:()Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(Lcom/google/common/base/CharMatcher;)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 846
            goto 21
        20: .line 847
      StackMap locals:
      StackMap stack:
            aload 7 /* valueBuilder */
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.QUOTED_TEXT_MATCHER:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeToken:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 842
      StackMap locals:
      StackMap stack:
            bipush 34
            aload 1 /* tokenizer */
            invokevirtual com.google.common.net.MediaType$Tokenizer.previewChar:()C
            if_icmpne 16
        22: .line 850
            aload 7 /* valueBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
        23: .line 851
            aload 1 /* tokenizer */
            bipush 34
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeCharacter:(C)C
            pop
        end local 7 // java.lang.StringBuilder valueBuilder
        24: .line 852
            goto 26
        end local 6 // java.lang.String value
        25: .line 853
      StackMap locals: java.lang.String com.google.common.net.MediaType$Tokenizer java.lang.String java.lang.String com.google.common.collect.ImmutableListMultimap$Builder java.lang.String
      StackMap stack:
            aload 1 /* tokenizer */
            getstatic com.google.common.net.MediaType.TOKEN_MATCHER:Lcom/google/common/base/CharMatcher;
            invokevirtual com.google.common.net.MediaType$Tokenizer.consumeToken:(Lcom/google/common/base/CharMatcher;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
        26: .line 855
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* parameters */
            aload 5 /* attribute */
            aload 6 /* value */
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableListMultimap$Builder;
            pop
        end local 6 // java.lang.String value
        end local 5 // java.lang.String attribute
        27: .line 832
      StackMap locals:
      StackMap stack:
            aload 1 /* tokenizer */
            invokevirtual com.google.common.net.MediaType$Tokenizer.hasMore:()Z
            ifne 7
        28: .line 857
            aload 2 /* type */
            aload 3 /* subtype */
            aload 4 /* parameters */
            invokevirtual com.google.common.collect.ImmutableListMultimap$Builder.build:()Lcom/google/common/collect/ImmutableListMultimap;
            invokestatic com.google.common.net.MediaType.create:(Ljava/lang/String;Ljava/lang/String;Lcom/google/common/collect/Multimap;)Lcom/google/common/net/MediaType;
        29: areturn
        end local 4 // com.google.common.collect.ImmutableListMultimap$Builder parameters
        end local 3 // java.lang.String subtype
        end local 2 // java.lang.String type
        30: .line 858
      StackMap locals: java.lang.String com.google.common.net.MediaType$Tokenizer
      StackMap stack: java.lang.IllegalStateException
            astore 2 /* e */
        start local 2 // java.lang.IllegalStateException e
        31: .line 859
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not parse '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* input */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalStateException e
        end local 1 // com.google.common.net.MediaType$Tokenizer tokenizer
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0         input  Ljava/lang/String;
            2   32     1     tokenizer  Lcom/google/common/net/MediaType$Tokenizer;
            3   30     2          type  Ljava/lang/String;
            5   30     3       subtype  Ljava/lang/String;
            6   30     4    parameters  Lcom/google/common/collect/ImmutableListMultimap$Builder<Ljava/lang/String;Ljava/lang/String;>;
           11   27     5     attribute  Ljava/lang/String;
           23   25     6         value  Ljava/lang/String;
           26   27     6         value  Ljava/lang/String;
           15   24     7  valueBuilder  Ljava/lang/StringBuilder;
           31   32     2             e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           2    29      30  Class java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      input  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.google.common.net.MediaType this
        start local 1 // java.lang.Object obj
         0: .line 912
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 913
            iconst_1
            ireturn
         2: .line 914
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof com.google.common.net.MediaType
            ifeq 9
         3: .line 915
            aload 1 /* obj */
            checkcast com.google.common.net.MediaType
            astore 2 /* that */
        start local 2 // com.google.common.net.MediaType that
         4: .line 916
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aload 2 /* that */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 917
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            aload 2 /* that */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 919
            aload 0 /* this */
            invokevirtual com.google.common.net.MediaType.parametersAsMap:()Ljava/util/Map;
            aload 2 /* that */
            invokevirtual com.google.common.net.MediaType.parametersAsMap:()Ljava/util/Map;
            invokeinterface java.util.Map.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 916
            iconst_1
            ireturn
      StackMap locals: com.google.common.net.MediaType
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // com.google.common.net.MediaType that
         9: .line 921
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/google/common/net/MediaType;
            0   10     1   obj  Ljava/lang/Object;
            4    9     2  that  Lcom/google/common/net/MediaType;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 928
            aload 0 /* this */
            getfield com.google.common.net.MediaType.hashCode:I
            istore 1 /* h */
        start local 1 // int h
         1: .line 929
            iload 1 /* h */
            ifne 4
         2: .line 930
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            invokevirtual com.google.common.net.MediaType.parametersAsMap:()Ljava/util/Map;
            aastore
            invokestatic com.google.common.base.Objects.hashCode:([Ljava/lang/Object;)I
            istore 1 /* h */
         3: .line 931
            aload 0 /* this */
            iload 1 /* h */
            putfield com.google.common.net.MediaType.hashCode:I
         4: .line 933
      StackMap locals: int
      StackMap stack:
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/google/common/net/MediaType;
            1    5     1     h  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 945
            aload 0 /* this */
            getfield com.google.common.net.MediaType.toString:Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 946
            aload 1 /* result */
            ifnonnull 4
         2: .line 947
            aload 0 /* this */
            invokevirtual com.google.common.net.MediaType.computeToString:()Ljava/lang/String;
            astore 1 /* result */
         3: .line 948
            aload 0 /* this */
            aload 1 /* result */
            putfield com.google.common.net.MediaType.toString:Ljava/lang/String;
         4: .line 950
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/common/net/MediaType;
            1    5     1  result  Ljava/lang/String;

  private java.lang.String computeToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.google.common.net.MediaType this
         0: .line 954
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.google.common.net.MediaType.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.google.common.net.MediaType.subtype:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 955
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
            invokevirtual com.google.common.collect.ImmutableListMultimap.isEmpty:()Z
            ifne 8
         2: .line 956
            aload 1 /* builder */
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 959
            aload 0 /* this */
            getfield com.google.common.net.MediaType.parameters:Lcom/google/common/collect/ImmutableListMultimap;
         4: .line 960
            new com.google.common.net.MediaType$2
            dup
            aload 0 /* this */
            invokespecial com.google.common.net.MediaType$2.<init>:(Lcom/google/common/net/MediaType;)V
         5: .line 958
            invokestatic com.google.common.collect.Multimaps.transformValues:(Lcom/google/common/collect/ListMultimap;Lcom/google/common/base/Function;)Lcom/google/common/collect/ListMultimap;
         6: .line 957
            astore 2 /* quotedParameters */
        start local 2 // com.google.common.collect.Multimap quotedParameters
         7: .line 966
            getstatic com.google.common.net.MediaType.PARAMETER_JOINER:Lcom/google/common/base/Joiner$MapJoiner;
            aload 1 /* builder */
            aload 2 /* quotedParameters */
            invokeinterface com.google.common.collect.Multimap.entries:()Ljava/util/Collection;
            invokevirtual com.google.common.base.Joiner$MapJoiner.appendTo:(Ljava/lang/StringBuilder;Ljava/lang/Iterable;)Ljava/lang/StringBuilder;
            pop
        end local 2 // com.google.common.collect.Multimap quotedParameters
         8: .line 968
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // com.google.common.net.MediaType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lcom/google/common/net/MediaType;
            1    9     1           builder  Ljava/lang/StringBuilder;
            7    8     2  quotedParameters  Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/lang/String;>;

  private static java.lang.String escapeAndQuote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String value
         0: .line 972
            new java.lang.StringBuilder
            dup
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            bipush 16
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            astore 1 /* escaped */
        start local 1 // java.lang.StringBuilder escaped
         1: .line 973
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 974
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* value */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         4: .line 975
            iload 3 /* ch */
            bipush 13
            if_icmpeq 5
            iload 3 /* ch */
            bipush 92
            if_icmpeq 5
            iload 3 /* ch */
            bipush 34
            if_icmpne 6
         5: .line 976
      StackMap locals: int
      StackMap stack:
            aload 1 /* escaped */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 978
      StackMap locals:
      StackMap stack:
            aload 1 /* escaped */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char ch
         7: .line 973
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
         9: .line 980
            aload 1 /* escaped */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder escaped
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0    value  Ljava/lang/String;
            1   10     1  escaped  Ljava/lang/StringBuilder;
            2    9     2        i  I
            4    7     3       ch  C
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "MediaType.java"
NestMembers:
  com.google.common.net.MediaType$1  com.google.common.net.MediaType$2  com.google.common.net.MediaType$Tokenizer
InnerClasses:
  public final MapJoiner = com.google.common.base.Joiner$MapJoiner of com.google.common.base.Joiner
  public final Builder = com.google.common.collect.ImmutableListMultimap$Builder of com.google.common.collect.ImmutableListMultimap
  com.google.common.net.MediaType$1
  com.google.common.net.MediaType$2
  private final Tokenizer = com.google.common.net.MediaType$Tokenizer of com.google.common.net.MediaType
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      com.google.errorprone.annotations.Immutable()
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtCompatible()