final class io.netty.buffer.PoolChunkList<T> implements io.netty.buffer.PoolChunkListMetric
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.PoolChunkList
  super_class: java.lang.Object
{
  private static final java.util.Iterator<io.netty.buffer.PoolChunkMetric> EMPTY_METRICS;
    descriptor: Ljava/util/Iterator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Iterator<Lio/netty/buffer/PoolChunkMetric;>;

  private final io.netty.buffer.PoolArena<T> arena;
    descriptor: Lio/netty/buffer/PoolArena;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolArena<TT;>;

  private final io.netty.buffer.PoolChunkList<T> nextList;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final int minUsage;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxUsage;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxCapacity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.netty.buffer.PoolChunk<T> head;
    descriptor: Lio/netty/buffer/PoolChunk;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/netty/buffer/PoolChunk<TT;>;

  private io.netty.buffer.PoolChunkList<T> prevList;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  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 28
            ldc Lio/netty/buffer/PoolChunkList;
            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.buffer.PoolChunkList.$assertionsDisabled:Z
         3: .line 29
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            putstatic io.netty.buffer.PoolChunkList.EMPTY_METRICS:Ljava/util/Iterator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.netty.buffer.PoolArena<T>, io.netty.buffer.PoolChunkList<T>, int, int, );
    descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolArena arena
        start local 2 // io.netty.buffer.PoolChunkList nextList
        start local 3 // int minUsage
        start local 4 // int maxUsage
        start local 5 // int chunkSize
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            getstatic io.netty.buffer.PoolChunkList.$assertionsDisabled:Z
            ifne 2
            iload 3 /* minUsage */
            iload 4 /* maxUsage */
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 45
      StackMap locals: io.netty.buffer.PoolChunkList io.netty.buffer.PoolArena io.netty.buffer.PoolChunkList int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arena */
            putfield io.netty.buffer.PoolChunkList.arena:Lio/netty/buffer/PoolArena;
         3: .line 46
            aload 0 /* this */
            aload 2 /* nextList */
            putfield io.netty.buffer.PoolChunkList.nextList:Lio/netty/buffer/PoolChunkList;
         4: .line 47
            aload 0 /* this */
            iload 3 /* minUsage */
            putfield io.netty.buffer.PoolChunkList.minUsage:I
         5: .line 48
            aload 0 /* this */
            iload 4 /* maxUsage */
            putfield io.netty.buffer.PoolChunkList.maxUsage:I
         6: .line 49
            aload 0 /* this */
            iload 3 /* minUsage */
            iload 5 /* chunkSize */
            invokestatic io.netty.buffer.PoolChunkList.calculateMaxCapacity:(II)I
            putfield io.netty.buffer.PoolChunkList.maxCapacity:I
         7: .line 50
            return
        end local 5 // int chunkSize
        end local 4 // int maxUsage
        end local 3 // int minUsage
        end local 2 // io.netty.buffer.PoolChunkList nextList
        end local 1 // io.netty.buffer.PoolArena arena
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    8     1      arena  Lio/netty/buffer/PoolArena<TT;>;
            0    8     2   nextList  Lio/netty/buffer/PoolChunkList<TT;>;
            0    8     3   minUsage  I
            0    8     4   maxUsage  I
            0    8     5  chunkSize  I
    Signature: (Lio/netty/buffer/PoolArena<TT;>;Lio/netty/buffer/PoolChunkList<TT;>;III)V
    MethodParameters:
           Name  Flags
      arena      
      nextList   
      minUsage   
      maxUsage   
      chunkSize  

  private static int calculateMaxCapacity(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // int minUsage
        start local 1 // int chunkSize
         0: .line 57
            iload 0 /* minUsage */
            invokestatic io.netty.buffer.PoolChunkList.minUsage0:(I)I
            istore 0 /* minUsage */
         1: .line 59
            iload 0 /* minUsage */
            bipush 100
            if_icmpne 3
         2: .line 61
            iconst_0
            ireturn
         3: .line 69
      StackMap locals:
      StackMap stack:
            iload 1 /* chunkSize */
            i2l
            ldc 100
            iload 0 /* minUsage */
            i2l
            lsub
            lmul
            ldc 100
            ldiv
            l2i
            ireturn
        end local 1 // int chunkSize
        end local 0 // int minUsage
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   minUsage  I
            0    4     1  chunkSize  I
    MethodParameters:
           Name  Flags
      minUsage   
      chunkSize  

  void prevList(io.netty.buffer.PoolChunkList<T>);
    descriptor: (Lio/netty/buffer/PoolChunkList;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunkList prevList
         0: .line 73
            getstatic io.netty.buffer.PoolChunkList.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.prevList:Lio/netty/buffer/PoolChunkList;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prevList */
            putfield io.netty.buffer.PoolChunkList.prevList:Lio/netty/buffer/PoolChunkList;
         2: .line 75
            return
        end local 1 // io.netty.buffer.PoolChunkList prevList
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    3     1  prevList  Lio/netty/buffer/PoolChunkList<TT;>;
    Signature: (Lio/netty/buffer/PoolChunkList<TT;>;)V
    MethodParameters:
          Name  Flags
      prevList  

  boolean allocate(io.netty.buffer.PooledByteBuf<T>, int, );
    descriptor: (Lio/netty/buffer/PooledByteBuf;II)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PooledByteBuf buf
        start local 2 // int reqCapacity
        start local 3 // int normCapacity
         0: .line 78
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            ifnull 1
            iload 3 /* normCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.maxCapacity:I
            if_icmple 2
         1: .line 81
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            astore 4 /* cur */
        start local 4 // io.netty.buffer.PoolChunk cur
         3: .line 85
      StackMap locals: io.netty.buffer.PoolChunk
      StackMap stack:
            aload 4 /* cur */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunk.allocate:(I)J
            lstore 5 /* handle */
        start local 5 // long handle
         4: .line 86
            lload 5 /* handle */
            lconst_0
            lcmp
            ifge 8
         5: .line 87
            aload 4 /* cur */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            astore 4 /* cur */
         6: .line 88
            aload 4 /* cur */
            ifnonnull 3
         7: .line 89
            iconst_0
            ireturn
         8: .line 92
      StackMap locals: long
      StackMap stack:
            aload 4 /* cur */
            aload 1 /* buf */
            lload 5 /* handle */
            iload 2 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolChunk.initBuf:(Lio/netty/buffer/PooledByteBuf;JI)V
         9: .line 93
            aload 4 /* cur */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.maxUsage:I
            if_icmplt 12
        10: .line 94
            aload 0 /* this */
            aload 4 /* cur */
            invokevirtual io.netty.buffer.PoolChunkList.remove:(Lio/netty/buffer/PoolChunk;)V
        11: .line 95
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.nextList:Lio/netty/buffer/PoolChunkList;
            aload 4 /* cur */
            invokevirtual io.netty.buffer.PoolChunkList.add:(Lio/netty/buffer/PoolChunk;)V
        12: .line 97
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // long handle
        end local 4 // io.netty.buffer.PoolChunk cur
        end local 3 // int normCapacity
        end local 2 // int reqCapacity
        end local 1 // io.netty.buffer.PooledByteBuf buf
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lio/netty/buffer/PoolChunkList<TT;>;
            0   13     1           buf  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   13     2   reqCapacity  I
            0   13     3  normCapacity  I
            3   13     4           cur  Lio/netty/buffer/PoolChunk<TT;>;
            4   13     5        handle  J
    Signature: (Lio/netty/buffer/PooledByteBuf<TT;>;II)Z
    MethodParameters:
              Name  Flags
      buf           
      reqCapacity   
      normCapacity  

  boolean free(io.netty.buffer.PoolChunk<T>, );
    descriptor: (Lio/netty/buffer/PoolChunk;J)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // long handle
         0: .line 103
            aload 1 /* chunk */
            lload 2 /* handle */
            invokevirtual io.netty.buffer.PoolChunk.free:(J)V
         1: .line 104
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.minUsage:I
            if_icmpge 4
         2: .line 105
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.remove:(Lio/netty/buffer/PoolChunk;)V
         3: .line 107
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.move0:(Lio/netty/buffer/PoolChunk;)Z
            ireturn
         4: .line 109
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // long handle
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    5     1   chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0    5     2  handle  J
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;J)Z
    MethodParameters:
        Name  Flags
      chunk   
      handle  

  private boolean move(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk chunk
         0: .line 113
            getstatic io.netty.buffer.PoolChunkList.$assertionsDisabled:Z
            ifne 1
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.maxUsage:I
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.minUsage:I
            if_icmpge 3
         2: .line 117
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.move0:(Lio/netty/buffer/PoolChunk;)Z
            ireturn
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.add0:(Lio/netty/buffer/PoolChunk;)V
         4: .line 122
            iconst_1
            ireturn
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    5     1  chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)Z
    MethodParameters:
       Name  Flags
      chunk  

  private boolean move0(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk chunk
         0: .line 130
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.prevList:Lio/netty/buffer/PoolChunkList;
            ifnonnull 3
         1: .line 133
            getstatic io.netty.buffer.PoolChunkList.$assertionsDisabled:Z
            ifne 2
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 134
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.prevList:Lio/netty/buffer/PoolChunkList;
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.move:(Lio/netty/buffer/PoolChunk;)Z
            ireturn
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    4     1  chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)Z
    MethodParameters:
       Name  Flags
      chunk  

  void add(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk chunk
         0: .line 140
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.usage:()I
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.maxUsage:I
            if_icmplt 3
         1: .line 141
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.nextList:Lio/netty/buffer/PoolChunkList;
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.add:(Lio/netty/buffer/PoolChunk;)V
         2: .line 142
            return
         3: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunkList.add0:(Lio/netty/buffer/PoolChunk;)V
         4: .line 145
            return
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    5     1  chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)V
    MethodParameters:
       Name  Flags
      chunk  

  void add0(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk chunk
         0: .line 151
            aload 1 /* chunk */
            aload 0 /* this */
            putfield io.netty.buffer.PoolChunk.parent:Lio/netty/buffer/PoolChunkList;
         1: .line 152
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            ifnonnull 6
         2: .line 153
            aload 0 /* this */
            aload 1 /* chunk */
            putfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
         3: .line 154
            aload 1 /* chunk */
            aconst_null
            putfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
         4: .line 155
            aload 1 /* chunk */
            aconst_null
            putfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
         5: .line 156
            goto 10
         6: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* chunk */
            aconst_null
            putfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
         7: .line 158
            aload 1 /* chunk */
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            putfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
         8: .line 159
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            aload 1 /* chunk */
            putfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
         9: .line 160
            aload 0 /* this */
            aload 1 /* chunk */
            putfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
        10: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lio/netty/buffer/PoolChunkList<TT;>;
            0   11     1  chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)V
    MethodParameters:
       Name  Flags
      chunk  

  private void remove(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolChunk cur
         0: .line 165
            aload 1 /* cur */
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            if_acmpne 5
         1: .line 166
            aload 0 /* this */
            aload 1 /* cur */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            putfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
         2: .line 167
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            ifnull 9
         3: .line 168
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            aconst_null
            putfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
         4: .line 170
            goto 9
         5: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* cur */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            astore 2 /* next */
        start local 2 // io.netty.buffer.PoolChunk next
         6: .line 172
            aload 1 /* cur */
            getfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
            aload 2 /* next */
            putfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
         7: .line 173
            aload 2 /* next */
            ifnull 9
         8: .line 174
            aload 2 /* next */
            aload 1 /* cur */
            getfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
            putfield io.netty.buffer.PoolChunk.prev:Lio/netty/buffer/PoolChunk;
        end local 2 // io.netty.buffer.PoolChunk next
         9: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.buffer.PoolChunk cur
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/netty/buffer/PoolChunkList<TT;>;
            0   10     1   cur  Lio/netty/buffer/PoolChunk<TT;>;
            6    9     2  next  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)V
    MethodParameters:
      Name  Flags
      cur   

  public int minUsage();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolChunkList this
         0: .line 181
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.minUsage:I
            invokestatic io.netty.buffer.PoolChunkList.minUsage0:(I)I
            ireturn
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolChunkList<TT;>;

  public int maxUsage();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolChunkList this
         0: .line 186
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.maxUsage:I
            bipush 100
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolChunkList<TT;>;

  private static int minUsage0(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 190
            iconst_1
            iload 0 /* value */
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public java.util.Iterator<io.netty.buffer.PoolChunkMetric> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolChunkList this
         0: .line 195
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.arena:Lio/netty/buffer/PoolArena;
            dup
            astore 1
            monitorenter
         1: .line 196
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            ifnonnull 4
         2: .line 197
            getstatic io.netty.buffer.PoolChunkList.EMPTY_METRICS:Ljava/util/Iterator;
            aload 1
            monitorexit
         3: areturn
         4: .line 199
      StackMap locals: io.netty.buffer.PoolArena
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* metrics */
        start local 2 // java.util.List metrics
         5: .line 200
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            astore 3 /* cur */
        start local 3 // io.netty.buffer.PoolChunk cur
         6: .line 201
      StackMap locals: java.util.List io.netty.buffer.PoolChunk
      StackMap stack:
            aload 2 /* metrics */
            aload 3 /* cur */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 202
            aload 3 /* cur */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            astore 3 /* cur */
         8: .line 203
            aload 3 /* cur */
            ifnonnull 6
        end local 3 // io.netty.buffer.PoolChunk cur
         9: .line 207
            aload 2 /* metrics */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            aload 1
            monitorexit
        10: areturn
        end local 2 // java.util.List metrics
        11: .line 195
      StackMap locals: io.netty.buffer.PoolChunkList io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        12: athrow
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lio/netty/buffer/PoolChunkList<TT;>;
            5   11     2  metrics  Ljava/util/List<Lio/netty/buffer/PoolChunkMetric;>;
            6    9     3      cur  Lio/netty/buffer/PoolChunk<TT;>;
      Exception table:
        from    to  target  type
           1     3      11  any
           4    10      11  any
          11    12      11  any
    Signature: ()Ljava/util/Iterator<Lio/netty/buffer/PoolChunkMetric;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolChunkList this
         0: .line 213
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 214
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.arena:Lio/netty/buffer/PoolArena;
            dup
            astore 2
            monitorenter
         2: .line 215
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            ifnonnull 5
         3: .line 216
            aload 2
            monitorexit
         4: ldc "none"
            areturn
         5: .line 219
      StackMap locals: java.lang.StringBuilder io.netty.buffer.PoolArena
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            astore 3 /* cur */
        start local 3 // io.netty.buffer.PoolChunk cur
         6: .line 220
      StackMap locals: io.netty.buffer.PoolChunk
      StackMap stack:
            aload 1 /* buf */
            aload 3 /* cur */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         7: .line 221
            aload 3 /* cur */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            astore 3 /* cur */
         8: .line 222
            aload 3 /* cur */
            ifnonnull 10
         9: .line 223
            goto 12
        10: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 219
            goto 6
        end local 3 // io.netty.buffer.PoolChunk cur
        12: .line 214
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/netty/buffer/PoolChunkList<TT;>;
            1   17     1   buf  Ljava/lang/StringBuilder;
            6   12     3   cur  Lio/netty/buffer/PoolChunk<TT;>;
      Exception table:
        from    to  target  type
           2     4      14  any
           5    13      14  any
          14    15      14  any

  void destroy(io.netty.buffer.PoolArena<T>);
    descriptor: (Lio/netty/buffer/PoolArena;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.PoolChunkList this
        start local 1 // io.netty.buffer.PoolArena arena
         0: .line 232
            aload 0 /* this */
            getfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
            astore 2 /* chunk */
        start local 2 // io.netty.buffer.PoolChunk chunk
         1: .line 233
            goto 4
         2: .line 234
      StackMap locals: io.netty.buffer.PoolChunk
      StackMap stack:
            aload 1 /* arena */
            aload 2 /* chunk */
            invokevirtual io.netty.buffer.PoolArena.destroyChunk:(Lio/netty/buffer/PoolChunk;)V
         3: .line 235
            aload 2 /* chunk */
            getfield io.netty.buffer.PoolChunk.next:Lio/netty/buffer/PoolChunk;
            astore 2 /* chunk */
         4: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* chunk */
            ifnonnull 2
         5: .line 237
            aload 0 /* this */
            aconst_null
            putfield io.netty.buffer.PoolChunkList.head:Lio/netty/buffer/PoolChunk;
         6: .line 238
            return
        end local 2 // io.netty.buffer.PoolChunk chunk
        end local 1 // io.netty.buffer.PoolArena arena
        end local 0 // io.netty.buffer.PoolChunkList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/netty/buffer/PoolChunkList<TT;>;
            0    7     1  arena  Lio/netty/buffer/PoolArena<TT;>;
            1    7     2  chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PoolArena<TT;>;)V
    MethodParameters:
       Name  Flags
      arena  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/netty/buffer/PoolChunkListMetric;
SourceFile: "PoolChunkList.java"