public class org.apache.tomcat.util.http.MimeHeaders
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.http.MimeHeaders
  super_class: java.lang.Object
{
  public static final int DEFAULT_HEADER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.apache.tomcat.util.http.MimeHeaderField[] headers;
    descriptor: [Lorg/apache/tomcat/util/http/MimeHeaderField;
    flags: (0x0002) ACC_PRIVATE

  private int count;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int limit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 98
            ldc "org.apache.tomcat.util.http"
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
         1: .line 97
            putstatic org.apache.tomcat.util.http.MimeHeaders.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 98
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
         2: .line 104
            bipush 8
         3: .line 103
            anewarray org.apache.tomcat.util.http.MimeHeaderField
            putfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
         4: .line 114
            aload 0 /* this */
            iconst_m1
            putfield org.apache.tomcat.util.http.MimeHeaders.limit:I
         5: .line 121
            return
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;

  public void setLimit(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // int limit
         0: .line 128
            aload 0 /* this */
            iload 1 /* limit */
            putfield org.apache.tomcat.util.http.MimeHeaders.limit:I
         1: .line 129
            iload 1 /* limit */
            ifle 5
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            arraylength
            iload 1 /* limit */
            if_icmple 5
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iload 1 /* limit */
            if_icmpge 5
         2: .line 131
            iload 1 /* limit */
            anewarray org.apache.tomcat.util.http.MimeHeaderField
            astore 2 /* tmp */
        start local 2 // org.apache.tomcat.util.http.MimeHeaderField[] tmp
         3: .line 132
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 133
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
        end local 2 // org.apache.tomcat.util.http.MimeHeaderField[] tmp
         5: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int limit
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    6     1  limit  I
            3    5     2    tmp  [Lorg/apache/tomcat/util/http/MimeHeaderField;
    MethodParameters:
       Name  Flags
      limit  

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 142
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.clear:()V
         1: .line 143
            return
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 149
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 150
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 1 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.recycle:()V
         3: .line 149
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 2
        end local 1 // int i
         5: .line 152
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.http.MimeHeaders.count:I
         6: .line 153
            return
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            1    5     1     i  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 160
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* sw */
        start local 1 // java.io.StringWriter sw
         1: .line 161
            new java.io.PrintWriter
            dup
            aload 1 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         2: .line 162
            aload 2 /* pw */
            ldc "=== MimeHeaders ==="
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 163
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.names:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         4: .line 164
            goto 12
         5: .line 165
      StackMap locals: java.io.StringWriter java.io.PrintWriter java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* n */
        start local 4 // java.lang.String n
         6: .line 166
            aload 0 /* this */
            aload 4 /* n */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.values:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 5 /* ev */
        start local 5 // java.util.Enumeration ev
         7: .line 167
            goto 11
         8: .line 168
      StackMap locals: java.lang.String java.util.Enumeration
      StackMap stack:
            aload 2 /* pw */
            aload 4 /* n */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         9: .line 169
            aload 2 /* pw */
            ldc " = "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        10: .line 170
            aload 2 /* pw */
            aload 5 /* ev */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        11: .line 167
      StackMap locals:
      StackMap stack:
            aload 5 /* ev */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 8
        end local 5 // java.util.Enumeration ev
        end local 4 // java.lang.String n
        12: .line 164
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
        13: .line 173
            aload 1 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.Enumeration e
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.StringWriter sw
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            1   14     1    sw  Ljava/io/StringWriter;
            2   14     2    pw  Ljava/io/PrintWriter;
            4   14     3     e  Ljava/util/Enumeration<Ljava/lang/String;>;
            6   12     4     n  Ljava/lang/String;
            7   12     5    ev  Ljava/util/Enumeration<Ljava/lang/String;>;

  public void duplicate(org.apache.tomcat.util.http.MimeHeaders);
    descriptor: (Lorg/apache/tomcat/util/http/MimeHeaders;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // org.apache.tomcat.util.http.MimeHeaders source
         0: .line 178
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 179
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.createHeader:()Lorg/apache/tomcat/util/http/MimeHeaderField;
            astore 3 /* mhf */
        start local 3 // org.apache.tomcat.util.http.MimeHeaderField mhf
         3: .line 180
            aload 3 /* mhf */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* source */
            iload 2 /* i */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.getName:(I)Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
         4: .line 181
            aload 3 /* mhf */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* source */
            iload 2 /* i */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(I)Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
        end local 3 // org.apache.tomcat.util.http.MimeHeaderField mhf
         5: .line 178
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* source */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.size:()I
            if_icmplt 2
        end local 2 // int i
         7: .line 183
            return
        end local 1 // org.apache.tomcat.util.http.MimeHeaders source
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    8     1  source  Lorg/apache/tomcat/util/http/MimeHeaders;
            1    7     2       i  I
            3    5     3     mhf  Lorg/apache/tomcat/util/http/MimeHeaderField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 192
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            ireturn
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;

  public org.apache.tomcat.util.buf.MessageBytes getName(int);
    descriptor: (I)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // int n
         0: .line 201
            iload 1 /* n */
            iflt 1
            iload 1 /* n */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmpge 1
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 1 /* n */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.buf.MessageBytes
         2: areturn
        end local 1 // int n
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public org.apache.tomcat.util.buf.MessageBytes getValue(int);
    descriptor: (I)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // int n
         0: .line 210
            iload 1 /* n */
            iflt 1
            iload 1 /* n */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmpge 1
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 1 /* n */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.buf.MessageBytes
         2: areturn
        end local 1 // int n
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    3     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public int findHeader(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
        start local 2 // int starting
         0: .line 227
            iload 2 /* starting */
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 228
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 229
            iload 3 /* i */
            ireturn
         4: .line 227
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 2
        end local 3 // int i
         6: .line 232
            iconst_m1
            ireturn
        end local 2 // int starting
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    7     1      name  Ljava/lang/String;
            0    7     2  starting  I
            1    6     3         i  I
    MethodParameters:
          Name  Flags
      name      
      starting  

  public java.util.Enumeration<java.lang.String> names();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 244
            new org.apache.tomcat.util.http.NamesEnumerator
            dup
            aload 0 /* this */
            invokespecial org.apache.tomcat.util.http.NamesEnumerator.<init>:(Lorg/apache/tomcat/util/http/MimeHeaders;)V
            areturn
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public java.util.Enumeration<java.lang.String> values(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 248
            new org.apache.tomcat.util.http.ValuesEnumerator
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial org.apache.tomcat.util.http.ValuesEnumerator.<init>:(Lorg/apache/tomcat/util/http/MimeHeaders;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    1     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      name  

  private org.apache.tomcat.util.http.MimeHeaderField createHeader();
    descriptor: ()Lorg/apache/tomcat/util/http/MimeHeaderField;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
         0: .line 259
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            iconst_m1
            if_icmple 4
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            if_icmplt 4
         1: .line 260
            new java.lang.IllegalStateException
            dup
            getstatic org.apache.tomcat.util.http.MimeHeaders.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 261
            ldc "headers.maxCountFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 260
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         5: .line 265
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iload 2 /* len */
            if_icmplt 12
         6: .line 267
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iconst_2
            imul
            istore 3 /* newLength */
        start local 3 // int newLength
         7: .line 268
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            ifle 9
            iload 3 /* newLength */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            if_icmple 9
         8: .line 269
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.limit:I
            istore 3 /* newLength */
         9: .line 271
      StackMap locals: org.apache.tomcat.util.http.MimeHeaders top int int
      StackMap stack:
            iload 3 /* newLength */
            anewarray org.apache.tomcat.util.http.MimeHeaderField
            astore 4 /* tmp */
        start local 4 // org.apache.tomcat.util.http.MimeHeaderField[] tmp
        10: .line 272
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iconst_0
            aload 4 /* tmp */
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 273
            aload 0 /* this */
            aload 4 /* tmp */
            putfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
        end local 4 // org.apache.tomcat.util.http.MimeHeaderField[] tmp
        end local 3 // int newLength
        12: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            aaload
            dup
            astore 1 /* mh */
        start local 1 // org.apache.tomcat.util.http.MimeHeaderField mh
        13: ifnonnull 15
        14: .line 276
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            new org.apache.tomcat.util.http.MimeHeaderField
            dup
            invokespecial org.apache.tomcat.util.http.MimeHeaderField.<init>:()V
            dup
            astore 1 /* mh */
            aastore
        15: .line 278
      StackMap locals: org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.http.MimeHeaderField int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iconst_1
            iadd
            putfield org.apache.tomcat.util.http.MimeHeaders.count:I
        16: .line 279
            aload 1 /* mh */
            areturn
        end local 2 // int len
        end local 1 // org.apache.tomcat.util.http.MimeHeaderField mh
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/tomcat/util/http/MimeHeaders;
           13   17     1         mh  Lorg/apache/tomcat/util/http/MimeHeaderField;
            5   17     2        len  I
            7   12     3  newLength  I
           10   12     4        tmp  [Lorg/apache/tomcat/util/http/MimeHeaderField;

  public org.apache.tomcat.util.buf.MessageBytes addValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 289
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.createHeader:()Lorg/apache/tomcat/util/http/MimeHeaderField;
            astore 2 /* mh */
        start local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
         1: .line 290
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
         2: .line 291
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            areturn
        end local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    3     1  name  Ljava/lang/String;
            1    3     2    mh  Lorg/apache/tomcat/util/http/MimeHeaderField;
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.buf.MessageBytes addValue(byte[], int, int);
    descriptor: ([BII)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // byte[] b
        start local 2 // int startN
        start local 3 // int len
         0: .line 304
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.createHeader:()Lorg/apache/tomcat/util/http/MimeHeaderField;
            astore 4 /* mhf */
        start local 4 // org.apache.tomcat.util.http.MimeHeaderField mhf
         1: .line 305
            aload 4 /* mhf */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* b */
            iload 2 /* startN */
            iload 3 /* len */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
         2: .line 306
            aload 4 /* mhf */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            areturn
        end local 4 // org.apache.tomcat.util.http.MimeHeaderField mhf
        end local 3 // int len
        end local 2 // int startN
        end local 1 // byte[] b
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    3     1       b  [B
            0    3     2  startN  I
            0    3     3     len  I
            1    3     4     mhf  Lorg/apache/tomcat/util/http/MimeHeaderField;
    MethodParameters:
        Name  Flags
      b       
      startN  
      len     

  public org.apache.tomcat.util.buf.MessageBytes setValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 316
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 11
         2: .line 317
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         3: .line 318
            iload 2 /* i */
            iconst_1
            iadd
            istore 3 /* j */
        start local 3 // int j
         4: goto 8
         5: .line 319
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 3 /* j */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 320
            aload 0 /* this */
            iload 3 /* j */
            iinc 3 /* j */ -1
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.removeHeader:(I)V
         7: .line 318
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* j */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 5
        end local 3 // int j
         9: .line 323
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            areturn
        10: .line 316
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 2
        end local 2 // int i
        12: .line 326
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.createHeader:()Lorg/apache/tomcat/util/http/MimeHeaderField;
            astore 2 /* mh */
        start local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
        13: .line 327
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
        14: .line 328
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            areturn
        end local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0   15     1  name  Ljava/lang/String;
            1   12     2     i  I
            4    9     3     j  I
           13   15     2    mh  Lorg/apache/tomcat/util/http/MimeHeaderField;
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.buf.MessageBytes getValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 340
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 341
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 342
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            areturn
         4: .line 340
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 2
        end local 2 // int i
         6: .line 345
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  public org.apache.tomcat.util.buf.MessageBytes getUniqueValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 357
            aconst_null
            astore 2 /* result */
        start local 2 // org.apache.tomcat.util.buf.MessageBytes result
         1: .line 358
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 359
      StackMap locals: org.apache.tomcat.util.buf.MessageBytes int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
         4: .line 360
            aload 2 /* result */
            ifnonnull 7
         5: .line 361
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 3 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getValue:()Lorg/apache/tomcat/util/buf/MessageBytes;
            astore 2 /* result */
         6: .line 362
            goto 8
         7: .line 363
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         8: .line 358
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 3
        end local 3 // int i
        10: .line 367
            aload 2 /* result */
            areturn
        end local 2 // org.apache.tomcat.util.buf.MessageBytes result
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0   11     1    name  Ljava/lang/String;
            1   11     2  result  Lorg/apache/tomcat/util/buf/MessageBytes;
            2   10     3       i  I
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 373
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
            astore 2 /* mh */
        start local 2 // org.apache.tomcat.util.buf.MessageBytes mh
         1: .line 374
            aload 2 /* mh */
            ifnull 2
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.toString:()Ljava/lang/String;
            goto 3
      StackMap locals: org.apache.tomcat.util.buf.MessageBytes
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 2 // org.apache.tomcat.util.buf.MessageBytes mh
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    4     1  name  Ljava/lang/String;
            1    4     2    mh  Lorg/apache/tomcat/util/buf/MessageBytes;
    MethodParameters:
      Name  Flags
      name  

  public void removeHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // java.lang.String name
         0: .line 387
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 388
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.getName:()Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 1 /* name */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 389
            aload 0 /* this */
            iload 2 /* i */
            iinc 2 /* i */ -1
            invokevirtual org.apache.tomcat.util.http.MimeHeaders.removeHeader:(I)V
         4: .line 387
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            if_icmplt 2
        end local 2 // int i
         6: .line 392
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  private void removeHeader(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.MimeHeaders this
        start local 1 // int idx
         0: .line 399
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 1 /* idx */
            aaload
            astore 2 /* mh */
        start local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
         1: .line 401
            aload 2 /* mh */
            invokevirtual org.apache.tomcat.util.http.MimeHeaderField.recycle:()V
         2: .line 402
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            iload 1 /* idx */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iconst_1
            isub
            aaload
            aastore
         3: .line 403
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.headers:[Lorg/apache/tomcat/util/http/MimeHeaderField;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iconst_1
            isub
            aload 2 /* mh */
            aastore
         4: .line 404
            aload 0 /* this */
            dup
            getfield org.apache.tomcat.util.http.MimeHeaders.count:I
            iconst_1
            isub
            putfield org.apache.tomcat.util.http.MimeHeaders.count:I
         5: .line 405
            return
        end local 2 // org.apache.tomcat.util.http.MimeHeaderField mh
        end local 1 // int idx
        end local 0 // org.apache.tomcat.util.http.MimeHeaders this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/tomcat/util/http/MimeHeaders;
            0    6     1   idx  I
            1    6     2    mh  Lorg/apache/tomcat/util/http/MimeHeaderField;
    MethodParameters:
      Name  Flags
      idx   
}
SourceFile: "MimeHeaders.java"