class io.netty.buffer.SimpleLeakAwareByteBuf extends io.netty.buffer.WrappedByteBuf
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.netty.buffer.SimpleLeakAwareByteBuf
  super_class: io.netty.buffer.WrappedByteBuf
{
  private final io.netty.buffer.ByteBuf trackedByteBuf;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final io.netty.util.ResourceLeakTracker<io.netty.buffer.ByteBuf> leak;
    descriptor: Lio/netty/util/ResourceLeakTracker;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;

  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/SimpleLeakAwareByteBuf;
            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.SimpleLeakAwareByteBuf.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, io.netty.util.ResourceLeakTracker<io.netty.buffer.ByteBuf>);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf wrapped
        start local 2 // io.netty.buffer.ByteBuf trackedByteBuf
        start local 3 // io.netty.util.ResourceLeakTracker leak
         0: .line 36
            aload 0 /* this */
            aload 1 /* wrapped */
            invokespecial io.netty.buffer.WrappedByteBuf.<init>:(Lio/netty/buffer/ByteBuf;)V
         1: .line 37
            aload 0 /* this */
            aload 2 /* trackedByteBuf */
            ldc "trackedByteBuf"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.buffer.ByteBuf
            putfield io.netty.buffer.SimpleLeakAwareByteBuf.trackedByteBuf:Lio/netty/buffer/ByteBuf;
         2: .line 38
            aload 0 /* this */
            aload 3 /* leak */
            ldc "leak"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.util.ResourceLeakTracker
            putfield io.netty.buffer.SimpleLeakAwareByteBuf.leak:Lio/netty/util/ResourceLeakTracker;
         3: .line 39
            return
        end local 3 // io.netty.util.ResourceLeakTracker leak
        end local 2 // io.netty.buffer.ByteBuf trackedByteBuf
        end local 1 // io.netty.buffer.ByteBuf wrapped
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    4     1         wrapped  Lio/netty/buffer/ByteBuf;
            0    4     2  trackedByteBuf  Lio/netty/buffer/ByteBuf;
            0    4     3            leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    Signature: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;)V
    MethodParameters:
                Name  Flags
      wrapped         
      trackedByteBuf  
      leak            

  void <init>(io.netty.buffer.ByteBuf, io.netty.util.ResourceLeakTracker<io.netty.buffer.ByteBuf>);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf wrapped
        start local 2 // io.netty.util.ResourceLeakTracker leak
         0: .line 42
            aload 0 /* this */
            aload 1 /* wrapped */
            aload 1 /* wrapped */
            aload 2 /* leak */
            invokespecial io.netty.buffer.SimpleLeakAwareByteBuf.<init>:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
         1: .line 43
            return
        end local 2 // io.netty.util.ResourceLeakTracker leak
        end local 1 // io.netty.buffer.ByteBuf wrapped
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    2     1  wrapped  Lio/netty/buffer/ByteBuf;
            0    2     2     leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    Signature: (Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;)V
    MethodParameters:
         Name  Flags
      wrapped  
      leak     

  public io.netty.buffer.ByteBuf slice();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 47
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.slice:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf retainedSlice();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 52
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.retainedSlice:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.unwrappedDerived:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf retainedSlice(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // int index
        start local 2 // int length
         0: .line 57
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* length */
            invokespecial io.netty.buffer.WrappedByteBuf.retainedSlice:(II)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.unwrappedDerived:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1   index  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      index   
      length  

  public io.netty.buffer.ByteBuf retainedDuplicate();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 62
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.retainedDuplicate:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.unwrappedDerived:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf readRetainedSlice(int);
    descriptor: (I)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // int length
         0: .line 67
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* length */
            invokespecial io.netty.buffer.WrappedByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.unwrappedDerived:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int length
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public io.netty.buffer.ByteBuf slice(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // int index
        start local 2 // int length
         0: .line 72
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* index */
            iload 2 /* length */
            invokespecial io.netty.buffer.WrappedByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1   index  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      index   
      length  

  public io.netty.buffer.ByteBuf duplicate();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 77
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf readSlice(int);
    descriptor: (I)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // int length
         0: .line 82
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* length */
            invokespecial io.netty.buffer.WrappedByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 1 // int length
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public io.netty.buffer.ByteBuf asReadOnly();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 87
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.asReadOnly:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf touch();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 92
            aload 0 /* this */
            areturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public io.netty.buffer.ByteBuf touch(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // java.lang.Object hint
         0: .line 97
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object hint
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1  hint  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      hint  

  public boolean release();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 102
            aload 0 /* this */
            invokespecial io.netty.buffer.WrappedByteBuf.release:()Z
            ifeq 3
         1: .line 103
            aload 0 /* this */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.closeLeak:()V
         2: .line 104
            iconst_1
            ireturn
         3: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/buffer/SimpleLeakAwareByteBuf;

  public boolean release(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // int decrement
         0: .line 111
            aload 0 /* this */
            iload 1 /* decrement */
            invokespecial io.netty.buffer.WrappedByteBuf.release:(I)Z
            ifeq 3
         1: .line 112
            aload 0 /* this */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.closeLeak:()V
         2: .line 113
            iconst_1
            ireturn
         3: .line 115
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int decrement
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    4     1  decrement  I
    MethodParameters:
           Name  Flags
      decrement  

  private void closeLeak();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
         0: .line 121
            aload 0 /* this */
            getfield io.netty.buffer.SimpleLeakAwareByteBuf.leak:Lio/netty/util/ResourceLeakTracker;
            aload 0 /* this */
            getfield io.netty.buffer.SimpleLeakAwareByteBuf.trackedByteBuf:Lio/netty/buffer/ByteBuf;
            invokeinterface io.netty.util.ResourceLeakTracker.close:(Ljava/lang/Object;)Z
            istore 1 /* closed */
        start local 1 // boolean closed
         1: .line 122
            getstatic io.netty.buffer.SimpleLeakAwareByteBuf.$assertionsDisabled:Z
            ifne 2
            iload 1 /* closed */
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 123
      StackMap locals: int
      StackMap stack:
            return
        end local 1 // boolean closed
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            1    3     1  closed  Z

  public io.netty.buffer.ByteBuf order(java.nio.ByteOrder);
    descriptor: (Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // java.nio.ByteOrder endianness
         0: .line 127
            aload 0 /* this */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.order:()Ljava/nio/ByteOrder;
            aload 1 /* endianness */
            if_acmpne 2
         1: .line 128
            aload 0 /* this */
            areturn
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* endianness */
            invokespecial io.netty.buffer.WrappedByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 1 // java.nio.ByteOrder endianness
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    3     1  endianness  Ljava/nio/ByteOrder;
    MethodParameters:
            Name  Flags
      endianness  

  private io.netty.buffer.ByteBuf unwrappedDerived(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf derived
         0: .line 137
            aload 1 /* derived */
            invokestatic io.netty.buffer.SimpleLeakAwareByteBuf.unwrapSwapped:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            astore 2 /* unwrappedDerived */
        start local 2 // io.netty.buffer.ByteBuf unwrappedDerived
         1: .line 139
            aload 2 /* unwrappedDerived */
            instanceof io.netty.buffer.AbstractPooledDerivedByteBuf
            ifeq 7
         2: .line 141
            aload 2 /* unwrappedDerived */
            checkcast io.netty.buffer.AbstractPooledDerivedByteBuf
            aload 0 /* this */
            invokevirtual io.netty.buffer.AbstractPooledDerivedByteBuf.parent:(Lio/netty/buffer/ByteBuf;)V
         3: .line 143
            getstatic io.netty.buffer.AbstractByteBuf.leakDetector:Lio/netty/util/ResourceLeakDetector;
            aload 1 /* derived */
            invokevirtual io.netty.util.ResourceLeakDetector.track:(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker;
            astore 3 /* newLeak */
        start local 3 // io.netty.util.ResourceLeakTracker newLeak
         4: .line 144
            aload 3 /* newLeak */
            ifnonnull 6
         5: .line 146
            aload 1 /* derived */
            areturn
         6: .line 148
      StackMap locals: io.netty.buffer.ByteBuf io.netty.util.ResourceLeakTracker
      StackMap stack:
            aload 0 /* this */
            aload 1 /* derived */
            aload 3 /* newLeak */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 3 // io.netty.util.ResourceLeakTracker newLeak
         7: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* derived */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newSharedLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 2 // io.netty.buffer.ByteBuf unwrappedDerived
        end local 1 // io.netty.buffer.ByteBuf derived
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    8     1           derived  Lio/netty/buffer/ByteBuf;
            1    8     2  unwrappedDerived  Lio/netty/buffer/ByteBuf;
            4    7     3           newLeak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
         Name  Flags
      derived  

  private static io.netty.buffer.ByteBuf unwrapSwapped(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buf
         0: .line 155
            aload 0 /* buf */
            instanceof io.netty.buffer.SwappedByteBuf
            ifeq 4
         1: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.unwrap:()Lio/netty/buffer/ByteBuf;
            astore 0 /* buf */
         2: .line 158
            aload 0 /* buf */
            instanceof io.netty.buffer.SwappedByteBuf
            ifne 1
         3: .line 160
            aload 0 /* buf */
            areturn
         4: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            areturn
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      buf   

  private io.netty.buffer.SimpleLeakAwareByteBuf newSharedLeakAwareByteBuf(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf wrapped
         0: .line 167
            aload 0 /* this */
            aload 1 /* wrapped */
            aload 0 /* this */
            getfield io.netty.buffer.SimpleLeakAwareByteBuf.trackedByteBuf:Lio/netty/buffer/ByteBuf;
            aload 0 /* this */
            getfield io.netty.buffer.SimpleLeakAwareByteBuf.leak:Lio/netty/util/ResourceLeakTracker;
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 1 // io.netty.buffer.ByteBuf wrapped
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1  wrapped  Lio/netty/buffer/ByteBuf;
    MethodParameters:
         Name  Flags
      wrapped  

  private io.netty.buffer.SimpleLeakAwareByteBuf newLeakAwareByteBuf(io.netty.buffer.ByteBuf, io.netty.util.ResourceLeakTracker<io.netty.buffer.ByteBuf>);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf wrapped
        start local 2 // io.netty.util.ResourceLeakTracker leakTracker
         0: .line 172
            aload 0 /* this */
            aload 1 /* wrapped */
            aload 1 /* wrapped */
            aload 2 /* leakTracker */
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.newLeakAwareByteBuf:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
            areturn
        end local 2 // io.netty.util.ResourceLeakTracker leakTracker
        end local 1 // io.netty.buffer.ByteBuf wrapped
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1      wrapped  Lio/netty/buffer/ByteBuf;
            0    1     2  leakTracker  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    Signature: (Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
    MethodParameters:
             Name  Flags
      wrapped      
      leakTracker  

  protected io.netty.buffer.SimpleLeakAwareByteBuf newLeakAwareByteBuf(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, io.netty.util.ResourceLeakTracker<io.netty.buffer.ByteBuf>);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // io.netty.buffer.ByteBuf trackedByteBuf
        start local 3 // io.netty.util.ResourceLeakTracker leakTracker
         0: .line 177
            new io.netty.buffer.SimpleLeakAwareByteBuf
            dup
            aload 1 /* buf */
            aload 2 /* trackedByteBuf */
            aload 3 /* leakTracker */
            invokespecial io.netty.buffer.SimpleLeakAwareByteBuf.<init>:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
            areturn
        end local 3 // io.netty.util.ResourceLeakTracker leakTracker
        end local 2 // io.netty.buffer.ByteBuf trackedByteBuf
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.buffer.SimpleLeakAwareByteBuf this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/netty/buffer/SimpleLeakAwareByteBuf;
            0    1     1             buf  Lio/netty/buffer/ByteBuf;
            0    1     2  trackedByteBuf  Lio/netty/buffer/ByteBuf;
            0    1     3     leakTracker  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    Signature: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;)Lio/netty/buffer/SimpleLeakAwareByteBuf;
    MethodParameters:
                Name  Flags
      buf             
      trackedByteBuf  
      leakTracker     

  public io.netty.util.ReferenceCounted touch(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/util/ReferenceCounted;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.touch:(Ljava/lang/Object;)Lio/netty/buffer/ByteBuf;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.util.ReferenceCounted touch();
    descriptor: ()Lio/netty/util/ReferenceCounted;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.buffer.SimpleLeakAwareByteBuf.touch:()Lio/netty/buffer/ByteBuf;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SimpleLeakAwareByteBuf.java"