public class org.springframework.util.MimeType implements java.lang.Comparable<org.springframework.util.MimeType>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.util.MimeType
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4085923477777865903

  protected static final java.lang.String WILDCARD_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "*"

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

  private static final java.util.BitSet TOKEN;
    descriptor: Ljava/util/BitSet;
    flags: (0x001a) ACC_PRIVATE, 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 java.util.Map<java.lang.String, java.lang.String> parameters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private transient java.nio.charset.Charset resolvedCharset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private volatile java.lang.String toStringValue;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 68
            new java.util.BitSet
            dup
            sipush 128
            invokespecial java.util.BitSet.<init>:(I)V
            astore 0 /* ctl */
        start local 0 // java.util.BitSet ctl
         1: .line 69
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 70
      StackMap locals: java.util.BitSet int
      StackMap stack:
            aload 0 /* ctl */
            iload 1 /* i */
            invokevirtual java.util.BitSet.set:(I)V
         4: .line 69
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            bipush 31
            if_icmple 3
        end local 1 // int i
         6: .line 72
            aload 0 /* ctl */
            bipush 127
            invokevirtual java.util.BitSet.set:(I)V
         7: .line 74
            new java.util.BitSet
            dup
            sipush 128
            invokespecial java.util.BitSet.<init>:(I)V
            astore 1 /* separators */
        start local 1 // java.util.BitSet separators
         8: .line 75
            aload 1 /* separators */
            bipush 40
            invokevirtual java.util.BitSet.set:(I)V
         9: .line 76
            aload 1 /* separators */
            bipush 41
            invokevirtual java.util.BitSet.set:(I)V
        10: .line 77
            aload 1 /* separators */
            bipush 60
            invokevirtual java.util.BitSet.set:(I)V
        11: .line 78
            aload 1 /* separators */
            bipush 62
            invokevirtual java.util.BitSet.set:(I)V
        12: .line 79
            aload 1 /* separators */
            bipush 64
            invokevirtual java.util.BitSet.set:(I)V
        13: .line 80
            aload 1 /* separators */
            bipush 44
            invokevirtual java.util.BitSet.set:(I)V
        14: .line 81
            aload 1 /* separators */
            bipush 59
            invokevirtual java.util.BitSet.set:(I)V
        15: .line 82
            aload 1 /* separators */
            bipush 58
            invokevirtual java.util.BitSet.set:(I)V
        16: .line 83
            aload 1 /* separators */
            bipush 92
            invokevirtual java.util.BitSet.set:(I)V
        17: .line 84
            aload 1 /* separators */
            bipush 34
            invokevirtual java.util.BitSet.set:(I)V
        18: .line 85
            aload 1 /* separators */
            bipush 47
            invokevirtual java.util.BitSet.set:(I)V
        19: .line 86
            aload 1 /* separators */
            bipush 91
            invokevirtual java.util.BitSet.set:(I)V
        20: .line 87
            aload 1 /* separators */
            bipush 93
            invokevirtual java.util.BitSet.set:(I)V
        21: .line 88
            aload 1 /* separators */
            bipush 63
            invokevirtual java.util.BitSet.set:(I)V
        22: .line 89
            aload 1 /* separators */
            bipush 61
            invokevirtual java.util.BitSet.set:(I)V
        23: .line 90
            aload 1 /* separators */
            bipush 123
            invokevirtual java.util.BitSet.set:(I)V
        24: .line 91
            aload 1 /* separators */
            bipush 125
            invokevirtual java.util.BitSet.set:(I)V
        25: .line 92
            aload 1 /* separators */
            bipush 32
            invokevirtual java.util.BitSet.set:(I)V
        26: .line 93
            aload 1 /* separators */
            bipush 9
            invokevirtual java.util.BitSet.set:(I)V
        27: .line 95
            new java.util.BitSet
            dup
            sipush 128
            invokespecial java.util.BitSet.<init>:(I)V
            putstatic org.springframework.util.MimeType.TOKEN:Ljava/util/BitSet;
        28: .line 96
            getstatic org.springframework.util.MimeType.TOKEN:Ljava/util/BitSet;
            iconst_0
            sipush 128
            invokevirtual java.util.BitSet.set:(II)V
        29: .line 97
            getstatic org.springframework.util.MimeType.TOKEN:Ljava/util/BitSet;
            aload 0 /* ctl */
            invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
        30: .line 98
            getstatic org.springframework.util.MimeType.TOKEN:Ljava/util/BitSet;
            aload 1 /* separators */
            invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
        end local 1 // java.util.BitSet separators
        end local 0 // java.util.BitSet ctl
        31: .line 99
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   31     0         ctl  Ljava/util/BitSet;
            2    6     1           i  I
            8   31     1  separators  Ljava/util/BitSet;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String type
         0: .line 123
            aload 0 /* this */
            aload 1 /* type */
            ldc "*"
            invokespecial org.springframework.util.MimeType.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 124
            return
        end local 1 // java.lang.String type
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/util/MimeType;
            0    2     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String subtype
         0: .line 134
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* subtype */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokespecial org.springframework.util.MimeType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 135
            return
        end local 2 // java.lang.String subtype
        end local 1 // java.lang.String type
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/util/MimeType;
            0    2     1     type  Ljava/lang/String;
            0    2     2  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      type     
      subtype  

  public void <init>(java.lang.String, java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String subtype
        start local 3 // java.nio.charset.Charset charset
         0: .line 145
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* subtype */
            ldc "charset"
            aload 3 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            invokespecial org.springframework.util.MimeType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 146
            aload 0 /* this */
            aload 3 /* charset */
            putfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
         2: .line 147
            return
        end local 3 // java.nio.charset.Charset charset
        end local 2 // java.lang.String subtype
        end local 1 // java.lang.String type
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/util/MimeType;
            0    3     1     type  Ljava/lang/String;
            0    3     2  subtype  Ljava/lang/String;
            0    3     3  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      type     
      subtype  
      charset  

  public void <init>(org.springframework.util.MimeType, java.nio.charset.Charset);
    descriptor: (Lorg/springframework/util/MimeType;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
        start local 2 // java.nio.charset.Charset charset
         0: .line 158
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 2 /* charset */
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            invokestatic org.springframework.util.MimeType.addCharsetParameter:(Ljava/nio/charset/Charset;Ljava/util/Map;)Ljava/util/Map;
            invokespecial org.springframework.util.MimeType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 159
            aload 0 /* this */
            aload 2 /* charset */
            putfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
         2: .line 160
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/util/MimeType;
            0    3     1    other  Lorg/springframework/util/MimeType;
            0    3     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      other    
      charset  

  public void <init>(org.springframework.util.MimeType, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/springframework/util/MimeType;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
        start local 2 // java.util.Map parameters
         0: .line 170
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 2 /* parameters */
            invokespecial org.springframework.util.MimeType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
         1: .line 171
            return
        end local 2 // java.util.Map parameters
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/springframework/util/MimeType;
            0    2     1       other  Lorg/springframework/util/MimeType;
            0    2     2  parameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lorg/springframework/util/MimeType;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      other       
      parameters  

  public void <init>(java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String subtype
        start local 3 // java.util.Map parameters
         0: .line 180
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 181
            aload 1 /* type */
            ldc "'type' must not be empty"
            invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 182
            aload 2 /* subtype */
            ldc "'subtype' must not be empty"
            invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 183
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.springframework.util.MimeType.checkToken:(Ljava/lang/String;)V
         4: .line 184
            aload 0 /* this */
            aload 2 /* subtype */
            invokevirtual org.springframework.util.MimeType.checkToken:(Ljava/lang/String;)V
         5: .line 185
            aload 0 /* this */
            aload 1 /* type */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield org.springframework.util.MimeType.type:Ljava/lang/String;
         6: .line 186
            aload 0 /* this */
            aload 2 /* subtype */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
         7: .line 187
            aload 3 /* parameters */
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Map;)Z
            ifne 12
         8: .line 188
            new org.springframework.util.LinkedCaseInsensitiveMap
            dup
            aload 3 /* parameters */
            invokeinterface java.util.Map.size:()I
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokespecial org.springframework.util.LinkedCaseInsensitiveMap.<init>:(ILjava/util/Locale;)V
            astore 4 /* map */
        start local 4 // java.util.Map map
         9: .line 189
            aload 3 /* parameters */
            aload 0 /* this */
            aload 4 /* map */
            invokedynamic accept(Lorg/springframework/util/MimeType;Ljava/util/Map;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/springframework/util/MimeType.lambda$0(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
        10: .line 193
            aload 0 /* this */
            aload 4 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
        end local 4 // java.util.Map map
        11: .line 194
            goto 13
        12: .line 196
      StackMap locals: org.springframework.util.MimeType java.lang.String java.lang.String java.util.Map
      StackMap stack:
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
        13: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map parameters
        end local 2 // java.lang.String subtype
        end local 1 // java.lang.String type
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/springframework/util/MimeType;
            0   14     1        type  Ljava/lang/String;
            0   14     2     subtype  Ljava/lang/String;
            0   14     3  parameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            9   11     4         map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      type        
      subtype     
      parameters  

  protected void <init>(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 206
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 207
            aload 0 /* this */
            aload 1 /* other */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            putfield org.springframework.util.MimeType.type:Ljava/lang/String;
         2: .line 208
            aload 0 /* this */
            aload 1 /* other */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            putfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
         3: .line 209
            aload 0 /* this */
            aload 1 /* other */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            putfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
         4: .line 210
            aload 0 /* this */
            aload 1 /* other */
            getfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
            putfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
         5: .line 211
            aload 0 /* this */
            aload 1 /* other */
            getfield org.springframework.util.MimeType.toStringValue:Ljava/lang/String;
            putfield org.springframework.util.MimeType.toStringValue:Ljava/lang/String;
         6: .line 212
            return
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/springframework/util/MimeType;
            0    7     1  other  Lorg/springframework/util/MimeType;
    MethodParameters:
       Name  Flags
      other  

  private void checkToken(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String token
         0: .line 221
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 222
      StackMap locals: int
      StackMap stack:
            aload 1 /* token */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         3: .line 223
            getstatic org.springframework.util.MimeType.TOKEN:Ljava/util/BitSet;
            iload 3 /* ch */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 5
         4: .line 224
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid token character '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' in token \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* token */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // char ch
         5: .line 221
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 2 // int i
         7: .line 227
            return
        end local 1 // java.lang.String token
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/springframework/util/MimeType;
            0    8     1  token  Ljava/lang/String;
            1    7     2      i  I
            3    5     3     ch  C
    MethodParameters:
       Name  Flags
      token  

  protected void checkParameters(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String parameter
        start local 2 // java.lang.String value
         0: .line 230
            aload 1 /* parameter */
            ldc "'parameter' must not be empty"
            invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 231
            aload 2 /* value */
            ldc "'value' must not be empty"
            invokestatic org.springframework.util.Assert.hasLength:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 232
            aload 0 /* this */
            aload 1 /* parameter */
            invokevirtual org.springframework.util.MimeType.checkToken:(Ljava/lang/String;)V
         3: .line 233
            ldc "charset"
            aload 1 /* parameter */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 234
            aload 0 /* this */
            getfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
            ifnonnull 9
         5: .line 235
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.springframework.util.MimeType.unquote:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
         6: .line 237
            goto 9
         7: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.springframework.util.MimeType.isQuotedString:(Ljava/lang/String;)Z
            ifne 9
         8: .line 239
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.springframework.util.MimeType.checkToken:(Ljava/lang/String;)V
         9: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String parameter
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/springframework/util/MimeType;
            0   10     1  parameter  Ljava/lang/String;
            0   10     2      value  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      parameter  
      value      

  private boolean isQuotedString(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String s
         0: .line 244
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpge 2
         1: .line 245
            iconst_0
            ireturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 1 /* s */
            ldc "\""
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 5
      StackMap locals:
      StackMap stack:
         3: aload 1 /* s */
            ldc "'"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
            aload 1 /* s */
            ldc "'"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 1 // java.lang.String s
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/util/MimeType;
            0    6     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected java.lang.String unquote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String s
         0: .line 253
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.springframework.util.MimeType.isQuotedString:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* s */
            iconst_1
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String s
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/util/MimeType;
            0    3     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public boolean isWildcardType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 261
            ldc "*"
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;

  public boolean isWildcardSubtype();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 271
            ldc "*"
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            ldc "*+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/util/MimeType;

  public boolean isConcrete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 280
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardType:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/util/MimeType;

  public java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 287
            aload 0 /* this */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;

  public java.lang.String getSubtype();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 294
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;

  public java.lang.String getSubtypeSuffix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 303
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            bipush 43
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* suffixIndex */
        start local 1 // int suffixIndex
         1: .line 304
            iload 1 /* suffixIndex */
            iconst_m1
            if_icmpeq 3
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 1 /* suffixIndex */
            if_icmple 3
         2: .line 305
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            iload 1 /* suffixIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         3: .line 307
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int suffixIndex
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/util/MimeType;
            1    4     1  suffixIndex  I
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.nio.charset.Charset getCharset();
    descriptor: ()Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 317
            aload 0 /* this */
            getfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
            areturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.lang.String getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.String name
         0: .line 327
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;
            0    1     1  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      name  

  public java.util.Map<java.lang.String, java.lang.String> getParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 335
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            areturn
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/MimeType;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public boolean includes(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 348
            aload 1 /* other */
            ifnonnull 2
         1: .line 349
            iconst_0
            ireturn
         2: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardType:()Z
            ifeq 4
         3: .line 353
            iconst_1
            ireturn
         4: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
         5: .line 356
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 357
            iconst_1
            ireturn
         7: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifeq 18
         8: .line 361
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            bipush 43
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* thisPlusIdx */
        start local 2 // int thisPlusIdx
         9: .line 362
            iload 2 /* thisPlusIdx */
            iconst_m1
            if_icmpne 11
        10: .line 363
            iconst_1
            ireturn
        11: .line 367
      StackMap locals: int
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            bipush 43
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* otherPlusIdx */
        start local 3 // int otherPlusIdx
        12: .line 368
            iload 3 /* otherPlusIdx */
            iconst_m1
            if_icmpeq 18
        13: .line 369
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            iconst_0
            iload 2 /* thisPlusIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* thisSubtypeNoSuffix */
        start local 4 // java.lang.String thisSubtypeNoSuffix
        14: .line 370
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            iload 2 /* thisPlusIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* thisSubtypeSuffix */
        start local 5 // java.lang.String thisSubtypeSuffix
        15: .line 371
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            iload 3 /* otherPlusIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* otherSubtypeSuffix */
        start local 6 // java.lang.String otherSubtypeSuffix
        16: .line 372
            aload 5 /* thisSubtypeSuffix */
            aload 6 /* otherSubtypeSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
            ldc "*"
            aload 4 /* thisSubtypeNoSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 373
            iconst_1
            ireturn
        end local 6 // java.lang.String otherSubtypeSuffix
        end local 5 // java.lang.String thisSubtypeSuffix
        end local 4 // java.lang.String thisSubtypeNoSuffix
        end local 3 // int otherPlusIdx
        end local 2 // int thisPlusIdx
        18: .line 379
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Lorg/springframework/util/MimeType;
            0   19     1                other  Lorg/springframework/util/MimeType;
            9   18     2          thisPlusIdx  I
           12   18     3         otherPlusIdx  I
           14   18     4  thisSubtypeNoSuffix  Ljava/lang/String;
           15   18     5    thisSubtypeSuffix  Ljava/lang/String;
           16   18     6   otherSubtypeSuffix  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  public boolean isCompatibleWith(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 392
            aload 1 /* other */
            ifnonnull 2
         1: .line 393
            iconst_0
            ireturn
         2: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardType:()Z
            ifne 3
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.isWildcardType:()Z
            ifeq 4
         3: .line 396
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
         5: .line 399
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 400
            iconst_1
            ireturn
         7: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifne 8
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifeq 18
         8: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtypeSuffix:()Ljava/lang/String;
            astore 2 /* thisSuffix */
        start local 2 // java.lang.String thisSuffix
         9: .line 404
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtypeSuffix:()Ljava/lang/String;
            astore 3 /* otherSuffix */
        start local 3 // java.lang.String otherSuffix
        10: .line 405
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 406
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_1
            ireturn
        12: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifeq 15
            aload 2 /* thisSuffix */
            ifnull 15
        13: .line 409
            aload 2 /* thisSuffix */
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            aload 2 /* thisSuffix */
            aload 3 /* otherSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_1
            ireturn
        15: .line 411
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.isWildcardSubtype:()Z
            ifeq 18
            aload 3 /* otherSuffix */
            ifnull 18
        16: .line 412
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 3 /* otherSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            aload 3 /* otherSuffix */
            aload 2 /* thisSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        17: iconst_1
            ireturn
        end local 3 // java.lang.String otherSuffix
        end local 2 // java.lang.String thisSuffix
        18: .line 416
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/springframework/util/MimeType;
            0   19     1        other  Lorg/springframework/util/MimeType;
            9   18     2   thisSuffix  Ljava/lang/String;
           10   18     3  otherSuffix  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  public boolean equalsTypeAndSubtype(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 427
            aload 1 /* other */
            ifnonnull 2
         1: .line 428
            iconst_0
            ireturn
         2: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            aload 1 /* other */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            aload 1 /* other */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/springframework/util/MimeType;
            0    4     1  other  Lorg/springframework/util/MimeType;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  public boolean isPresentIn(java.util.Collection<? extends org.springframework.util.MimeType>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.util.Collection mimeTypes
         0: .line 442
            aload 1 /* mimeTypes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.util.MimeType java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.util.MimeType
            astore 2 /* mimeType */
        start local 2 // org.springframework.util.MimeType mimeType
         2: .line 443
            aload 2 /* mimeType */
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.equalsTypeAndSubtype:(Lorg/springframework/util/MimeType;)Z
            ifeq 4
         3: .line 444
            iconst_1
            ireturn
        end local 2 // org.springframework.util.MimeType mimeType
         4: .line 442
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 447
            iconst_0
            ireturn
        end local 1 // java.util.Collection mimeTypes
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/springframework/util/MimeType;
            0    6     1  mimeTypes  Ljava/util/Collection<+Lorg/springframework/util/MimeType;>;
            2    4     2   mimeType  Lorg/springframework/util/MimeType;
    Signature: (Ljava/util/Collection<+Lorg/springframework/util/MimeType;>;)Z
    MethodParameters:
           Name  Flags
      mimeTypes  

  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 // org.springframework.util.MimeType this
        start local 1 // java.lang.Object other
         0: .line 453
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 454
            iconst_1
            ireturn
         2: .line 456
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.springframework.util.MimeType
            ifne 4
         3: .line 457
            iconst_0
            ireturn
         4: .line 459
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.springframework.util.MimeType
            astore 2 /* otherType */
        start local 2 // org.springframework.util.MimeType otherType
         5: .line 460
            aload 0 /* this */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            aload 2 /* otherType */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 461
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            aload 2 /* otherType */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 462
            aload 0 /* this */
            aload 2 /* otherType */
            invokevirtual org.springframework.util.MimeType.parametersAreEqual:(Lorg/springframework/util/MimeType;)Z
            ifeq 9
         8: .line 460
            iconst_1
            ireturn
      StackMap locals: org.springframework.util.MimeType
      StackMap stack:
         9: iconst_0
            ireturn
        end local 2 // org.springframework.util.MimeType otherType
        end local 1 // java.lang.Object other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/springframework/util/MimeType;
            0   10     1      other  Ljava/lang/Object;
            5   10     2  otherType  Lorg/springframework/util/MimeType;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      other  

  private boolean parametersAreEqual(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 472
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            aload 1 /* other */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            if_icmpeq 2
         1: .line 473
            iconst_0
            ireturn
         2: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.springframework.util.MimeType org.springframework.util.MimeType top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         4: .line 477
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         5: .line 478
            aload 1 /* other */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 479
            iconst_0
            ireturn
         7: .line 481
      StackMap locals: org.springframework.util.MimeType org.springframework.util.MimeType java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            ldc "charset"
            aload 4 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 482
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getCharset:()Ljava/nio/charset/Charset;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getCharset:()Ljava/nio/charset/Charset;
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
         9: .line 483
            iconst_0
            ireturn
        10: .line 486
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 1 /* other */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
        11: .line 487
            iconst_0
            ireturn
        end local 4 // java.lang.String key
        end local 2 // java.util.Map$Entry entry
        12: .line 476
      StackMap locals: org.springframework.util.MimeType org.springframework.util.MimeType top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 491
            iconst_1
            ireturn
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/springframework/util/MimeType;
            0   14     1  other  Lorg/springframework/util/MimeType;
            4   12     2  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            5   12     4    key  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 496
            aload 0 /* this */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 497
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 498
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.hashCode:()I
            iadd
            istore 1 /* result */
         3: .line 499
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/springframework/util/MimeType;
            1    4     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.springframework.util.MimeType this
         0: .line 504
            aload 0 /* this */
            getfield org.springframework.util.MimeType.toStringValue:Ljava/lang/String;
            astore 1 /* value */
        start local 1 // java.lang.String value
         1: .line 505
            aload 1 /* value */
            ifnonnull 6
         2: .line 506
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* builder */
        start local 2 // java.lang.StringBuilder builder
         3: .line 507
            aload 0 /* this */
            aload 2 /* builder */
            invokevirtual org.springframework.util.MimeType.appendTo:(Ljava/lang/StringBuilder;)V
         4: .line 508
            aload 2 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* value */
         5: .line 509
            aload 0 /* this */
            aload 1 /* value */
            putfield org.springframework.util.MimeType.toStringValue:Ljava/lang/String;
        end local 2 // java.lang.StringBuilder builder
         6: .line 511
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/springframework/util/MimeType;
            1    7     1    value  Ljava/lang/String;
            3    6     2  builder  Ljava/lang/StringBuilder;

  protected void appendTo(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.lang.StringBuilder builder
         0: .line 515
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.util.MimeType.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 516
            aload 1 /* builder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 517
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.springframework.util.MimeType.subtype:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 518
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.util.MimeType.parameters:Ljava/util/Map;
            aload 1 /* builder */
            invokevirtual org.springframework.util.MimeType.appendTo:(Ljava/util/Map;Ljava/lang/StringBuilder;)V
         4: .line 519
            return
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/springframework/util/MimeType;
            0    5     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  private void appendTo(java.util.Map<java.lang.String, java.lang.String>, java.lang.StringBuilder);
    descriptor: (Ljava/util/Map;Ljava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.util.Map map
        start local 2 // java.lang.StringBuilder builder
         0: .line 522
            aload 1 /* map */
            aload 2 /* builder */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/springframework/util/MimeType.lambda$1(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         1: .line 528
            return
        end local 2 // java.lang.StringBuilder builder
        end local 1 // java.util.Map map
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/util/MimeType;
            0    2     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     2  builder  Ljava/lang/StringBuilder;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/StringBuilder;)V
    MethodParameters:
         Name  Flags
      map      
      builder  

  public int compareTo(org.springframework.util.MimeType);
    descriptor: (Lorg/springframework/util/MimeType;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // org.springframework.util.MimeType other
         0: .line 537
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            istore 2 /* comp */
        start local 2 // int comp
         1: .line 538
            iload 2 /* comp */
            ifeq 3
         2: .line 539
            iload 2 /* comp */
            ireturn
         3: .line 541
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            istore 2 /* comp */
         4: .line 542
            iload 2 /* comp */
            ifeq 6
         5: .line 543
            iload 2 /* comp */
            ireturn
         6: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            isub
            istore 2 /* comp */
         7: .line 546
            iload 2 /* comp */
            ifeq 9
         8: .line 547
            iload 2 /* comp */
            ireturn
         9: .line 550
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            astore 3 /* thisAttributes */
        start local 3 // java.util.TreeSet thisAttributes
        10: .line 551
            aload 3 /* thisAttributes */
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.util.TreeSet.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 552
            new java.util.TreeSet
            dup
            getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            astore 4 /* otherAttributes */
        start local 4 // java.util.TreeSet otherAttributes
        12: .line 553
            aload 4 /* otherAttributes */
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.util.TreeSet.addAll:(Ljava/util/Collection;)Z
            pop
        13: .line 554
            aload 3 /* thisAttributes */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 5 /* thisAttributesIterator */
        start local 5 // java.util.Iterator thisAttributesIterator
        14: .line 555
            aload 4 /* otherAttributes */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 6 /* otherAttributesIterator */
        start local 6 // java.util.Iterator otherAttributesIterator
        15: .line 557
            goto 39
        16: .line 558
      StackMap locals: org.springframework.util.MimeType org.springframework.util.MimeType int java.util.TreeSet java.util.TreeSet java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 5 /* thisAttributesIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* thisAttribute */
        start local 7 // java.lang.String thisAttribute
        17: .line 559
            aload 6 /* otherAttributesIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* otherAttribute */
        start local 8 // java.lang.String otherAttribute
        18: .line 560
            aload 7 /* thisAttribute */
            aload 8 /* otherAttribute */
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            istore 2 /* comp */
        19: .line 561
            iload 2 /* comp */
            ifeq 21
        20: .line 562
            iload 2 /* comp */
            ireturn
        21: .line 564
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "charset"
            aload 7 /* thisAttribute */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        22: .line 565
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getCharset:()Ljava/nio/charset/Charset;
            astore 9 /* thisCharset */
        start local 9 // java.nio.charset.Charset thisCharset
        23: .line 566
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getCharset:()Ljava/nio/charset/Charset;
            astore 10 /* otherCharset */
        start local 10 // java.nio.charset.Charset otherCharset
        24: .line 567
            aload 9 /* thisCharset */
            aload 10 /* otherCharset */
            if_acmpeq 39
        25: .line 568
            aload 9 /* thisCharset */
            ifnonnull 27
        26: .line 569
            iconst_m1
            ireturn
        27: .line 571
      StackMap locals: java.nio.charset.Charset java.nio.charset.Charset
      StackMap stack:
            aload 10 /* otherCharset */
            ifnonnull 29
        28: .line 572
            iconst_1
            ireturn
        29: .line 574
      StackMap locals:
      StackMap stack:
            aload 9 /* thisCharset */
            aload 10 /* otherCharset */
            invokevirtual java.nio.charset.Charset.compareTo:(Ljava/nio/charset/Charset;)I
            istore 2 /* comp */
        30: .line 575
            iload 2 /* comp */
            ifeq 39
        31: .line 576
            iload 2 /* comp */
            ireturn
        end local 10 // java.nio.charset.Charset otherCharset
        end local 9 // java.nio.charset.Charset thisCharset
        32: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            aload 7 /* thisAttribute */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* thisValue */
        start local 9 // java.lang.String thisValue
        33: .line 582
            aload 1 /* other */
            invokevirtual org.springframework.util.MimeType.getParameters:()Ljava/util/Map;
            aload 8 /* otherAttribute */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* otherValue */
        start local 10 // java.lang.String otherValue
        34: .line 583
            aload 10 /* otherValue */
            ifnonnull 36
        35: .line 584
            ldc ""
            astore 10 /* otherValue */
        36: .line 586
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 9 /* thisValue */
            aload 10 /* otherValue */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 2 /* comp */
        37: .line 587
            iload 2 /* comp */
            ifeq 39
        38: .line 588
            iload 2 /* comp */
            ireturn
        end local 10 // java.lang.String otherValue
        end local 9 // java.lang.String thisValue
        end local 8 // java.lang.String otherAttribute
        end local 7 // java.lang.String thisAttribute
        39: .line 557
      StackMap locals: org.springframework.util.MimeType org.springframework.util.MimeType int java.util.TreeSet java.util.TreeSet java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 5 /* thisAttributesIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        40: .line 593
            iconst_0
            ireturn
        end local 6 // java.util.Iterator otherAttributesIterator
        end local 5 // java.util.Iterator thisAttributesIterator
        end local 4 // java.util.TreeSet otherAttributes
        end local 3 // java.util.TreeSet thisAttributes
        end local 2 // int comp
        end local 1 // org.springframework.util.MimeType other
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   41     0                     this  Lorg/springframework/util/MimeType;
            0   41     1                    other  Lorg/springframework/util/MimeType;
            1   41     2                     comp  I
           10   41     3           thisAttributes  Ljava/util/TreeSet<Ljava/lang/String;>;
           12   41     4          otherAttributes  Ljava/util/TreeSet<Ljava/lang/String;>;
           14   41     5   thisAttributesIterator  Ljava/util/Iterator<Ljava/lang/String;>;
           15   41     6  otherAttributesIterator  Ljava/util/Iterator<Ljava/lang/String;>;
           17   39     7            thisAttribute  Ljava/lang/String;
           18   39     8           otherAttribute  Ljava/lang/String;
           23   32     9              thisCharset  Ljava/nio/charset/Charset;
           24   32    10             otherCharset  Ljava/nio/charset/Charset;
           33   39     9                thisValue  Ljava/lang/String;
           34   39    10               otherValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      other  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.util.MimeType this
        start local 1 // java.io.ObjectInputStream ois
         0: .line 598
            aload 1 /* ois */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 601
            aload 0 /* this */
            ldc "charset"
            invokevirtual org.springframework.util.MimeType.getParameter:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* charsetName */
        start local 2 // java.lang.String charsetName
         2: .line 602
            aload 2 /* charsetName */
            ifnull 4
         3: .line 603
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* charsetName */
            invokevirtual org.springframework.util.MimeType.unquote:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putfield org.springframework.util.MimeType.resolvedCharset:Ljava/nio/charset/Charset;
         4: .line 605
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String charsetName
        end local 1 // java.io.ObjectInputStream ois
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/springframework/util/MimeType;
            0    5     1          ois  Ljava/io/ObjectInputStream;
            2    5     2  charsetName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   

  public static org.springframework.util.MimeType valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/util/MimeType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String value
         0: .line 615
            aload 0 /* value */
            invokestatic org.springframework.util.MimeTypeUtils.parseMimeType:(Ljava/lang/String;)Lorg/springframework/util/MimeType;
            areturn
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  private static java.util.Map<java.lang.String, java.lang.String> addCharsetParameter(java.nio.charset.Charset, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/nio/charset/Charset;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.nio.charset.Charset charset
        start local 1 // java.util.Map parameters
         0: .line 619
            new java.util.LinkedHashMap
            dup
            aload 1 /* parameters */
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 620
            aload 2 /* map */
            ldc "charset"
            aload 0 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 621
            aload 2 /* map */
            areturn
        end local 2 // java.util.Map map
        end local 1 // java.util.Map parameters
        end local 0 // java.nio.charset.Charset charset
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0     charset  Ljava/nio/charset/Charset;
            0    3     1  parameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    3     2         map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/nio/charset/Charset;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      charset     
      parameters  

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.util.MimeType
            invokevirtual org.springframework.util.MimeType.compareTo:(Lorg/springframework/util/MimeType;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(java.util.Map, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.util.MimeType this
        start local 2 // java.lang.String parameter
        start local 3 // java.lang.String value
         0: .line 190
            aload 0 /* this */
            aload 2 /* parameter */
            aload 3 /* value */
            invokevirtual org.springframework.util.MimeType.checkParameters:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 191
            aload 1
            aload 2 /* parameter */
            aload 3 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 192
            return
        end local 3 // java.lang.String value
        end local 2 // java.lang.String parameter
        end local 0 // org.springframework.util.MimeType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/springframework/util/MimeType;
            0    3     2  parameter  Ljava/lang/String;
            0    3     3      value  Ljava/lang/String;

  private static void lambda$1(java.lang.StringBuilder, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String key
        start local 2 // java.lang.String val
         0: .line 523
            aload 0
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 524
            aload 0
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 525
            aload 0
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 526
            aload 0
            aload 2 /* val */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 527
            return
        end local 2 // java.lang.String val
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1   key  Ljava/lang/String;
            0    5     2   val  Ljava/lang/String;
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lorg/springframework/util/MimeType;>;Ljava/io/Serializable;
SourceFile: "MimeType.java"
NestMembers:
  org.springframework.util.MimeType$SpecificityComparator
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public SpecificityComparator = org.springframework.util.MimeType$SpecificityComparator of org.springframework.util.MimeType