public class io.undertow.util.MultipartParser$ParseState
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.util.MultipartParser$ParseState
  super_class: java.lang.Object
{
  private final io.undertow.connector.ByteBufferPool bufferPool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.util.MultipartParser$PartHandler partHandler;
    descriptor: Lio/undertow/util/MultipartParser$PartHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String requestCharset;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final byte[] boundary;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private java.io.ByteArrayOutputStream currentString;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String currentHeaderName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.util.HeaderMap headers;
    descriptor: Lio/undertow/util/HeaderMap;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.util.MultipartParser$Encoding encodingHandler;
    descriptor: Lio/undertow/util/MultipartParser$Encoding;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(io.undertow.connector.ByteBufferPool, io.undertow.util.MultipartParser$PartHandler, java.lang.String, byte[]);
    descriptor: (Lio/undertow/connector/ByteBufferPool;Lio/undertow/util/MultipartParser$PartHandler;Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // io.undertow.connector.ByteBufferPool bufferPool
        start local 2 // io.undertow.util.MultipartParser$PartHandler partHandler
        start local 3 // java.lang.String requestCharset
        start local 4 // byte[] boundary
         0: .line 104
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.state:I
         2: .line 97
            aload 0 /* this */
            ldc 2147483647
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         3: .line 98
            aload 0 /* this */
            aconst_null
            putfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
         4: .line 99
            aload 0 /* this */
            aconst_null
            putfield io.undertow.util.MultipartParser$ParseState.currentHeaderName:Ljava/lang/String;
         5: .line 105
            aload 0 /* this */
            aload 1 /* bufferPool */
            putfield io.undertow.util.MultipartParser$ParseState.bufferPool:Lio/undertow/connector/ByteBufferPool;
         6: .line 106
            aload 0 /* this */
            aload 2 /* partHandler */
            putfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
         7: .line 107
            aload 0 /* this */
            aload 3 /* requestCharset */
            putfield io.undertow.util.MultipartParser$ParseState.requestCharset:Ljava/lang/String;
         8: .line 108
            aload 0 /* this */
            aload 4 /* boundary */
            putfield io.undertow.util.MultipartParser$ParseState.boundary:[B
         9: .line 109
            return
        end local 4 // byte[] boundary
        end local 3 // java.lang.String requestCharset
        end local 2 // io.undertow.util.MultipartParser$PartHandler partHandler
        end local 1 // io.undertow.connector.ByteBufferPool bufferPool
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lio/undertow/util/MultipartParser$ParseState;
            0   10     1      bufferPool  Lio/undertow/connector/ByteBufferPool;
            0   10     2     partHandler  Lio/undertow/util/MultipartParser$PartHandler;
            0   10     3  requestCharset  Ljava/lang/String;
            0   10     4        boundary  [B
    MethodParameters:
                Name  Flags
      bufferPool      final
      partHandler     final
      requestCharset  
      boundary        final

  public void setCharacterEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.lang.String encoding
         0: .line 112
            aload 0 /* this */
            aload 1 /* encoding */
            putfield io.undertow.util.MultipartParser$ParseState.requestCharset:Ljava/lang/String;
         1: .line 113
            return
        end local 1 // java.lang.String encoding
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/util/MultipartParser$ParseState;
            0    2     1  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      encoding  

  public void parse(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 116
            goto 12
         1: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.state:I
            tableswitch { // -1 - 3
                   -1: 10
                    0: 2
                    1: 4
                    2: 6
                    3: 8
              default: 11
          }
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.undertow.util.MultipartParser$ParseState.preamble:(Ljava/nio/ByteBuffer;)V
         3: .line 120
            goto 12
         4: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.undertow.util.MultipartParser$ParseState.headerName:(Ljava/nio/ByteBuffer;)V
         5: .line 124
            goto 12
         6: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.undertow.util.MultipartParser$ParseState.headerValue:(Ljava/nio/ByteBuffer;)V
         7: .line 128
            goto 12
         8: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual io.undertow.util.MultipartParser$ParseState.entity:(Ljava/nio/ByteBuffer;)V
         9: .line 132
            goto 12
        10: .line 135
      StackMap locals:
      StackMap stack:
            return
        11: .line 138
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.state:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        13: .line 142
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lio/undertow/util/MultipartParser$ParseState;
            0   14     1  buffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  

  private void preamble(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 145
            goto 29
         1: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 2 /* b */
        start local 2 // byte b
         2: .line 147
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iflt 18
         3: .line 149
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ldc 2147483647
            if_icmpne 8
         4: .line 150
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            iconst_2
            baload
            iload 2 /* b */
            if_icmpne 7
         5: .line 151
            aload 0 /* this */
            iconst_2
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         6: .line 152
            goto 8
         7: .line 153
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         8: .line 156
      StackMap locals:
      StackMap stack:
            iload 2 /* b */
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            baload
            if_icmpne 13
         9: .line 157
            aload 0 /* this */
            dup
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_1
            iadd
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        10: .line 158
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            arraylength
            if_icmpne 29
        11: .line 159
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        12: .line 161
            goto 29
      StackMap locals:
      StackMap stack:
        13: iload 2 /* b */
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            iconst_0
            baload
            if_icmpne 16
        14: .line 162
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        15: .line 163
            goto 29
        16: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        17: .line 166
            goto 29
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_m1
            if_icmpne 22
        19: .line 167
            iload 2 /* b */
            bipush 13
            if_icmpne 29
        20: .line 168
            aload 0 /* this */
            bipush -2
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        21: .line 170
            goto 29
      StackMap locals:
      StackMap stack:
        22: aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            bipush -2
            if_icmpne 29
        23: .line 171
            iload 2 /* b */
            bipush 10
            if_icmpne 28
        24: .line 172
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        25: .line 173
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.state:I
        26: .line 174
            aload 0 /* this */
            new io.undertow.util.HeaderMap
            dup
            invokespecial io.undertow.util.HeaderMap.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
        27: .line 175
            return
        28: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        end local 2 // byte b
        29: .line 145
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        30: .line 181
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    this  Lio/undertow/util/MultipartParser$ParseState;
            0   31     1  buffer  Ljava/nio/ByteBuffer;
            2   29     2       b  B
    MethodParameters:
        Name  Flags
      buffer  final

  private void headerName(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 184
            goto 39
         1: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 2 /* b */
        start local 2 // byte b
         2: .line 186
            iload 2 /* b */
            bipush 58
            if_icmpne 10
         3: .line 187
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            ifnull 4
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ifeq 5
         4: .line 188
      StackMap locals: int
      StackMap stack:
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
         5: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.String
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.requestCharset:Ljava/lang/String;
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            putfield io.undertow.util.MultipartParser$ParseState.currentHeaderName:Ljava/lang/String;
         6: .line 191
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.reset:()V
         7: .line 192
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         8: .line 193
            aload 0 /* this */
            iconst_2
            putfield io.undertow.util.MultipartParser$ParseState.state:I
         9: .line 194
            return
        10: .line 196
      StackMap locals:
      StackMap stack:
            iload 2 /* b */
            bipush 13
            if_icmpne 15
        11: .line 197
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            ifnull 13
        12: .line 198
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
        13: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        14: .line 202
            goto 39
      StackMap locals:
      StackMap stack:
        15: iload 2 /* b */
            bipush 10
            if_icmpne 34
        16: .line 203
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            ifnonnull 17
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_1
            if_icmpeq 18
        17: .line 204
      StackMap locals:
      StackMap stack:
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
        18: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield io.undertow.util.MultipartParser$ParseState.state:I
        19: .line 207
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        20: .line 208
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
            invokeinterface io.undertow.util.MultipartParser$PartHandler.beginPart:(Lio/undertow/util/HeaderMap;)V
        21: .line 210
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_TRANSFER_ENCODING:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 3 /* encoding */
        start local 3 // java.lang.String encoding
        22: .line 211
            aload 3 /* encoding */
            ifnonnull 25
        23: .line 212
            aload 0 /* this */
            new io.undertow.util.MultipartParser$IdentityEncoding
            dup
            invokespecial io.undertow.util.MultipartParser$IdentityEncoding.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
        24: .line 213
            goto 32
      StackMap locals: java.lang.String
      StackMap stack:
        25: aload 3 /* encoding */
            ldc "base64"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 28
        26: .line 214
            aload 0 /* this */
            new io.undertow.util.MultipartParser$Base64Encoding
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokespecial io.undertow.util.MultipartParser$Base64Encoding.<init>:(Lio/undertow/connector/ByteBufferPool;)V
            putfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
        27: .line 215
            goto 32
      StackMap locals:
      StackMap stack:
        28: aload 3 /* encoding */
            ldc "quoted-printable"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 31
        29: .line 216
            aload 0 /* this */
            new io.undertow.util.MultipartParser$QuotedPrintableEncoding
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokespecial io.undertow.util.MultipartParser$QuotedPrintableEncoding.<init>:(Lio/undertow/connector/ByteBufferPool;)V
            putfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
        30: .line 217
            goto 32
        31: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.util.MultipartParser$IdentityEncoding
            dup
            invokespecial io.undertow.util.MultipartParser$IdentityEncoding.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
        32: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
        33: .line 221
            return
        end local 3 // java.lang.String encoding
        34: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ifeq 36
        35: .line 225
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
        36: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            ifnonnull 38
        37: .line 227
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
        38: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            iload 2 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        end local 2 // byte b
        39: .line 184
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        40: .line 232
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   41     0      this  Lio/undertow/util/MultipartParser$ParseState;
            0   41     1    buffer  Ljava/nio/ByteBuffer;
            2   39     2         b  B
           22   34     3  encoding  Ljava/lang/String;
    Exceptions:
      throws io.undertow.util.MalformedMessageException, java.io.UnsupportedEncodingException
    MethodParameters:
        Name  Flags
      buffer  final

  private void headerValue(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 235
            goto 30
         1: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 2 /* b */
        start local 2 // byte b
         2: .line 237
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_2
            if_icmpne 19
         3: .line 238
            iload 2 /* b */
            bipush 13
            if_icmpne 9
         4: .line 239
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
            new io.undertow.util.HttpString
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentHeaderName:Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.requestCharset:Ljava/lang/String;
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         5: .line 241
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.state:I
         6: .line 242
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         7: .line 243
            aload 0 /* this */
            aconst_null
            putfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
         8: .line 244
            return
         9: .line 245
      StackMap locals: int
      StackMap stack:
            iload 2 /* b */
            bipush 32
            if_icmpeq 10
            iload 2 /* b */
            bipush 9
            if_icmpne 13
        10: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            iload 2 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        11: .line 247
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        12: .line 248
            goto 30
        13: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
            new io.undertow.util.HttpString
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentHeaderName:Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.requestCharset:Ljava/lang/String;
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
        14: .line 251
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.state:I
        15: .line 252
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        16: .line 254
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
        17: .line 255
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            iload 2 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        18: .line 256
            return
        19: .line 258
      StackMap locals:
      StackMap stack:
            iload 2 /* b */
            bipush 13
            if_icmpne 22
        20: .line 259
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        21: .line 260
            goto 30
      StackMap locals:
      StackMap stack:
        22: iload 2 /* b */
            bipush 10
            if_icmpne 27
        23: .line 261
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_1
            if_icmpeq 25
        24: .line 262
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
        25: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        26: .line 265
            goto 30
        27: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ifeq 29
        28: .line 267
            new io.undertow.util.MalformedMessageException
            dup
            invokespecial io.undertow.util.MalformedMessageException.<init>:()V
            athrow
        29: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.currentString:Ljava/io/ByteArrayOutputStream;
            iload 2 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        end local 2 // byte b
        30: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        31: .line 272
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lio/undertow/util/MultipartParser$ParseState;
            0   32     1  buffer  Ljava/nio/ByteBuffer;
            2   30     2       b  B
    Exceptions:
      throws io.undertow.util.MalformedMessageException, java.io.UnsupportedEncodingException
    MethodParameters:
        Name  Flags
      buffer  final

  private void entity(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.undertow.util.MultipartParser$ParseState this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 275
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            istore 2 /* startingSubState */
        start local 2 // int startingSubState
         1: .line 276
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 277
            goto 50
         3: .line 278
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b */
        start local 4 // byte b
         4: .line 279
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iflt 27
         5: .line 280
            iload 4 /* b */
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            baload
            if_icmpne 16
         6: .line 282
            aload 0 /* this */
            dup
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_1
            iadd
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
         7: .line 283
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            arraylength
            if_icmpne 50
         8: .line 284
            iconst_0
            istore 2 /* startingSubState */
         9: .line 286
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 5 /* retBuffer */
        start local 5 // java.nio.ByteBuffer retBuffer
        10: .line 287
            aload 5 /* retBuffer */
            iload 3 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        11: .line 289
            aload 5 /* retBuffer */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            arraylength
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        12: .line 290
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 5 /* retBuffer */
            invokeinterface io.undertow.util.MultipartParser$Encoding.handle:(Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
        13: .line 291
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            invokeinterface io.undertow.util.MultipartParser$PartHandler.endPart:()V
        14: .line 292
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        end local 5 // java.nio.ByteBuffer retBuffer
        15: .line 294
            goto 50
      StackMap locals: int
      StackMap stack:
        16: iload 4 /* b */
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            iconst_0
            baload
            if_icmpne 22
        17: .line 297
            iload 2 /* startingSubState */
            ifle 20
        18: .line 298
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            iconst_0
            iload 2 /* startingSubState */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokeinterface io.undertow.util.MultipartParser$Encoding.handle:(Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
        19: .line 299
            iconst_0
            istore 2 /* startingSubState */
        20: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        21: .line 302
            goto 50
        22: .line 305
      StackMap locals:
      StackMap stack:
            iload 2 /* startingSubState */
            ifle 25
        23: .line 306
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.boundary:[B
            iconst_0
            iload 2 /* startingSubState */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokeinterface io.undertow.util.MultipartParser$Encoding.handle:(Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
        24: .line 307
            iconst_0
            istore 2 /* startingSubState */
        25: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        26: .line 311
            goto 50
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            iconst_m1
            if_icmpne 34
        28: .line 312
            iload 4 /* b */
            bipush 13
            if_icmpne 31
        29: .line 313
            aload 0 /* this */
            bipush -2
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        30: .line 314
            goto 50
      StackMap locals:
      StackMap stack:
        31: iload 4 /* b */
            bipush 45
            if_icmpne 50
        32: .line 315
            aload 0 /* this */
            bipush -3
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        33: .line 317
            goto 50
      StackMap locals:
      StackMap stack:
        34: aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            bipush -2
            if_icmpne 45
        35: .line 318
            iload 4 /* b */
            bipush 10
            if_icmpne 40
        36: .line 320
            aload 0 /* this */
            iconst_0
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        37: .line 321
            aload 0 /* this */
            iconst_1
            putfield io.undertow.util.MultipartParser$ParseState.state:I
        38: .line 322
            aload 0 /* this */
            new io.undertow.util.HeaderMap
            dup
            invokespecial io.undertow.util.HeaderMap.<init>:()V
            putfield io.undertow.util.MultipartParser$ParseState.headers:Lio/undertow/util/HeaderMap;
        39: .line 323
            return
        40: .line 324
      StackMap locals:
      StackMap stack:
            iload 4 /* b */
            bipush 45
            if_icmpne 43
        41: .line 325
            aload 0 /* this */
            bipush -3
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        42: .line 326
            goto 50
        43: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        44: .line 329
            goto 50
      StackMap locals:
      StackMap stack:
        45: aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            bipush -3
            if_icmpne 50
        46: .line 330
            iload 4 /* b */
            bipush 45
            if_icmpne 49
        47: .line 331
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.state:I
        48: .line 332
            return
        49: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.util.MultipartParser$ParseState.subState:I
        end local 4 // byte b
        50: .line 277
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 3
        51: .line 339
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 4 /* retBuffer */
        start local 4 // java.nio.ByteBuffer retBuffer
        52: .line 340
            aload 4 /* retBuffer */
            iload 3 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 341
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ifne 56
        54: .line 343
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 4 /* retBuffer */
            invokeinterface io.undertow.util.MultipartParser$Encoding.handle:(Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
        55: .line 344
            goto 59
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
        56: aload 4 /* retBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            if_icmple 59
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            ifle 59
        57: .line 346
            aload 4 /* retBuffer */
            aload 4 /* retBuffer */
            invokevirtual java.nio.ByteBuffer.limit:()I
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.subState:I
            isub
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        58: .line 347
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.encodingHandler:Lio/undertow/util/MultipartParser$Encoding;
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.partHandler:Lio/undertow/util/MultipartParser$PartHandler;
            aload 4 /* retBuffer */
            invokeinterface io.undertow.util.MultipartParser$Encoding.handle:(Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
        59: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.ByteBuffer retBuffer
        end local 3 // int pos
        end local 2 // int startingSubState
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   60     0              this  Lio/undertow/util/MultipartParser$ParseState;
            0   60     1            buffer  Ljava/nio/ByteBuffer;
            1   60     2  startingSubState  I
            2   60     3               pos  I
            4   50     4                 b  B
           10   15     5         retBuffer  Ljava/nio/ByteBuffer;
           52   60     4         retBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  final

  public boolean isComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.util.MultipartParser$ParseState this
         0: .line 352
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$ParseState.state:I
            iconst_m1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.util.MultipartParser$ParseState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/util/MultipartParser$ParseState;
}
SourceFile: "MultipartParser.java"
NestHost: io.undertow.util.MultipartParser
InnerClasses:
  private Base64Encoding = io.undertow.util.MultipartParser$Base64Encoding of io.undertow.util.MultipartParser
  private abstract Encoding = io.undertow.util.MultipartParser$Encoding of io.undertow.util.MultipartParser
  private IdentityEncoding = io.undertow.util.MultipartParser$IdentityEncoding of io.undertow.util.MultipartParser
  public ParseState = io.undertow.util.MultipartParser$ParseState of io.undertow.util.MultipartParser
  public abstract PartHandler = io.undertow.util.MultipartParser$PartHandler of io.undertow.util.MultipartParser
  private QuotedPrintableEncoding = io.undertow.util.MultipartParser$QuotedPrintableEncoding of io.undertow.util.MultipartParser