public abstract class io.netty.channel.AbstractCoalescingBufferQueue
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.channel.AbstractCoalescingBufferQueue
  super_class: java.lang.Object
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.ArrayDeque<java.lang.Object> bufAndListenerPairs;
    descriptor: Ljava/util/ArrayDeque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayDeque<Ljava/lang/Object;>;

  private final io.netty.channel.PendingBytesTracker tracker;
    descriptor: Lio/netty/channel/PendingBytesTracker;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 32
            ldc Lio/netty/channel/AbstractCoalescingBufferQueue;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.netty.channel.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
         3: .line 33
            ldc Lio/netty/channel/AbstractCoalescingBufferQueue;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(io.netty.channel.Channel, int);
    descriptor: (Lio/netty/channel/Channel;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.Channel channel
        start local 2 // int initSize
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            iload 2 /* initSize */
            invokespecial java.util.ArrayDeque.<init>:(I)V
            putfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
         2: .line 47
            aload 0 /* this */
            aload 1 /* channel */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.Channel int
      StackMap stack: io.netty.channel.AbstractCoalescingBufferQueue
         3: aload 1 /* channel */
            invokestatic io.netty.channel.PendingBytesTracker.newTracker:(Lio/netty/channel/Channel;)Lio/netty/channel/PendingBytesTracker;
      StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.Channel int
      StackMap stack: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.PendingBytesTracker
         4: putfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
         5: .line 48
            return
        end local 2 // int initSize
        end local 1 // io.netty.channel.Channel channel
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    6     1   channel  Lio/netty/channel/Channel;
            0    6     2  initSize  I
    MethodParameters:
          Name  Flags
      channel   
      initSize  

  public final void addFirst(io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 57
            aload 0 /* this */
            aload 1 /* buf */
            aload 2 /* promise */
            invokestatic io.netty.channel.AbstractCoalescingBufferQueue.toChannelFutureListener:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.addFirst:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
         1: .line 58
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    2     1      buf  Lio/netty/buffer/ByteBuf;
            0    2     2  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      buf      
      promise  

  private void addFirst(io.netty.buffer.ByteBuf, io.netty.channel.ChannelFutureListener);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // io.netty.channel.ChannelFutureListener listener
         0: .line 61
            aload 2 /* listener */
            ifnull 2
         1: .line 62
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 2 /* listener */
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 1 /* buf */
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         3: .line 65
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
         4: .line 66
            return
        end local 2 // io.netty.channel.ChannelFutureListener listener
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    5     1       buf  Lio/netty/buffer/ByteBuf;
            0    5     2  listener  Lio/netty/channel/ChannelFutureListener;
    MethodParameters:
          Name  Flags
      buf       
      listener  

  public final void add(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBuf buf
         0: .line 72
            aload 0 /* this */
            aload 1 /* buf */
            aconst_null
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
         1: .line 73
            return
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    2     1   buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      buf   

  public final void add(io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 84
            aload 0 /* this */
            aload 1 /* buf */
            aload 2 /* promise */
            invokestatic io.netty.channel.AbstractCoalescingBufferQueue.toChannelFutureListener:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
         1: .line 85
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    2     1      buf  Lio/netty/buffer/ByteBuf;
            0    2     2  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      buf      
      promise  

  public final void add(io.netty.buffer.ByteBuf, io.netty.channel.ChannelFutureListener);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // io.netty.channel.ChannelFutureListener listener
         0: .line 96
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 1 /* buf */
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
         1: .line 97
            aload 2 /* listener */
            ifnull 3
         2: .line 98
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 2 /* listener */
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
         3: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
         4: .line 101
            return
        end local 2 // io.netty.channel.ChannelFutureListener listener
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    5     1       buf  Lio/netty/buffer/ByteBuf;
            0    5     2  listener  Lio/netty/channel/ChannelFutureListener;
    MethodParameters:
          Name  Flags
      buf       
      listener  

  public final io.netty.buffer.ByteBuf removeFirst(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.ChannelPromise aggregatePromise
         0: .line 109
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            astore 2 /* entry */
        start local 2 // java.lang.Object entry
         1: .line 110
            aload 2 /* entry */
            ifnonnull 3
         2: .line 111
            aconst_null
            areturn
         3: .line 113
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic io.netty.channel.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
            ifne 4
            aload 2 /* entry */
            instanceof io.netty.buffer.ByteBuf
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 114
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast io.netty.buffer.ByteBuf
            astore 3 /* result */
        start local 3 // io.netty.buffer.ByteBuf result
         5: .line 116
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
         6: .line 118
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
            astore 2 /* entry */
         7: .line 119
            aload 2 /* entry */
            instanceof io.netty.channel.ChannelFutureListener
            ifeq 10
         8: .line 120
            aload 1 /* aggregatePromise */
            aload 2 /* entry */
            checkcast io.netty.channel.ChannelFutureListener
            invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
            pop
         9: .line 121
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            pop
        10: .line 123
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // io.netty.buffer.ByteBuf result
        end local 2 // java.lang.Object entry
        end local 1 // io.netty.channel.ChannelPromise aggregatePromise
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0   11     1  aggregatePromise  Lio/netty/channel/ChannelPromise;
            1   11     2             entry  Ljava/lang/Object;
            5   11     3            result  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                  Name  Flags
      aggregatePromise  

  public final io.netty.buffer.ByteBuf remove(io.netty.buffer.ByteBufAllocator, int, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;ILio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        start local 2 // int bytes
        start local 3 // io.netty.channel.ChannelPromise aggregatePromise
         0: .line 138
            iload 2 /* bytes */
            ldc "bytes"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositiveOrZero:(ILjava/lang/String;)I
            pop
         1: .line 139
            aload 3 /* aggregatePromise */
            ldc "aggregatePromise"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 142
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ifeq 4
         3: .line 143
            aload 0 /* this */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.removeEmptyValue:()Lio/netty/buffer/ByteBuf;
            areturn
         4: .line 145
      StackMap locals:
      StackMap stack:
            iload 2 /* bytes */
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* bytes */
         5: .line 147
            aconst_null
            astore 4 /* toReturn */
        start local 4 // io.netty.buffer.ByteBuf toReturn
         6: .line 148
            aconst_null
            astore 5 /* entryBuffer */
        start local 5 // io.netty.buffer.ByteBuf entryBuffer
         7: .line 149
            iload 2 /* bytes */
            istore 6 /* originalBytes */
        start local 6 // int originalBytes
         8: .line 152
      StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            astore 7 /* entry */
        start local 7 // java.lang.Object entry
         9: .line 153
            aload 7 /* entry */
            ifnonnull 11
        10: .line 154
            goto 35
        11: .line 156
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* entry */
            instanceof io.netty.channel.ChannelFutureListener
            ifeq 14
        12: .line 157
            aload 3 /* aggregatePromise */
            aload 7 /* entry */
            checkcast io.netty.channel.ChannelFutureListener
            invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
            pop
        13: .line 158
            goto 8
        14: .line 160
      StackMap locals:
      StackMap stack:
            aload 7 /* entry */
            checkcast io.netty.buffer.ByteBuf
            astore 5 /* entryBuffer */
        15: .line 161
            aload 5 /* entryBuffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iload 2 /* bytes */
            if_icmple 24
        16: .line 163
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 5 /* entryBuffer */
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
        17: .line 164
            iload 2 /* bytes */
            ifle 35
        18: .line 166
            aload 5 /* entryBuffer */
            iload 2 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 5 /* entryBuffer */
        19: .line 167
            aload 4 /* toReturn */
            ifnonnull 20
            aload 0 /* this */
            aload 1 /* alloc */
            aload 5 /* entryBuffer */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.composeFirst:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            goto 21
        20: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alloc */
            aload 4 /* toReturn */
            aload 5 /* entryBuffer */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.compose:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
        21: .line 167
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
            astore 4 /* toReturn */
        22: .line 169
            iconst_0
            istore 2 /* bytes */
        23: .line 171
            goto 35
        24: .line 173
      StackMap locals:
      StackMap stack:
            iload 2 /* bytes */
            aload 5 /* entryBuffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            isub
            istore 2 /* bytes */
        25: .line 174
            aload 4 /* toReturn */
            ifnonnull 26
            aload 0 /* this */
            aload 1 /* alloc */
            aload 5 /* entryBuffer */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.composeFirst:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            goto 27
        26: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alloc */
            aload 4 /* toReturn */
            aload 5 /* entryBuffer */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.compose:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
        27: .line 174
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
            astore 4 /* toReturn */
        28: .line 177
            aconst_null
            astore 5 /* entryBuffer */
        end local 7 // java.lang.Object entry
        29: .line 151
            goto 8
        30: .line 179
      StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int
      StackMap stack: java.lang.Throwable
            astore 7 /* cause */
        start local 7 // java.lang.Throwable cause
        31: .line 180
            aload 5 /* entryBuffer */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
        32: .line 181
            aload 4 /* toReturn */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
        33: .line 182
            aload 3 /* aggregatePromise */
            aload 7 /* cause */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
        34: .line 183
            aload 7 /* cause */
            invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable cause
        35: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* originalBytes */
            iload 2 /* bytes */
            isub
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
        36: .line 186
            aload 4 /* toReturn */
            areturn
        end local 6 // int originalBytes
        end local 5 // io.netty.buffer.ByteBuf entryBuffer
        end local 4 // io.netty.buffer.ByteBuf toReturn
        end local 3 // io.netty.channel.ChannelPromise aggregatePromise
        end local 2 // int bytes
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   37     0              this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0   37     1             alloc  Lio/netty/buffer/ByteBufAllocator;
            0   37     2             bytes  I
            0   37     3  aggregatePromise  Lio/netty/channel/ChannelPromise;
            6   37     4          toReturn  Lio/netty/buffer/ByteBuf;
            7   37     5       entryBuffer  Lio/netty/buffer/ByteBuf;
            8   37     6     originalBytes  I
            9   29     7             entry  Ljava/lang/Object;
           31   35     7             cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8    30      30  Class java.lang.Throwable
    MethodParameters:
                  Name  Flags
      alloc             
      bytes             
      aggregatePromise  

  public final int readableBytes();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
         0: .line 193
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            ireturn
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/AbstractCoalescingBufferQueue;

  public final boolean isEmpty();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
         0: .line 200
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.isEmpty:()Z
            ireturn
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/AbstractCoalescingBufferQueue;

  public final void releaseAndFailAll(io.netty.channel.ChannelOutboundInvoker, java.lang.Throwable);
    descriptor: (Lio/netty/channel/ChannelOutboundInvoker;Ljava/lang/Throwable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.ChannelOutboundInvoker invoker
        start local 2 // java.lang.Throwable cause
         0: .line 207
            aload 0 /* this */
            aload 1 /* invoker */
            aload 2 /* cause */
            invokeinterface io.netty.channel.ChannelOutboundInvoker.newFailedFuture:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelFuture;
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.releaseAndCompleteAll:(Lio/netty/channel/ChannelFuture;)V
         1: .line 208
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelOutboundInvoker invoker
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    2     1  invoker  Lio/netty/channel/ChannelOutboundInvoker;
            0    2     2    cause  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      invoker  
      cause    

  public final void copyTo(io.netty.channel.AbstractCoalescingBufferQueue);
    descriptor: (Lio/netty/channel/AbstractCoalescingBufferQueue;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.AbstractCoalescingBufferQueue dest
         0: .line 215
            aload 1 /* dest */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 216
            aload 1 /* dest */
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
         2: .line 217
            return
        end local 1 // io.netty.channel.AbstractCoalescingBufferQueue dest
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    3     1  dest  Lio/netty/channel/AbstractCoalescingBufferQueue;
    MethodParameters:
      Name  Flags
      dest  

  public final void writeAndRemoveAll(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 224
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
         1: .line 225
            aconst_null
            astore 2 /* pending */
        start local 2 // java.lang.Throwable pending
         2: .line 226
            aconst_null
            astore 3 /* previousBuf */
        start local 3 // io.netty.buffer.ByteBuf previousBuf
         3: .line 228
      StackMap locals: java.lang.Throwable io.netty.buffer.ByteBuf
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         4: .line 230
            aload 4 /* entry */
            ifnonnull 8
         5: .line 231
            aload 3 /* previousBuf */
            ifnull 26
         6: .line 232
            aload 1 /* ctx */
            aload 3 /* previousBuf */
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.voidPromise:()Lio/netty/channel/ChannelPromise;
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         7: .line 234
            goto 26
         8: .line 237
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* entry */
            instanceof io.netty.buffer.ByteBuf
            ifeq 13
         9: .line 238
            aload 3 /* previousBuf */
            ifnull 11
        10: .line 239
            aload 1 /* ctx */
            aload 3 /* previousBuf */
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.voidPromise:()Lio/netty/channel/ChannelPromise;
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
        11: .line 241
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            checkcast io.netty.buffer.ByteBuf
            astore 3 /* previousBuf */
        12: .line 242
            goto 3
      StackMap locals:
      StackMap stack:
        13: aload 4 /* entry */
            instanceof io.netty.channel.ChannelPromise
            ifeq 17
        14: .line 243
            aload 1 /* ctx */
            aload 3 /* previousBuf */
            aload 4 /* entry */
            checkcast io.netty.channel.ChannelPromise
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
        15: .line 244
            aconst_null
            astore 3 /* previousBuf */
        16: .line 245
            goto 3
        17: .line 246
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 3 /* previousBuf */
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
            aload 4 /* entry */
            checkcast io.netty.channel.ChannelFutureListener
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
        18: .line 247
            aconst_null
            astore 3 /* previousBuf */
        19: .line 249
            goto 3
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        21: .line 250
            aload 2 /* pending */
            ifnonnull 24
        22: .line 251
            aload 5 /* t */
            astore 2 /* pending */
        23: .line 252
            goto 3
        24: .line 253
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Throwable being suppressed because Throwable {} is already pending"
            aload 2 /* pending */
            aload 5 /* t */
            invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.lang.Throwable t
        end local 4 // java.lang.Object entry
        25: .line 227
            goto 3
        26: .line 257
      StackMap locals:
      StackMap stack:
            aload 2 /* pending */
            ifnull 28
        27: .line 258
            new java.lang.IllegalStateException
            dup
            aload 2 /* pending */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        28: .line 260
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.buffer.ByteBuf previousBuf
        end local 2 // java.lang.Throwable pending
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0   29     1          ctx  Lio/netty/channel/ChannelHandlerContext;
            2   29     2      pending  Ljava/lang/Throwable;
            3   29     3  previousBuf  Lio/netty/buffer/ByteBuf;
            4   25     4        entry  Ljava/lang/Object;
           21   25     5            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     7      20  Class java.lang.Throwable
           8    19      20  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      ctx   

  protected abstract io.netty.buffer.ByteBuf compose(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      alloc       
      cumulation  
      next        

  protected final io.netty.buffer.ByteBuf composeIntoComposite(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        start local 2 // io.netty.buffer.ByteBuf cumulation
        start local 3 // io.netty.buffer.ByteBuf next
         0: .line 273
            aload 1 /* alloc */
            aload 0 /* this */
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.size:()I
            iconst_2
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.compositeBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
            astore 4 /* composite */
        start local 4 // io.netty.buffer.CompositeByteBuf composite
         1: .line 275
            aload 4 /* composite */
            iconst_1
            aload 2 /* cumulation */
            invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
            pop
         2: .line 276
            aload 4 /* composite */
            iconst_1
            aload 3 /* next */
            invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
            pop
         3: .line 277
            goto 8
      StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.CompositeByteBuf
      StackMap stack: java.lang.Throwable
         4: astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
         5: .line 278
            aload 4 /* composite */
            invokevirtual io.netty.buffer.CompositeByteBuf.release:()Z
            pop
         6: .line 279
            aload 3 /* next */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
         7: .line 280
            aload 5 /* cause */
            invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable cause
         8: .line 282
      StackMap locals:
      StackMap stack:
            aload 4 /* composite */
            areturn
        end local 4 // io.netty.buffer.CompositeByteBuf composite
        end local 3 // io.netty.buffer.ByteBuf next
        end local 2 // io.netty.buffer.ByteBuf cumulation
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    9     1       alloc  Lio/netty/buffer/ByteBufAllocator;
            0    9     2  cumulation  Lio/netty/buffer/ByteBuf;
            0    9     3        next  Lio/netty/buffer/ByteBuf;
            1    9     4   composite  Lio/netty/buffer/CompositeByteBuf;
            5    8     5       cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      alloc       
      cumulation  
      next        

  protected final io.netty.buffer.ByteBuf copyAndCompose(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        start local 2 // io.netty.buffer.ByteBuf cumulation
        start local 3 // io.netty.buffer.ByteBuf next
         0: .line 293
            aload 1 /* alloc */
            aload 2 /* cumulation */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 3 /* next */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.ioBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 4 /* newCumulation */
        start local 4 // io.netty.buffer.ByteBuf newCumulation
         1: .line 295
            aload 4 /* newCumulation */
            aload 2 /* cumulation */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            aload 3 /* next */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 296
            goto 7
      StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
      StackMap stack: java.lang.Throwable
         3: astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
         4: .line 297
            aload 4 /* newCumulation */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
         5: .line 298
            aload 3 /* next */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
         6: .line 299
            aload 5 /* cause */
            invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable cause
         7: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* cumulation */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
         8: .line 302
            aload 3 /* next */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
         9: .line 303
            aload 4 /* newCumulation */
            areturn
        end local 4 // io.netty.buffer.ByteBuf newCumulation
        end local 3 // io.netty.buffer.ByteBuf next
        end local 2 // io.netty.buffer.ByteBuf cumulation
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0   10     1          alloc  Lio/netty/buffer/ByteBufAllocator;
            0   10     2     cumulation  Lio/netty/buffer/ByteBuf;
            0   10     3           next  Lio/netty/buffer/ByteBuf;
            1   10     4  newCumulation  Lio/netty/buffer/ByteBuf;
            4    7     5          cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      alloc       
      cumulation  
      next        

  protected io.netty.buffer.ByteBuf composeFirst(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.buffer.ByteBufAllocator allocator
        start local 2 // io.netty.buffer.ByteBuf first
         0: .line 311
            aload 2 /* first */
            areturn
        end local 2 // io.netty.buffer.ByteBuf first
        end local 1 // io.netty.buffer.ByteBufAllocator allocator
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    1     1  allocator  Lio/netty/buffer/ByteBufAllocator;
            0    1     2      first  Lio/netty/buffer/ByteBuf;
    MethodParameters:
           Name  Flags
      allocator  
      first      

  protected abstract io.netty.buffer.ByteBuf removeEmptyValue();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected final int size();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
         0: .line 325
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.size:()I
            ireturn
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/AbstractCoalescingBufferQueue;

  private void releaseAndCompleteAll(io.netty.channel.ChannelFuture);
    descriptor: (Lio/netty/channel/ChannelFuture;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // io.netty.channel.ChannelFuture future
         0: .line 329
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
         1: .line 330
            aconst_null
            astore 2 /* pending */
        start local 2 // java.lang.Throwable pending
         2: .line 332
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
            invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         3: .line 333
            aload 3 /* entry */
            ifnonnull 5
         4: .line 334
            goto 16
         5: .line 337
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* entry */
            instanceof io.netty.buffer.ByteBuf
            ifeq 8
         6: .line 338
            aload 3 /* entry */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
         7: .line 339
            goto 2
         8: .line 340
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            checkcast io.netty.channel.ChannelFutureListener
            aload 1 /* future */
            invokeinterface io.netty.channel.ChannelFutureListener.operationComplete:(Lio/netty/util/concurrent/Future;)V
         9: .line 342
            goto 2
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 4 /* t */
        start local 4 // java.lang.Throwable t
        11: .line 343
            aload 2 /* pending */
            ifnonnull 14
        12: .line 344
            aload 4 /* t */
            astore 2 /* pending */
        13: .line 345
            goto 2
        14: .line 346
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Throwable being suppressed because Throwable {} is already pending"
            aload 2 /* pending */
            aload 4 /* t */
            invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // java.lang.Throwable t
        end local 3 // java.lang.Object entry
        15: .line 331
            goto 2
        16: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* pending */
            ifnull 18
        17: .line 351
            new java.lang.IllegalStateException
            dup
            aload 2 /* pending */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        18: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable pending
        end local 1 // io.netty.channel.ChannelFuture future
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0   19     1   future  Lio/netty/channel/ChannelFuture;
            2   19     2  pending  Ljava/lang/Throwable;
            3   15     3    entry  Ljava/lang/Object;
           11   15     4        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5     9      10  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      future  

  private void incrementReadableBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // int increment
         0: .line 356
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            iload 1 /* increment */
            iadd
            istore 2 /* nextReadableBytes */
        start local 2 // int nextReadableBytes
         1: .line 357
            iload 2 /* nextReadableBytes */
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            if_icmpge 3
         2: .line 358
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "buffer queue length overflow: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* increment */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 360
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* nextReadableBytes */
            putfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
         4: .line 361
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
            ifnull 6
         5: .line 362
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
            iload 1 /* increment */
            i2l
            invokevirtual io.netty.channel.PendingBytesTracker.incrementPendingOutboundBytes:(J)V
         6: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int nextReadableBytes
        end local 1 // int increment
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    7     1          increment  I
            1    7     2  nextReadableBytes  I
    MethodParameters:
           Name  Flags
      increment  

  private void decrementReadableBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
        start local 1 // int decrement
         0: .line 367
            aload 0 /* this */
            dup
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            iload 1 /* decrement */
            isub
            putfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
         1: .line 368
            getstatic io.netty.channel.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
            ifnull 4
         3: .line 370
            aload 0 /* this */
            getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
            iload 1 /* decrement */
            i2l
            invokevirtual io.netty.channel.PendingBytesTracker.decrementPendingOutboundBytes:(J)V
         4: .line 372
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int decrement
        end local 0 // io.netty.channel.AbstractCoalescingBufferQueue this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/netty/channel/AbstractCoalescingBufferQueue;
            0    5     1  decrement  I
    MethodParameters:
           Name  Flags
      decrement  

  private static io.netty.channel.ChannelFutureListener toChannelFutureListener(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.ChannelPromise promise
         0: .line 375
            aload 0 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.isVoid:()Z
            ifeq 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.netty.channel.DelegatingChannelPromiseNotifier
            dup
            aload 0 /* promise */
            invokespecial io.netty.channel.DelegatingChannelPromiseNotifier.<init>:(Lio/netty/channel/ChannelPromise;)V
      StackMap locals:
      StackMap stack: io.netty.channel.DelegatingChannelPromiseNotifier
         2: areturn
        end local 0 // io.netty.channel.ChannelPromise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      promise  
}
SourceFile: "AbstractCoalescingBufferQueue.java"