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 2121
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.this$0:Lio/undertow/server/HttpServerExchange;
         1: .line 2122
            aload 0 /* this */
            aload 2 /* delegate */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.<init>:(Lorg/xnio/channels/StreamSourceChannel;)V
         2: .line 2117
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         3: .line 2118
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         4: .line 2123
            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 2127
            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 2132
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         1: .line 2133
            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 2134
            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 2135
            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 2136
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 2138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifne 7
         6: .line 2139
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.resumeReads:()V
         7: .line 2142
      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 2145
            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 2146
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         2: .line 2147
            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 2148
            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 2149
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 2152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 8
         6: .line 2153
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
         7: .line 2154
            goto 9
         8: .line 2155
      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 2158
      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 2161
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            ifnull 2
         1: .line 2162
            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 2169
      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 2172
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            instanceof org.xnio.conduits.ConduitStreamSourceChannel
            ifeq 4
         1: .line 2173
            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 2174
            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 2175
            goto 6
         4: .line 2176
      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 2177
            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 2179
      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 2183
            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 2184
            aload 6 /* buffered */
            ifnonnull 3
         2: .line 2185
            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 2187
      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 2192
            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 2193
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
            athrow
         2: .line 2195
      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 2196
            aload 1 /* buffered */
            ifnonnull 5
         4: .line 2197
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.awaitReadable:()V
         5: .line 2199
      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 2203
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
         1: .line 2204
            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 2205
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.suspendReads:()V
         3: .line 2206
            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 2210
            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 2211
            aload 5 /* buffered */
            ifnonnull 3
         2: .line 2212
            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 2215
      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 2216
            aload 3 /* throughBuffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         5: .line 2217
            lconst_0
            lstore 6 /* copied */
        start local 6 // long copied
         6: .line 2218
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 23
         8: .line 2219
      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 2220
            aload 9 /* pooled */
            ifnull 22
        10: .line 2221
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 10 /* buf */
        start local 10 // java.nio.ByteBuffer buf
        11: .line 2222
            aload 10 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 20
        12: .line 2223
            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 2225
            aload 10 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 16
        14: .line 2226
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        15: .line 2227
            aload 5 /* buffered */
            iload 8 /* i */
            aconst_null
            aastore
        16: .line 2229
      StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int
      StackMap stack:
            iload 11 /* res */
            ifne 18
        17: .line 2230
            lload 6 /* copied */
            lreturn
        18: .line 2232
      StackMap locals:
      StackMap stack:
            lload 6 /* copied */
            iload 11 /* res */
            i2l
            ladd
            lstore 6 /* copied */
        end local 11 // int res
        19: .line 2234
            goto 22
        20: .line 2235
      StackMap locals:
      StackMap stack:
            aload 9 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        21: .line 2236
            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 2218
      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 2240
            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 2241
            lload 6 /* copied */
            lconst_0
            lcmp
            ifne 27
        26: .line 2242
            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 2244
      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 2250
            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 2251
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
            athrow
         2: .line 2253
      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 2254
            aload 4 /* buffered */
            ifnonnull 5
         4: .line 2255
            aload 0 /* this */
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
         5: .line 2257
      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 2261
            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 2262
            aload 4 /* buffered */
            ifnonnull 3
         2: .line 2263
            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 2265
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            lconst_0
            lstore 5 /* copied */
        start local 5 // long copied
         4: .line 2266
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 19
         6: .line 2267
      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 2268
            aload 8 /* pooled */
            ifnull 18
         8: .line 2269
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 9 /* buf */
        start local 9 // java.nio.ByteBuffer buf
         9: .line 2270
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 16
        10: .line 2271
            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 2272
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 14
        12: .line 2273
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 2274
            aload 4 /* buffered */
            iload 7 /* i */
            aconst_null
            aastore
        14: .line 2276
      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 2277
            lload 5 /* copied */
            lreturn
        16: .line 2280
      StackMap locals:
      StackMap stack:
            aload 8 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        17: .line 2281
            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 2266
      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 2285
            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 2286
            lload 5 /* copied */
            lconst_0
            lcmp
            ifne 23
        22: .line 2287
            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 2289
      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 2295
            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 2300
            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 2301
            aload 1 /* buffered */
            ifnull 3
         2: .line 2302
            iconst_1
            ireturn
         3: .line 2304
      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 2309
            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 2310
            aload 1 /* buffered */
            ifnull 8
         2: .line 2311
            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 2312
            aload 2 /* pooled */
            ifnull 6
         5: .line 2313
            aload 2 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        end local 2 // io.undertow.connector.PooledByteBuffer pooled
         6: .line 2311
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 2317
      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 2318
            aload 0 /* this */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.close:()V
        10: .line 2319
            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 2323
            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 2324
            aload 1 /* buffered */
            ifnull 3
         2: .line 2325
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.readsResumed:Z
            ireturn
         3: .line 2327
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 5
         4: .line 2328
            iconst_0
            ireturn
         5: .line 2330
      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 2335
            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 2336
            aload 2 /* buffered */
            ifnonnull 3
         2: .line 2337
            aload 0 /* this */
            aload 1 /* dst */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
            ireturn
         3: .line 2339
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            iconst_0
            istore 3 /* copied */
        start local 3 // int copied
         4: .line 2340
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 19
         6: .line 2341
      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 2342
            aload 5 /* pooled */
            ifnull 18
         8: .line 2343
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* buf */
        start local 6 // java.nio.ByteBuffer buf
         9: .line 2344
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 16
        10: .line 2345
            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 2346
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 14
        12: .line 2347
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 2348
            aload 2 /* buffered */
            iload 4 /* i */
            aconst_null
            aastore
        14: .line 2350
      StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 18
        15: .line 2351
            iload 3 /* copied */
            ireturn
        16: .line 2354
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        17: .line 2355
            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 2340
      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 2359
            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 2360
            iload 3 /* copied */
            ifne 23
        22: .line 2361
            aload 0 /* this */
            aload 1 /* dst */
            invokespecial io.undertow.channels.DetachableStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
            ireturn
        23: .line 2363
      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 2368
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isReadResumed:()Z
            ifeq 12
         1: .line 2369
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.isFinished:()Z
            ifeq 4
         2: .line 2370
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
         3: .line 2371
            goto 15
         4: .line 2372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
            ifeq 9
         5: .line 2373
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
         6: .line 2374
            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 2375
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.wakeupReads:()V
         8: .line 2376
            goto 15
         9: .line 2377
      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 2378
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.delegate:Lorg/xnio/channels/StreamSourceChannel;
            invokeinterface org.xnio.channels.StreamSourceChannel.resumeReads:()V
        11: .line 2381
            goto 15
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
            ifeq 15
        13: .line 2382
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange$ReadDispatchChannel.wakeup:Z
        14: .line 2383
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.invokeListener:()V
        15: .line 2385
      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 2115
            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