abstract class io.netty.buffer.PooledByteBuf<T> extends io.netty.buffer.AbstractReferenceCountedByteBuf
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.buffer.PooledByteBuf
  super_class: io.netty.buffer.AbstractReferenceCountedByteBuf
{
  private final io.netty.util.Recycler$Handle<io.netty.buffer.PooledByteBuf<T>> recyclerHandle;
    descriptor: Lio/netty/util/Recycler$Handle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/util/Recycler$Handle<Lio/netty/buffer/PooledByteBuf<TT;>;>;

  protected io.netty.buffer.PoolChunk<T> chunk;
    descriptor: Lio/netty/buffer/PoolChunk;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lio/netty/buffer/PoolChunk<TT;>;

  protected long handle;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected T memory;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Signature: TT;

  protected int offset;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int length;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  int maxLength;
    descriptor: I
    flags: (0x0000) 

  io.netty.buffer.PoolThreadCache cache;
    descriptor: Lio/netty/buffer/PoolThreadCache;
    flags: (0x0000) 

  private java.nio.ByteBuffer tmpNioBuf;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.buffer.ByteBufAllocator allocator;
    descriptor: Lio/netty/buffer/ByteBufAllocator;
    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 25
            ldc Lio/netty/buffer/PooledByteBuf;
            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.PooledByteBuf.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(io.netty.util.Recycler$Handle<? extends io.netty.buffer.PooledByteBuf<T>>, );
    descriptor: (Lio/netty/util/Recycler$Handle;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // io.netty.util.Recycler$Handle recyclerHandle
        start local 2 // int maxCapacity
         0: .line 41
            aload 0 /* this */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.AbstractReferenceCountedByteBuf.<init>:(I)V
         1: .line 42
            aload 0 /* this */
            aload 1 /* recyclerHandle */
            putfield io.netty.buffer.PooledByteBuf.recyclerHandle:Lio/netty/util/Recycler$Handle;
         2: .line 43
            return
        end local 2 // int maxCapacity
        end local 1 // io.netty.util.Recycler$Handle recyclerHandle
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    3     1  recyclerHandle  Lio/netty/util/Recycler$Handle<+Lio/netty/buffer/PooledByteBuf<TT;>;>;
            0    3     2     maxCapacity  I
    Signature: (Lio/netty/util/Recycler$Handle<+Lio/netty/buffer/PooledByteBuf<TT;>;>;I)V
    MethodParameters:
                Name  Flags
      recyclerHandle  
      maxCapacity     

  void init(io.netty.buffer.PoolChunk<T>, long, int, int, int, io.netty.buffer.PoolThreadCache);
    descriptor: (Lio/netty/buffer/PoolChunk;JIIILio/netty/buffer/PoolThreadCache;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // long handle
        start local 4 // int offset
        start local 5 // int length
        start local 6 // int maxLength
        start local 7 // io.netty.buffer.PoolThreadCache cache
         0: .line 46
            aload 0 /* this */
            aload 1 /* chunk */
            lload 2 /* handle */
            iload 4 /* offset */
            iload 5 /* length */
            iload 6 /* maxLength */
            aload 7 /* cache */
            invokevirtual io.netty.buffer.PooledByteBuf.init0:(Lio/netty/buffer/PoolChunk;JIIILio/netty/buffer/PoolThreadCache;)V
         1: .line 47
            return
        end local 7 // io.netty.buffer.PoolThreadCache cache
        end local 6 // int maxLength
        end local 5 // int length
        end local 4 // int offset
        end local 2 // long handle
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    2     1      chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0    2     2     handle  J
            0    2     4     offset  I
            0    2     5     length  I
            0    2     6  maxLength  I
            0    2     7      cache  Lio/netty/buffer/PoolThreadCache;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;JIIILio/netty/buffer/PoolThreadCache;)V
    MethodParameters:
           Name  Flags
      chunk      
      handle     
      offset     
      length     
      maxLength  
      cache      

  void initUnpooled(io.netty.buffer.PoolChunk<T>, );
    descriptor: (Lio/netty/buffer/PoolChunk;I)V
    flags: (0x0000) 
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // int length
         0: .line 50
            aload 0 /* this */
            aload 1 /* chunk */
            lconst_0
            aload 1 /* chunk */
            getfield io.netty.buffer.PoolChunk.offset:I
            iload 2 /* length */
            iload 2 /* length */
            aconst_null
            invokevirtual io.netty.buffer.PooledByteBuf.init0:(Lio/netty/buffer/PoolChunk;JIIILio/netty/buffer/PoolThreadCache;)V
         1: .line 51
            return
        end local 2 // int length
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    2     1   chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0    2     2  length  I
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;I)V
    MethodParameters:
        Name  Flags
      chunk   
      length  

  private void init0(io.netty.buffer.PoolChunk<T>, long, int, int, int, io.netty.buffer.PoolThreadCache);
    descriptor: (Lio/netty/buffer/PoolChunk;JIIILio/netty/buffer/PoolThreadCache;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // long handle
        start local 4 // int offset
        start local 5 // int length
        start local 6 // int maxLength
        start local 7 // io.netty.buffer.PoolThreadCache cache
         0: .line 54
            getstatic io.netty.buffer.PooledByteBuf.$assertionsDisabled:Z
            ifne 1
            lload 2 /* handle */
            lconst_0
            lcmp
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 55
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.PooledByteBuf.$assertionsDisabled:Z
            ifne 2
            aload 1 /* chunk */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            putfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
         3: .line 58
            aload 0 /* this */
            aload 1 /* chunk */
            getfield io.netty.buffer.PoolChunk.memory:Ljava/lang/Object;
            putfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
         4: .line 59
            aload 0 /* this */
            aload 1 /* chunk */
            getfield io.netty.buffer.PoolChunk.arena:Lio/netty/buffer/PoolArena;
            getfield io.netty.buffer.PoolArena.parent:Lio/netty/buffer/PooledByteBufAllocator;
            putfield io.netty.buffer.PooledByteBuf.allocator:Lio/netty/buffer/ByteBufAllocator;
         5: .line 60
            aload 0 /* this */
            aload 7 /* cache */
            putfield io.netty.buffer.PooledByteBuf.cache:Lio/netty/buffer/PoolThreadCache;
         6: .line 61
            aload 0 /* this */
            lload 2 /* handle */
            putfield io.netty.buffer.PooledByteBuf.handle:J
         7: .line 62
            aload 0 /* this */
            iload 4 /* offset */
            putfield io.netty.buffer.PooledByteBuf.offset:I
         8: .line 63
            aload 0 /* this */
            iload 5 /* length */
            putfield io.netty.buffer.PooledByteBuf.length:I
         9: .line 64
            aload 0 /* this */
            iload 6 /* maxLength */
            putfield io.netty.buffer.PooledByteBuf.maxLength:I
        10: .line 65
            aload 0 /* this */
            aconst_null
            putfield io.netty.buffer.PooledByteBuf.tmpNioBuf:Ljava/nio/ByteBuffer;
        11: .line 66
            return
        end local 7 // io.netty.buffer.PoolThreadCache cache
        end local 6 // int maxLength
        end local 5 // int length
        end local 4 // int offset
        end local 2 // long handle
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   12     1      chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0   12     2     handle  J
            0   12     4     offset  I
            0   12     5     length  I
            0   12     6  maxLength  I
            0   12     7      cache  Lio/netty/buffer/PoolThreadCache;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;JIIILio/netty/buffer/PoolThreadCache;)V
    MethodParameters:
           Name  Flags
      chunk      
      handle     
      offset     
      length     
      maxLength  
      cache      

  final void reuse(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // int maxCapacity
         0: .line 72
            aload 0 /* this */
            iload 1 /* maxCapacity */
            invokevirtual io.netty.buffer.PooledByteBuf.maxCapacity:(I)V
         1: .line 73
            aload 0 /* this */
            iconst_1
            invokevirtual io.netty.buffer.PooledByteBuf.setRefCnt:(I)V
         2: .line 74
            aload 0 /* this */
            iconst_0
            iconst_0
            invokevirtual io.netty.buffer.PooledByteBuf.setIndex0:(II)V
         3: .line 75
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.discardMarks:()V
         4: .line 76
            return
        end local 1 // int maxCapacity
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    5     1  maxCapacity  I
    MethodParameters:
             Name  Flags
      maxCapacity  

  public final int capacity();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 80
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.length:I
            ireturn
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  public final io.netty.buffer.ByteBuf capacity(int);
    descriptor: (I)Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // int newCapacity
         0: .line 85
            aload 0 /* this */
            iload 1 /* newCapacity */
            invokevirtual io.netty.buffer.PooledByteBuf.checkNewCapacity:(I)V
         1: .line 88
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
            getfield io.netty.buffer.PoolChunk.unpooled:Z
            ifeq 4
         2: .line 89
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.length:I
            if_icmpne 19
         3: .line 90
            aload 0 /* this */
            areturn
         4: .line 93
      StackMap locals:
      StackMap stack:
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.length:I
            if_icmple 8
         5: .line 94
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            if_icmpgt 19
         6: .line 95
            aload 0 /* this */
            iload 1 /* newCapacity */
            putfield io.netty.buffer.PooledByteBuf.length:I
         7: .line 96
            aload 0 /* this */
            areturn
         8: .line 98
      StackMap locals:
      StackMap stack:
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.length:I
            if_icmpge 18
         9: .line 99
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            iconst_1
            iushr
            if_icmple 19
        10: .line 100
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            sipush 512
            if_icmpgt 15
        11: .line 101
            iload 1 /* newCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            bipush 16
            isub
            if_icmple 19
        12: .line 102
            aload 0 /* this */
            iload 1 /* newCapacity */
            putfield io.netty.buffer.PooledByteBuf.length:I
        13: .line 103
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.readerIndex:()I
            iload 1 /* newCapacity */
            invokestatic java.lang.Math.min:(II)I
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.writerIndex:()I
            iload 1 /* newCapacity */
            invokestatic java.lang.Math.min:(II)I
            invokevirtual io.netty.buffer.PooledByteBuf.setIndex:(II)Lio/netty/buffer/ByteBuf;
            pop
        14: .line 104
            aload 0 /* this */
            areturn
        15: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* newCapacity */
            putfield io.netty.buffer.PooledByteBuf.length:I
        16: .line 108
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.readerIndex:()I
            iload 1 /* newCapacity */
            invokestatic java.lang.Math.min:(II)I
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.writerIndex:()I
            iload 1 /* newCapacity */
            invokestatic java.lang.Math.min:(II)I
            invokevirtual io.netty.buffer.PooledByteBuf.setIndex:(II)Lio/netty/buffer/ByteBuf;
            pop
        17: .line 109
            aload 0 /* this */
            areturn
        18: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        19: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
            getfield io.netty.buffer.PoolChunk.arena:Lio/netty/buffer/PoolArena;
            aload 0 /* this */
            iload 1 /* newCapacity */
            iconst_1
            invokevirtual io.netty.buffer.PoolArena.reallocate:(Lio/netty/buffer/PooledByteBuf;IZ)V
        20: .line 119
            aload 0 /* this */
            areturn
        end local 1 // int newCapacity
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   21     1  newCapacity  I
    MethodParameters:
             Name  Flags
      newCapacity  

  public final io.netty.buffer.ByteBufAllocator alloc();
    descriptor: ()Lio/netty/buffer/ByteBufAllocator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 124
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.allocator:Lio/netty/buffer/ByteBufAllocator;
            areturn
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  public final java.nio.ByteOrder order();
    descriptor: ()Ljava/nio/ByteOrder;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 129
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            areturn
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  public final io.netty.buffer.ByteBuf unwrap();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 134
            aconst_null
            areturn
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  public final io.netty.buffer.ByteBuf retainedDuplicate();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 139
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.readerIndex:()I
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.writerIndex:()I
            invokestatic io.netty.buffer.PooledDuplicatedByteBuf.newInstance:(Lio/netty/buffer/AbstractByteBuf;Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/PooledDuplicatedByteBuf;
            areturn
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  public final io.netty.buffer.ByteBuf retainedSlice();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 144
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.readerIndex:()I
            istore 1 /* index */
        start local 1 // int index
         1: .line 145
            aload 0 /* this */
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.writerIndex:()I
            iload 1 /* index */
            isub
            invokevirtual io.netty.buffer.PooledByteBuf.retainedSlice:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int index
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/netty/buffer/PooledByteBuf<TT;>;
            1    2     1  index  I

  public final io.netty.buffer.ByteBuf retainedSlice(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // int index
        start local 2 // int length
         0: .line 150
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* length */
            invokestatic io.netty.buffer.PooledSlicedByteBuf.newInstance:(Lio/netty/buffer/AbstractByteBuf;Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/PooledSlicedByteBuf;
            areturn
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    1     1   index  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      index   
      length  

  protected final java.nio.ByteBuffer internalNioBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 154
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.tmpNioBuf:Ljava/nio/ByteBuffer;
            astore 1 /* tmpNioBuf */
        start local 1 // java.nio.ByteBuffer tmpNioBuf
         1: .line 155
            aload 1 /* tmpNioBuf */
            ifnonnull 3
         2: .line 156
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
            invokevirtual io.netty.buffer.PooledByteBuf.newInternalNioBuffer:(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
            dup
            astore 1 /* tmpNioBuf */
            putfield io.netty.buffer.PooledByteBuf.tmpNioBuf:Ljava/nio/ByteBuffer;
         3: .line 158
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* tmpNioBuf */
            areturn
        end local 1 // java.nio.ByteBuffer tmpNioBuf
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/netty/buffer/PooledByteBuf<TT;>;
            1    4     1  tmpNioBuf  Ljava/nio/ByteBuffer;

  protected abstract java.nio.ByteBuffer newInternalNioBuffer(T);
    descriptor: (Ljava/lang/Object;)Ljava/nio/ByteBuffer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TT;)Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      memory  

  protected final void deallocate();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 165
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.handle:J
            lconst_0
            lcmp
            iflt 8
         1: .line 166
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.handle:J
            lstore 1 /* handle */
        start local 1 // long handle
         2: .line 167
            aload 0 /* this */
            ldc -1
            putfield io.netty.buffer.PooledByteBuf.handle:J
         3: .line 168
            aload 0 /* this */
            aconst_null
            putfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
         4: .line 169
            aload 0 /* this */
            aconst_null
            putfield io.netty.buffer.PooledByteBuf.tmpNioBuf:Ljava/nio/ByteBuffer;
         5: .line 170
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
            getfield io.netty.buffer.PoolChunk.arena:Lio/netty/buffer/PoolArena;
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
            lload 1 /* handle */
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.cache:Lio/netty/buffer/PoolThreadCache;
            invokevirtual io.netty.buffer.PoolArena.free:(Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolThreadCache;)V
         6: .line 171
            aload 0 /* this */
            aconst_null
            putfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
         7: .line 172
            aload 0 /* this */
            invokevirtual io.netty.buffer.PooledByteBuf.recycle:()V
        end local 1 // long handle
         8: .line 174
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/netty/buffer/PooledByteBuf<TT;>;
            2    8     1  handle  J

  private void recycle();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PooledByteBuf this
         0: .line 177
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.recyclerHandle:Lio/netty/util/Recycler$Handle;
            aload 0 /* this */
            invokeinterface io.netty.util.Recycler$Handle.recycle:(Ljava/lang/Object;)V
         1: .line 178
            return
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/buffer/PooledByteBuf<TT;>;

  protected final int idx(int);
    descriptor: (I)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PooledByteBuf this
        start local 1 // int index
         0: .line 181
            aload 0 /* this */
            getfield io.netty.buffer.PooledByteBuf.offset:I
            iload 1 /* index */
            iadd
            ireturn
        end local 1 // int index
        end local 0 // io.netty.buffer.PooledByteBuf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  
}
Signature: <T:Ljava/lang/Object;>Lio/netty/buffer/AbstractReferenceCountedByteBuf;
SourceFile: "PooledByteBuf.java"
InnerClasses:
  public abstract Handle = io.netty.util.Recycler$Handle of io.netty.util.Recycler