public class io.undertow.conduits.ChunkedStreamSourceConduit extends org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.conduits.ChunkedStreamSourceConduit
  super_class: org.xnio.conduits.AbstractStreamSourceConduit
{
  public static final io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap> TRAILERS;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<Lio/undertow/util/HeaderMap;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private final io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper bufferWrapper;
    descriptor: Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.conduits.ConduitListener<? super io.undertow.conduits.ChunkedStreamSourceConduit> finishListener;
    descriptor: Lio/undertow/conduits/ConduitListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;

  private final io.undertow.server.HttpServerExchange exchange;
    descriptor: Lio/undertow/server/HttpServerExchange;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.Closeable closeable;
    descriptor: Ljava/io/Closeable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private long remainingAllowed;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final io.undertow.conduits.ChunkReader chunkReader;
    descriptor: Lio/undertow/conduits/ChunkReader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            getstatic io.undertow.server.protocol.http.HttpAttachments.REQUEST_TRAILERS:Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.conduits.ChunkedStreamSourceConduit.TRAILERS:Lio/undertow/util/AttachmentKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.xnio.conduits.StreamSourceConduit, org.xnio.conduits.PushBackStreamSourceConduit, io.undertow.connector.ByteBufferPool, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.ChunkedStreamSourceConduit>, io.undertow.util.Attachable, java.io.Closeable);
    descriptor: (Lorg/xnio/conduits/StreamSourceConduit;Lorg/xnio/conduits/PushBackStreamSourceConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;Ljava/io/Closeable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // org.xnio.conduits.StreamSourceConduit next
        start local 2 // org.xnio.conduits.PushBackStreamSourceConduit channel
        start local 3 // io.undertow.connector.ByteBufferPool pool
        start local 4 // io.undertow.conduits.ConduitListener finishListener
        start local 5 // io.undertow.util.Attachable attachable
        start local 6 // java.io.Closeable closeable
         0: .line 70
            aload 0 /* this */
            aload 1 /* next */
            new io.undertow.conduits.ChunkedStreamSourceConduit$1
            dup
            aload 3 /* pool */
            aload 2 /* channel */
            invokespecial io.undertow.conduits.ChunkedStreamSourceConduit$1.<init>:(Lio/undertow/connector/ByteBufferPool;Lorg/xnio/conduits/PushBackStreamSourceConduit;)V
         1: .line 80
            aload 4 /* finishListener */
            aload 5 /* attachable */
            aconst_null
            aload 6 /* closeable */
            invokespecial io.undertow.conduits.ChunkedStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;Lio/undertow/server/HttpServerExchange;Ljava/io/Closeable;)V
         2: .line 81
            return
        end local 6 // java.io.Closeable closeable
        end local 5 // io.undertow.util.Attachable attachable
        end local 4 // io.undertow.conduits.ConduitListener finishListener
        end local 3 // io.undertow.connector.ByteBufferPool pool
        end local 2 // org.xnio.conduits.PushBackStreamSourceConduit channel
        end local 1 // org.xnio.conduits.StreamSourceConduit next
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    3     1            next  Lorg/xnio/conduits/StreamSourceConduit;
            0    3     2         channel  Lorg/xnio/conduits/PushBackStreamSourceConduit;
            0    3     3            pool  Lio/undertow/connector/ByteBufferPool;
            0    3     4  finishListener  Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;
            0    3     5      attachable  Lio/undertow/util/Attachable;
            0    3     6       closeable  Ljava/io/Closeable;
    Signature: (Lorg/xnio/conduits/StreamSourceConduit;Lorg/xnio/conduits/PushBackStreamSourceConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;Lio/undertow/util/Attachable;Ljava/io/Closeable;)V
    MethodParameters:
                Name  Flags
      next            final
      channel         final
      pool            final
      finishListener  final
      attachable      
      closeable       

  public void <init>(org.xnio.conduits.StreamSourceConduit, io.undertow.server.HttpServerExchange, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.ChunkedStreamSourceConduit>);
    descriptor: (Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/HttpServerExchange;Lio/undertow/conduits/ConduitListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // org.xnio.conduits.StreamSourceConduit next
        start local 2 // io.undertow.server.HttpServerExchange exchange
        start local 3 // io.undertow.conduits.ConduitListener finishListener
         0: .line 84
            aload 0 /* this */
            aload 1 /* next */
            new io.undertow.conduits.ChunkedStreamSourceConduit$2
            dup
            aload 2 /* exchange */
            invokespecial io.undertow.conduits.ChunkedStreamSourceConduit$2.<init>:(Lio/undertow/server/HttpServerExchange;)V
         1: .line 94
            aload 3 /* finishListener */
            aload 2 /* exchange */
            aload 2 /* exchange */
            aload 2 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokespecial io.undertow.conduits.ChunkedStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;Lio/undertow/server/HttpServerExchange;Ljava/io/Closeable;)V
         2: .line 95
            return
        end local 3 // io.undertow.conduits.ConduitListener finishListener
        end local 2 // io.undertow.server.HttpServerExchange exchange
        end local 1 // org.xnio.conduits.StreamSourceConduit next
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    3     1            next  Lorg/xnio/conduits/StreamSourceConduit;
            0    3     2        exchange  Lio/undertow/server/HttpServerExchange;
            0    3     3  finishListener  Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;
    Signature: (Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/HttpServerExchange;Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;)V
    MethodParameters:
                Name  Flags
      next            final
      exchange        final
      finishListener  final

  protected void <init>(org.xnio.conduits.StreamSourceConduit, io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.ChunkedStreamSourceConduit>, io.undertow.util.Attachable, io.undertow.server.HttpServerExchange, java.io.Closeable);
    descriptor: (Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;Lio/undertow/server/HttpServerExchange;Ljava/io/Closeable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // org.xnio.conduits.StreamSourceConduit next
        start local 2 // io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper bufferWrapper
        start local 3 // io.undertow.conduits.ConduitListener finishListener
        start local 4 // io.undertow.util.Attachable attachable
        start local 5 // io.undertow.server.HttpServerExchange exchange
        start local 6 // java.io.Closeable closeable
         0: .line 98
            aload 0 /* this */
            aload 1 /* next */
            invokespecial org.xnio.conduits.AbstractStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
         1: .line 99
            aload 0 /* this */
            aload 2 /* bufferWrapper */
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
         2: .line 100
            aload 0 /* this */
            aload 3 /* finishListener */
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
         3: .line 101
            aload 0 /* this */
            ldc -9223372036854775808
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
         4: .line 102
            aload 0 /* this */
            new io.undertow.conduits.ChunkReader
            dup
            aload 4 /* attachable */
            getstatic io.undertow.server.protocol.http.HttpAttachments.REQUEST_TRAILERS:Lio/undertow/util/AttachmentKey;
            aload 0 /* this */
            invokespecial io.undertow.conduits.ChunkReader.<init>:(Lio/undertow/util/Attachable;Lio/undertow/util/AttachmentKey;Lorg/xnio/conduits/Conduit;)V
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
         5: .line 103
            aload 0 /* this */
            aload 5 /* exchange */
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
         6: .line 104
            aload 0 /* this */
            aload 6 /* closeable */
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.closeable:Ljava/io/Closeable;
         7: .line 105
            return
        end local 6 // java.io.Closeable closeable
        end local 5 // io.undertow.server.HttpServerExchange exchange
        end local 4 // io.undertow.util.Attachable attachable
        end local 3 // io.undertow.conduits.ConduitListener finishListener
        end local 2 // io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper bufferWrapper
        end local 1 // org.xnio.conduits.StreamSourceConduit next
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    8     1            next  Lorg/xnio/conduits/StreamSourceConduit;
            0    8     2   bufferWrapper  Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            0    8     3  finishListener  Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;
            0    8     4      attachable  Lio/undertow/util/Attachable;
            0    8     5        exchange  Lio/undertow/server/HttpServerExchange;
            0    8     6       closeable  Ljava/io/Closeable;
    Signature: (Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/ChunkedStreamSourceConduit;>;Lio/undertow/util/Attachable;Lio/undertow/server/HttpServerExchange;Ljava/io/Closeable;)V
    MethodParameters:
                Name  Flags
      next            final
      bufferWrapper   final
      finishListener  final
      attachable      final
      exchange        final
      closeable       final

  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.conduits.ChunkedStreamSourceConduit this
        start local 1 // long position
        start local 3 // long count
        start local 5 // java.nio.channels.FileChannel target
         0: .line 109
            aload 5 /* target */
            new org.xnio.conduits.ConduitReadableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
            lload 1 /* position */
            lload 3 /* count */
            invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
         1: lreturn
         2: .line 110
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
         3: .line 111
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.closeable:Ljava/io/Closeable;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 112
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
        end local 5 // java.nio.channels.FileChannel target
        end local 3 // long count
        end local 1 // long position
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    5     1  position  J
            0    5     3     count  J
            0    5     5    target  Ljava/nio/channels/FileChannel;
            3    5     6         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      position  final
      count     final
      target    final

  private void updateRemainingAllowed(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // int written
         0: .line 117
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
            ldc -9223372036854775808
            lcmp
            ifne 7
         1: .line 118
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            ifnonnull 3
         2: .line 119
            return
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
            lstore 2 /* maxEntitySize */
        start local 2 // long maxEntitySize
         4: .line 122
            lload 2 /* maxEntitySize */
            lconst_0
            lcmp
            ifgt 6
         5: .line 123
            return
         6: .line 125
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 2 /* maxEntitySize */
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
        end local 2 // long maxEntitySize
         7: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
            iload 1 /* written */
            i2l
            lsub
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
         8: .line 129
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.remainingAllowed:J
            lconst_0
            lcmp
            ifge 14
         9: .line 131
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
        10: .line 132
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.closed:Z
        11: .line 133
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            iconst_0
            invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
            pop
        12: .line 134
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
        13: .line 135
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
            invokeinterface io.undertow.UndertowMessages.requestEntityWasTooLarge:(J)Lio/undertow/server/RequestTooBigException;
            athrow
        14: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int written
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0   15     1        written  I
            4    7     2  maxEntitySize  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      written  final

  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=6, args_size=4
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // long count
        start local 3 // java.nio.ByteBuffer throughBuffer
        start local 4 // org.xnio.channels.StreamSinkChannel target
         0: .line 142
            new org.xnio.conduits.ConduitReadableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
            lload 1 /* count */
            aload 3 /* throughBuffer */
            aload 4 /* target */
            invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
         1: lreturn
         2: .line 143
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         3: .line 144
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.closeable:Ljava/io/Closeable;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 145
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        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.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    5     1          count  J
            0    5     3  throughBuffer  Ljava/nio/ByteBuffer;
            0    5     4         target  Lorg/xnio/channels/StreamSinkChannel;
            3    5     5              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      count          final
      throughBuffer  final
      target         final

  public long read(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // java.nio.ByteBuffer[] dsts
        start local 2 // int offset
        start local 3 // int length
         0: .line 151
            iload 2 /* offset */
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 152
      StackMap locals: int
      StackMap stack:
            aload 1 /* dsts */
            iload 4 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 4
         3: .line 153
            aload 0 /* this */
            aload 1 /* dsts */
            iload 4 /* i */
            aaload
            invokevirtual io.undertow.conduits.ChunkedStreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
            i2l
            lreturn
         4: .line 151
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 2
        end local 4 // int i
         6: .line 156
            lconst_0
            lreturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] dsts
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0    7     1    dsts  [Ljava/nio/ByteBuffer;
            0    7     2  offset  I
            0    7     3  length  I
            1    6     4       i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      dsts    final
      offset  final
      length  final

  public void terminateReads();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
         0: .line 161
            aload 0 /* this */
            invokevirtual io.undertow.conduits.ChunkedStreamSourceConduit.isFinished:()Z
            ifne 4
         1: .line 162
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
            iconst_0
            invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
            pop
         2: .line 163
            aload 0 /* this */
            invokespecial org.xnio.conduits.AbstractStreamSourceConduit.terminateReads:()V
         3: .line 164
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.chunkedChannelClosedMidChunk:()Ljava/io/IOException;
            athrow
         4: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
    Exceptions:
      throws java.io.IOException

  public int read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=22, args_size=2
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 170
            iconst_0
            istore 2 /* invokeFinishListener */
        start local 2 // boolean invokeFinishListener
         1: .line 172
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            invokevirtual io.undertow.conduits.ChunkReader.getChunkRemaining:()J
            lstore 3 /* chunkRemaining */
        start local 3 // long chunkRemaining
         2: .line 174
            lload 3 /* chunkRemaining */
            ldc -1
            lcmp
            ifne 9
         3: .line 175
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
            ifne 5
         4: .line 176
            iconst_1
            istore 2 /* invokeFinishListener */
         5: .line 288
      StackMap locals: int long
      StackMap stack:
            iload 2 /* invokeFinishListener */
            ifeq 8
         6: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
         7: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
         8: .line 178
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         9: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.closed:Z
            ifeq 11
        10: .line 181
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        11: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* pooled */
        start local 5 // io.undertow.connector.PooledByteBuffer pooled
        12: .line 184
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* buf */
        start local 6 // java.nio.ByteBuffer buf
        13: .line 185
            iconst_1
            istore 7 /* free */
        start local 7 // boolean free
        14: .line 188
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSourceConduit
            aload 6 /* buf */
            invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
            istore 8 /* r */
        start local 8 // int r
        15: .line 189
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        16: .line 190
            iload 8 /* r */
            iconst_m1
            if_icmpne 18
        17: .line 192
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        18: .line 193
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int
      StackMap stack:
            iload 8 /* r */
            ifne 29
        19: .line 275
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            iflt 21
        20: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            lload 3 /* chunkRemaining */
            invokevirtual io.undertow.conduits.ChunkReader.setChunkRemaining:(J)V
        21: .line 278
      StackMap locals:
      StackMap stack:
            iload 7 /* free */
            ifne 24
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 24
        22: .line 279
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            aload 5 /* pooled */
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.pushBack:(Lio/undertow/connector/PooledByteBuffer;)V
        23: .line 280
            goto 25
        24: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        25: .line 288
      StackMap locals:
      StackMap stack:
            iload 2 /* invokeFinishListener */
            ifeq 28
        26: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
        27: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
        28: .line 194
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        29: .line 196
      StackMap locals:
      StackMap stack:
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            ifne 47
        30: .line 197
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            aload 6 /* buf */
            invokevirtual io.undertow.conduits.ChunkReader.readChunk:(Ljava/nio/ByteBuffer;)J
            lstore 3 /* chunkRemaining */
        31: .line 198
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            ifgt 47
        32: .line 199
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 34
        33: .line 200
            iconst_0
            istore 7 /* free */
        34: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
            ifne 36
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            ifge 36
        35: .line 203
            iconst_1
            istore 2 /* invokeFinishListener */
        36: .line 205
      StackMap locals:
      StackMap stack:
            lload 3 /* chunkRemaining */
            l2i
            istore 20
        37: .line 275
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            iflt 39
        38: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            lload 3 /* chunkRemaining */
            invokevirtual io.undertow.conduits.ChunkReader.setChunkRemaining:(J)V
        39: .line 278
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int top top top top top top top top top top top int
      StackMap stack:
            iload 7 /* free */
            ifne 42
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 42
        40: .line 279
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            aload 5 /* pooled */
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.pushBack:(Lio/undertow/connector/PooledByteBuffer;)V
        41: .line 280
            goto 43
        42: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        43: .line 288
      StackMap locals:
      StackMap stack:
            iload 2 /* invokeFinishListener */
            ifeq 46
        44: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
        45: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
        46: .line 205
      StackMap locals:
      StackMap stack:
            iload 20
            ireturn
        47: .line 210
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 9 /* originalLimit */
        start local 9 // int originalLimit
        48: .line 216
            iconst_0
            istore 10 /* read */
        start local 10 // int read
        49: .line 217
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lload 3 /* chunkRemaining */
            invokestatic java.lang.Math.min:(JJ)J
            lstore 11 /* chunkInBuffer */
        start local 11 // long chunkInBuffer
        50: .line 218
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 13 /* remaining */
        start local 13 // int remaining
        51: .line 219
            lload 11 /* chunkInBuffer */
            iload 13 /* remaining */
            i2l
            lcmp
            ifle 71
        52: .line 221
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 14 /* orig */
        start local 14 // int orig
        53: .line 222
            aload 6 /* buf */
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 13 /* remaining */
            iadd
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        54: .line 223
            aload 1 /* dst */
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        55: .line 224
            aload 6 /* buf */
            iload 14 /* orig */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        56: .line 225
            lload 3 /* chunkRemaining */
            iload 13 /* remaining */
            i2l
            lsub
            lstore 3 /* chunkRemaining */
        57: .line 226
            aload 0 /* this */
            iload 13 /* remaining */
            invokevirtual io.undertow.conduits.ChunkedStreamSourceConduit.updateRemainingAllowed:(I)V
        58: .line 227
            iconst_0
            istore 7 /* free */
        59: .line 228
            iload 13 /* remaining */
            istore 18
        60: .line 271
            aload 1 /* dst */
            iload 9 /* originalLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        61: .line 275
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            iflt 63
        62: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            lload 3 /* chunkRemaining */
            invokevirtual io.undertow.conduits.ChunkReader.setChunkRemaining:(J)V
        63: .line 278
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int int long int int top top top int
      StackMap stack:
            iload 7 /* free */
            ifne 66
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 66
        64: .line 279
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            aload 5 /* pooled */
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.pushBack:(Lio/undertow/connector/PooledByteBuffer;)V
        65: .line 280
            goto 67
        66: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        67: .line 288
      StackMap locals:
      StackMap stack:
            iload 2 /* invokeFinishListener */
            ifeq 70
        68: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
        69: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
        70: .line 228
      StackMap locals:
      StackMap stack:
            iload 18
            ireturn
        end local 14 // int orig
        71: .line 229
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int int long int
      StackMap stack:
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 82
        72: .line 230
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 14 /* old */
        start local 14 // int old
        73: .line 231
            aload 6 /* buf */
            iload 14 /* old */
            i2l
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lload 11 /* chunkInBuffer */
            ladd
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        74: .line 233
            aload 1 /* dst */
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        75: .line 234
            goto 79
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int int long int int
      StackMap stack: java.lang.Throwable
        76: astore 15
        77: .line 235
            aload 6 /* buf */
            iload 14 /* old */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        78: .line 236
            aload 15
            athrow
        79: .line 235
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            iload 14 /* old */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        80: .line 237
            iload 10 /* read */
            i2l
            lload 11 /* chunkInBuffer */
            ladd
            l2i
            istore 10 /* read */
        81: .line 238
            lload 3 /* chunkRemaining */
            lload 11 /* chunkInBuffer */
            lsub
            lstore 3 /* chunkRemaining */
        end local 14 // int old
        82: .line 243
      StackMap locals:
      StackMap stack:
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            ifle 100
        83: .line 244
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 14 /* old */
        start local 14 // int old
        84: .line 246
            lload 3 /* chunkRemaining */
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lcmp
            ifge 86
        85: .line 247
            aload 1 /* dst */
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            i2l
            lload 3 /* chunkRemaining */
            ladd
            l2i
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        86: .line 249
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 15 /* c */
        start local 15 // int c
        87: .line 251
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSourceConduit
            aload 1 /* dst */
            invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
            istore 15 /* c */
        88: .line 252
            iload 15 /* c */
            ifle 91
        89: .line 253
            iload 10 /* read */
            iload 15 /* c */
            iadd
            istore 10 /* read */
        90: .line 254
            lload 3 /* chunkRemaining */
            iload 15 /* c */
            i2l
            lsub
            lstore 3 /* chunkRemaining */
        91: .line 256
      StackMap locals:
      StackMap stack:
            iload 15 /* c */
            ifle 93
            lload 3 /* chunkRemaining */
            lconst_0
        92: .line 250
            lcmp
            ifgt 87
        93: .line 257
      StackMap locals:
      StackMap stack:
            iload 15 /* c */
            iconst_m1
            if_icmpne 98
        94: .line 258
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        end local 15 // int c
        95: .line 260
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int int long int int
      StackMap stack: java.lang.Throwable
            astore 16
        96: .line 261
            aload 1 /* dst */
            iload 14 /* old */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        97: .line 262
            aload 16
            athrow
        98: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            iload 14 /* old */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        end local 14 // int old
        99: .line 263
            goto 101
       100: .line 264
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* free */
       101: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 10 /* read */
            invokevirtual io.undertow.conduits.ChunkedStreamSourceConduit.updateRemainingAllowed:(I)V
       102: .line 267
            iload 10 /* read */
            istore 18
       103: .line 271
            aload 1 /* dst */
            iload 9 /* originalLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
       104: .line 275
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            iflt 106
       105: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            lload 3 /* chunkRemaining */
            invokevirtual io.undertow.conduits.ChunkReader.setChunkRemaining:(J)V
       106: .line 278
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int int long int top top top top int
      StackMap stack:
            iload 7 /* free */
            ifne 109
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 109
       107: .line 279
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            aload 5 /* pooled */
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.pushBack:(Lio/undertow/connector/PooledByteBuffer;)V
       108: .line 280
            goto 110
       109: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       110: .line 288
      StackMap locals:
      StackMap stack:
            iload 2 /* invokeFinishListener */
            ifeq 113
       111: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
       112: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
       113: .line 267
      StackMap locals:
      StackMap stack:
            iload 18
            ireturn
        end local 13 // int remaining
        end local 11 // long chunkInBuffer
        end local 10 // int read
       114: .line 269
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int int int
      StackMap stack: java.lang.Throwable
            astore 17
       115: .line 271
            aload 1 /* dst */
            iload 9 /* originalLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
       116: .line 272
            aload 17
            athrow
        end local 9 // int originalLimit
        end local 8 // int r
       117: .line 274
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int
      StackMap stack: java.lang.Throwable
            astore 19
       118: .line 275
            lload 3 /* chunkRemaining */
            lconst_0
            lcmp
            iflt 120
       119: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            lload 3 /* chunkRemaining */
            invokevirtual io.undertow.conduits.ChunkReader.setChunkRemaining:(J)V
       120: .line 278
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            iload 7 /* free */
            ifne 123
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 123
       121: .line 279
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.bufferWrapper:Lio/undertow/conduits/ChunkedStreamSourceConduit$BufferWrapper;
            aload 5 /* pooled */
            invokeinterface io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper.pushBack:(Lio/undertow/connector/PooledByteBuffer;)V
       122: .line 280
            goto 124
       123: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       124: .line 283
      StackMap locals:
      StackMap stack:
            aload 19
            athrow
        end local 7 // boolean free
        end local 6 // java.nio.ByteBuffer buf
        end local 5 // io.undertow.connector.PooledByteBuffer pooled
        end local 3 // long chunkRemaining
       125: .line 284
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
       126: .line 285
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.closeable:Ljava/io/Closeable;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
       127: .line 286
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Throwable e
       128: .line 287
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 21
       129: .line 288
            iload 2 /* invokeFinishListener */
            ifeq 132
       130: .line 289
            aload 0 /* this */
            iconst_1
            putfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListenerInvoked:Z
       131: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
            aload 0 /* this */
            invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
       132: .line 292
      StackMap locals: io.undertow.conduits.ChunkedStreamSourceConduit java.nio.ByteBuffer int top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 21
            athrow
        end local 2 // boolean invokeFinishListener
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  133     0                  this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
            0  133     1                   dst  Ljava/nio/ByteBuffer;
            1  133     2  invokeFinishListener  Z
            2  125     3        chunkRemaining  J
           12  125     5                pooled  Lio/undertow/connector/PooledByteBuffer;
           13  125     6                   buf  Ljava/nio/ByteBuffer;
           14  125     7                  free  Z
           15  117     8                     r  I
           48  117     9         originalLimit  I
           49  114    10                  read  I
           50  114    11         chunkInBuffer  J
           51  114    13             remaining  I
           53   71    14                  orig  I
           73   82    14                   old  I
           84   99    14                   old  I
           87   95    15                     c  I
          126  128     3                     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          74    76      76  any
          84    95      95  any
          48    60     114  any
          71   103     114  any
          14    19     117  any
          29    37     117  any
          47    61     117  any
          71   104     117  any
         114   117     117  any
           1     5     125  Class java.io.IOException
           9    25     125  Class java.io.IOException
          29    43     125  Class java.io.IOException
          47    67     125  Class java.io.IOException
          71   110     125  Class java.io.IOException
         114   125     125  Class java.io.IOException
           1     5     125  Class java.lang.RuntimeException
           9    25     125  Class java.lang.RuntimeException
          29    43     125  Class java.lang.RuntimeException
          47    67     125  Class java.lang.RuntimeException
          71   110     125  Class java.lang.RuntimeException
         114   125     125  Class java.lang.RuntimeException
           1     5     125  Class java.lang.Error
           9    25     125  Class java.lang.Error
          29    43     125  Class java.lang.Error
          47    67     125  Class java.lang.Error
          71   110     125  Class java.lang.Error
         114   125     125  Class java.lang.Error
           1     5     128  any
           9    25     128  any
          29    43     128  any
          47    67     128  any
          71   110     128  any
         114   128     128  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   final

  public boolean isFinished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
         0: .line 297
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.closed:Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.conduits.ChunkedStreamSourceConduit.chunkReader:Lio/undertow/conduits/ChunkReader;
            invokevirtual io.undertow.conduits.ChunkReader.getChunkRemaining:()J
            ldc -1
            lcmp
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.undertow.conduits.ChunkedStreamSourceConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/conduits/ChunkedStreamSourceConduit;
}
Signature: Lorg/xnio/conduits/AbstractStreamSourceConduit<Lorg/xnio/conduits/StreamSourceConduit;>;
SourceFile: "ChunkedStreamSourceConduit.java"
NestMembers:
  io.undertow.conduits.ChunkedStreamSourceConduit$1  io.undertow.conduits.ChunkedStreamSourceConduit$2  io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper
InnerClasses:
  io.undertow.conduits.ChunkedStreamSourceConduit$1
  io.undertow.conduits.ChunkedStreamSourceConduit$2
  abstract BufferWrapper = io.undertow.conduits.ChunkedStreamSourceConduit$BufferWrapper of io.undertow.conduits.ChunkedStreamSourceConduit