final class io.undertow.server.HttpServerExchange$ReadDispatchChannel extends io.undertow.channels.DetachableStreamSourceChannel implements org.xnio.channels.StreamSourceChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.undertow.server.HttpServerExchange$ReadDispatchChannel
  super_class: io.undertow.channels.DetachableStreamSourceChannel
{
  private boolean wakeup;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean readsResumed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final io.undertow.server.HttpServerExchange this$0;
    descriptor: Lio/undertow/server/HttpServerExchange;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.undertow.server.HttpServerExchange, org.xnio.conduits.ConduitStreamSourceChannel);
    descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/ConduitStreamSourceChannel;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 2 // org.xnio.conduits.ConduitStreamSourceChannel delegate
         0: .line 2203
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
         1: .line 2204
            aload 0 /* this */
            aload 2 /* delegate */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.<init>:(Lorg/xnio/channels/StreamSourceChannel;)V
         2: .line 2199
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         3: .line 2200
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         4: .line 2205
            return
        end local 2 // org.xnio.conduits.ConduitStreamSourceChannel delegate
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0    5     2  delegate  Lorg/xnio/conduits/ConduitStreamSourceChannel;
    MethodParameters:
          Name  Flags
      this$0    final
      delegate  final

  protected boolean isFinished();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2209
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 4096
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  public void resumeReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2214
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         1: .line 2215
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.isInCall:()Z
            ifeq 5
         2: .line 2216
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 262144
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 2217
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 7
         4: .line 2218
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 2220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifne 7
         6: .line 2221
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.resumeReads:()V
         7: .line 2224
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  public void wakeupReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2227
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.isInCall:()Z
            ifeq 5
         1: .line 2228
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         2: .line 2229
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 262144
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 2230
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 9
         4: .line 2231
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 2234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 8
         6: .line 2235
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
         7: .line 2236
            goto 9
         8: .line 2237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.wakeupReads:()V
         9: .line 2240
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  private void invokeListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2243
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            ifnull 2
         1: .line 2244
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.HttpServerExchange$ReadDispatchChannel$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$ReadDispatchChannel$1.<init>:(Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         2: .line 2251
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  public void requestDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2254
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            instanceof org.xnio.conduits.ConduitStreamSourceChannel
            ifeq 4
         1: .line 2255
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            checkcast org.xnio.conduits.ConduitStreamSourceChannel
            aconst_null
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setReadListener:(Lorg/xnio/ChannelListener;)V
         2: .line 2256
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            checkcast org.xnio.conduits.ConduitStreamSourceChannel
            aconst_null
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setCloseListener:(Lorg/xnio/ChannelListener;)V
         3: .line 2257
            goto 6
         4: .line 2258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
            aconst_null
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
         5: .line 2259
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
            aconst_null
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
         6: .line 2261
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  public long transferTo(long, long, java.nio.channels.FileChannel);
    descriptor: (JJLjava/nio/channels/FileChannel;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // long position
        start local 3 // long count
        start local 5 // java.nio.channels.FileChannel target
         0: .line 2265
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 6 /* buffered */
        start local 6 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2266
            aload 6 /* buffered */
            ifnonnull 3
         2: .line 2267
            aload 0 /* this */
            lload 1 /* position */
            lload 3 /* count */
            aload 5 /* target */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.transferTo:(JJLjava/nio/channels/FileChannel;)J
            lreturn
         3: .line 2269
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 5 /* target */
            aload 0 /* this */
            lload 1 /* position */
            lload 3 /* count */
            invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
            lreturn
        end local 6 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 5 // java.nio.channels.FileChannel target
        end local 3 // long count
        end local 1 // long position
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0    4     1  position  J
            0    4     3     count  J
            0    4     5    target  Ljava/nio/channels/FileChannel;
            1    4     6  buffered  [Lio/undertow/connector/PooledByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      position  
      count     
      target    

  public void awaitReadable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2274
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            if_acmpne 2
         1: .line 2275
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
            athrow
         2: .line 2277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 1 /* buffered */
        start local 1 // io.undertow.connector.PooledByteBuffer[] buffered
         3: .line 2278
            aload 1 /* buffered */
            ifnonnull 5
         4: .line 2279
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.awaitReadable:()V
         5: .line 2281
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            return
        end local 1 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            3    6     1  buffered  [Lio/undertow/connector/PooledByteBuffer;
    Exceptions:
      throws java.io.IOException

  public void suspendReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2285
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         1: .line 2286
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -262145
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         2: .line 2287
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.suspendReads:()V
         3: .line 2288
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  public long transferTo(long, java.nio.ByteBuffer, org.xnio.channels.StreamSinkChannel);
    descriptor: (JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // long count
        start local 3 // java.nio.ByteBuffer throughBuffer
        start local 4 // org.xnio.channels.StreamSinkChannel target
         0: .line 2292
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 5 /* buffered */
        start local 5 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2293
            aload 5 /* buffered */
            ifnonnull 3
         2: .line 2294
            aload 0 /* this */
            lload 1 /* count */
            aload 3 /* throughBuffer */
            aload 4 /* target */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.transferTo:(JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
            lreturn
         3: .line 2297
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 3 /* throughBuffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         4: .line 2298
            aload 3 /* throughBuffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         5: .line 2299
            lconst_0
            lstore 6 /* copied */
        start local 6 // long copied
         6: .line 2300
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 23
         8: .line 2301
      StackMap locals: long int
      StackMap stack:
            aload 5 /* buffered */
            iload 8 /* i */
            aaload
            astore 9 /* pooled */
        start local 9 // io.undertow.connector.PooledByteBuffer pooled
         9: .line 2302
            aload 9 /* pooled */
            ifnull 22
        10: .line 2303
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 10 /* buf */
        start local 10 // java.nio.ByteBuffer buf
        11: .line 2304
            aload 10 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 20
        12: .line 2305
            aload 4 /* target */
            aload 10 /* buf */
            invokeinterface org.xnio.channels.StreamSinkChannel.write:(Ljava/nio/ByteBuffer;)I
            istore 11 /* res */
        start local 11 // int res
        13: .line 2307
            aload 10 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 16
        14: .line 2308
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        15: .line 2309
            aload 5 /* buffered */
            iload 8 /* i */
            aconst_null
            aastore
        16: .line 2311
      StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int
      StackMap stack:
            iload 11 /* res */
            ifne 18
        17: .line 2312
            lload 6 /* copied */
            lreturn
        18: .line 2314
      StackMap locals:
      StackMap stack:
            lload 6 /* copied */
            iload 11 /* res */
            i2l
            ladd
            lstore 6 /* copied */
        end local 11 // int res
        19: .line 2316
            goto 22
        20: .line 2317
      StackMap locals:
      StackMap stack:
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        21: .line 2318
            aload 5 /* buffered */
            iload 8 /* i */
            aconst_null
            aastore
        end local 10 // java.nio.ByteBuffer buf
        end local 9 // io.undertow.connector.PooledByteBuffer pooled
        22: .line 2300
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            aload 5 /* buffered */
            arraylength
            if_icmplt 8
        end local 8 // int i
        24: .line 2322
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            pop
        25: .line 2323
            lload 6 /* copied */
            lconst_0
            lcmp
            ifne 27
        26: .line 2324
            aload 0 /* this */
            lload 1 /* count */
            aload 3 /* throughBuffer */
            aload 4 /* target */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.transferTo:(JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
            lreturn
        27: .line 2326
      StackMap locals:
      StackMap stack:
            lload 6 /* copied */
            lreturn
        end local 6 // long copied
        end local 5 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 4 // org.xnio.channels.StreamSinkChannel target
        end local 3 // java.nio.ByteBuffer throughBuffer
        end local 1 // long count
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0   28     1          count  J
            0   28     3  throughBuffer  Ljava/nio/ByteBuffer;
            0   28     4         target  Lorg/xnio/channels/StreamSinkChannel;
            1   28     5       buffered  [Lio/undertow/connector/PooledByteBuffer;
            6   28     6         copied  J
            7   24     8              i  I
            9   22     9         pooled  Lio/undertow/connector/PooledByteBuffer;
           11   22    10            buf  Ljava/nio/ByteBuffer;
           13   19    11            res  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      count          
      throughBuffer  
      target         

  public void awaitReadable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 2332
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            if_acmpne 2
         1: .line 2333
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
            athrow
         2: .line 2335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 4 /* buffered */
        start local 4 // io.undertow.connector.PooledByteBuffer[] buffered
         3: .line 2336
            aload 4 /* buffered */
            ifnonnull 5
         4: .line 2337
            aload 0 /* this */
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
         5: .line 2339
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            return
        end local 4 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0    6     1      time  J
            0    6     3  timeUnit  Ljava/util/concurrent/TimeUnit;
            3    6     4  buffered  [Lio/undertow/connector/PooledByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      
      timeUnit  

  public long read(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // java.nio.ByteBuffer[] dsts
        start local 2 // int offset
        start local 3 // int length
         0: .line 2343
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 4 /* buffered */
        start local 4 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2344
            aload 4 /* buffered */
            ifnonnull 3
         2: .line 2345
            aload 0 /* this */
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:([Ljava/nio/ByteBuffer;II)J
            lreturn
         3: .line 2347
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            lconst_0
            lstore 5 /* copied */
        start local 5 // long copied
         4: .line 2348
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 19
         6: .line 2349
      StackMap locals: long int
      StackMap stack:
            aload 4 /* buffered */
            iload 7 /* i */
            aaload
            astore 8 /* pooled */
        start local 8 // io.undertow.connector.PooledByteBuffer pooled
         7: .line 2350
            aload 8 /* pooled */
            ifnull 18
         8: .line 2351
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 9 /* buf */
        start local 9 // java.nio.ByteBuffer buf
         9: .line 2352
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 16
        10: .line 2353
            lload 5 /* copied */
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            aload 9 /* buf */
            invokestatic org.xnio.Buffers.copy:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)I
            i2l
            ladd
            lstore 5 /* copied */
        11: .line 2354
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 14
        12: .line 2355
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 2356
            aload 4 /* buffered */
            iload 7 /* i */
            aconst_null
            aastore
        14: .line 2358
      StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.hasRemaining:([Ljava/nio/Buffer;II)Z
            ifne 18
        15: .line 2359
            lload 5 /* copied */
            lreturn
        16: .line 2362
      StackMap locals:
      StackMap stack:
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        17: .line 2363
            aload 4 /* buffered */
            iload 7 /* i */
            aconst_null
            aastore
        end local 9 // java.nio.ByteBuffer buf
        end local 8 // io.undertow.connector.PooledByteBuffer pooled
        18: .line 2348
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            aload 4 /* buffered */
            arraylength
            if_icmplt 6
        end local 7 // int i
        20: .line 2367
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            pop
        21: .line 2368
            lload 5 /* copied */
            lconst_0
            lcmp
            ifne 23
        22: .line 2369
            aload 0 /* this */
            aload 1 /* dsts */
            iload 2 /* offset */
            iload 3 /* length */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:([Ljava/nio/ByteBuffer;II)J
            lreturn
        23: .line 2371
      StackMap locals:
      StackMap stack:
            lload 5 /* copied */
            lreturn
        end local 5 // long copied
        end local 4 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0   24     1      dsts  [Ljava/nio/ByteBuffer;
            0   24     2    offset  I
            0   24     3    length  I
            1   24     4  buffered  [Lio/undertow/connector/PooledByteBuffer;
            4   24     5    copied  J
            5   20     7         i  I
            7   18     8    pooled  Lio/undertow/connector/PooledByteBuffer;
            9   18     9       buf  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      dsts    
      offset  
      length  

  public long read(java.nio.ByteBuffer[]);
    descriptor: ([Ljava/nio/ByteBuffer;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // java.nio.ByteBuffer[] dsts
         0: .line 2377
            aload 0 /* this */
            aload 1 /* dsts */
            iconst_0
            aload 1 /* dsts */
            arraylength
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.read:([Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0    1     1  dsts  [Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dsts  

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2382
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 1 /* buffered */
        start local 1 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2383
            aload 1 /* buffered */
            ifnull 3
         2: .line 2384
            iconst_1
            ireturn
         3: .line 2386
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.isOpen:()Z
            ireturn
        end local 1 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            1    4     1  buffered  [Lio/undertow/connector/PooledByteBuffer;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2391
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 1 /* buffered */
        start local 1 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2392
            aload 1 /* buffered */
            ifnull 8
         2: .line 2393
            aload 1 /* buffered */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: io.undertow.server.HttpServerExchange$ReadDispatchChannel io.undertow.connector.PooledByteBuffer[] top int int io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* pooled */
        start local 2 // io.undertow.connector.PooledByteBuffer pooled
         4: .line 2394
            aload 2 /* pooled */
            ifnull 6
         5: .line 2395
            aload 2 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        end local 2 // io.undertow.connector.PooledByteBuffer pooled
         6: .line 2393
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 2399
      StackMap locals: io.undertow.server.HttpServerExchange$ReadDispatchChannel io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            pop
         9: .line 2400
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.close:()V
        10: .line 2401
            return
        end local 1 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            1   11     1  buffered  [Lio/undertow/connector/PooledByteBuffer;
            4    6     2    pooled  Lio/undertow/connector/PooledByteBuffer;
    Exceptions:
      throws java.io.IOException

  public boolean isReadResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2405
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 1 /* buffered */
        start local 1 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2406
            aload 1 /* buffered */
            ifnull 3
         2: .line 2407
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
            ireturn
         3: .line 2409
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 5
         4: .line 2410
            iconst_0
            ireturn
         5: .line 2412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 262144
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 6
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.isReadResumed:()Z
            ifne 6
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 1 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            1    7     1  buffered  [Lio/undertow/connector/PooledByteBuffer;

  public int read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 2417
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 2 /* buffered */
        start local 2 // io.undertow.connector.PooledByteBuffer[] buffered
         1: .line 2418
            aload 2 /* buffered */
            ifnonnull 3
         2: .line 2419
            aload 0 /* this */
            aload 1 /* dst */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
            ireturn
         3: .line 2421
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            iconst_0
            istore 3 /* copied */
        start local 3 // int copied
         4: .line 2422
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 19
         6: .line 2423
      StackMap locals: int int
      StackMap stack:
            aload 2 /* buffered */
            iload 4 /* i */
            aaload
            astore 5 /* pooled */
        start local 5 // io.undertow.connector.PooledByteBuffer pooled
         7: .line 2424
            aload 5 /* pooled */
            ifnull 18
         8: .line 2425
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* buf */
        start local 6 // java.nio.ByteBuffer buf
         9: .line 2426
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 16
        10: .line 2427
            iload 3 /* copied */
            aload 1 /* dst */
            aload 6 /* buf */
            invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            iadd
            istore 3 /* copied */
        11: .line 2428
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 14
        12: .line 2429
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 2430
            aload 2 /* buffered */
            iload 4 /* i */
            aconst_null
            aastore
        14: .line 2432
      StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 18
        15: .line 2433
            iload 3 /* copied */
            ireturn
        16: .line 2436
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        17: .line 2437
            aload 2 /* buffered */
            iload 4 /* i */
            aconst_null
            aastore
        end local 6 // java.nio.ByteBuffer buf
        end local 5 // io.undertow.connector.PooledByteBuffer pooled
        18: .line 2422
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 2 /* buffered */
            arraylength
            if_icmplt 6
        end local 4 // int i
        20: .line 2441
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            pop
        21: .line 2442
            iload 3 /* copied */
            ifne 23
        22: .line 2443
            aload 0 /* this */
            aload 1 /* dst */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
            ireturn
        23: .line 2445
      StackMap locals:
      StackMap stack:
            iload 3 /* copied */
            ireturn
        end local 3 // int copied
        end local 2 // io.undertow.connector.PooledByteBuffer[] buffered
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            0   24     1       dst  Ljava/nio/ByteBuffer;
            1   24     2  buffered  [Lio/undertow/connector/PooledByteBuffer;
            4   24     3    copied  I
            5   20     4         i  I
            7   18     5    pooled  Lio/undertow/connector/PooledByteBuffer;
            9   18     6       buf  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   

  public void runResume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
         0: .line 2450
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isReadResumed:()Z
            ifeq 12
         1: .line 2451
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 4
         2: .line 2452
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
         3: .line 2453
            goto 15
         4: .line 2454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
            ifeq 9
         5: .line 2455
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         6: .line 2456
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -262145
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         7: .line 2457
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.wakeupReads:()V
         8: .line 2458
            goto 15
         9: .line 2459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -262145
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
        10: .line 2460
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.resumeReads:()V
        11: .line 2463
            goto 15
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
            ifeq 15
        13: .line 2464
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
        14: .line 2465
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
        15: .line 2467
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange$ReadDispatchChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;

  static org.xnio.ChannelListener$SimpleSetter access$0(io.undertow.server.HttpServerExchange$ReadDispatchChannel);
    descriptor: (Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;)Lorg/xnio/ChannelListener$SimpleSetter;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 2197
            aload 0
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HttpServerExchange.java"
NestHost: io.undertow.server.HttpServerExchange
InnerClasses:
  private final ReadDispatchChannel = io.undertow.server.HttpServerExchange$ReadDispatchChannel of io.undertow.server.HttpServerExchange
  io.undertow.server.HttpServerExchange$ReadDispatchChannel$1
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
  public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener