public abstract class io.netty.buffer.AbstractByteBufAllocator implements io.netty.buffer.ByteBufAllocator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.buffer.AbstractByteBufAllocator
  super_class: java.lang.Object
{
  static final int DEFAULT_INITIAL_CAPACITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  static final int DEFAULT_MAX_CAPACITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  static final int DEFAULT_MAX_COMPONENTS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final int CALCULATE_THRESHOLD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4194304

  private final boolean directByDefault;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.buffer.ByteBuf emptyBuf;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 34
            ldc Lio/netty/buffer/AbstractByteBufAllocator;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "toLeakAwareBuffer"
            aastore
            invokestatic io.netty.util.ResourceLeakDetector.addExclusions:(Ljava/lang/Class;[Ljava/lang/String;)V
         1: .line 35
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected static io.netty.buffer.ByteBuf toLeakAwareBuffer(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buf
         0: .line 39
            invokestatic io.netty.buffer.AbstractByteBufAllocator.$SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level:()[I
            invokestatic io.netty.util.ResourceLeakDetector.getLevel:()Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 1
                    3: 5
                    4: 5
              default: 9
          }
         1: .line 41
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.AbstractByteBuf.leakDetector:Lio/netty/util/ResourceLeakDetector;
            aload 0 /* buf */
            invokevirtual io.netty.util.ResourceLeakDetector.track:(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker;
            astore 1 /* leak */
        start local 1 // io.netty.util.ResourceLeakTracker leak
         2: .line 42
            aload 1 /* leak */
            ifnull 9
         3: .line 43
            new io.netty.buffer.SimpleLeakAwareByteBuf
            dup
            aload 0 /* buf */
            aload 1 /* leak */
            invokespecial io.netty.buffer.SimpleLeakAwareByteBuf.<init>:(Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
            astore 0 /* buf */
         4: .line 45
            goto 9
        end local 1 // io.netty.util.ResourceLeakTracker leak
         5: .line 48
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.AbstractByteBuf.leakDetector:Lio/netty/util/ResourceLeakDetector;
            aload 0 /* buf */
            invokevirtual io.netty.util.ResourceLeakDetector.track:(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker;
            astore 1 /* leak */
        start local 1 // io.netty.util.ResourceLeakTracker leak
         6: .line 49
            aload 1 /* leak */
            ifnull 9
         7: .line 50
            new io.netty.buffer.AdvancedLeakAwareByteBuf
            dup
            aload 0 /* buf */
            aload 1 /* leak */
            invokespecial io.netty.buffer.AdvancedLeakAwareByteBuf.<init>:(Lio/netty/buffer/ByteBuf;Lio/netty/util/ResourceLeakTracker;)V
            astore 0 /* buf */
         8: .line 52
            goto 9
        end local 1 // io.netty.util.ResourceLeakTracker leak
         9: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            areturn
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   buf  Lio/netty/buffer/ByteBuf;
            2    5     1  leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
            6    9     1  leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
      Name  Flags
      buf   

  protected static io.netty.buffer.CompositeByteBuf toLeakAwareBuffer(io.netty.buffer.CompositeByteBuf);
    descriptor: (Lio/netty/buffer/CompositeByteBuf;)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.netty.buffer.CompositeByteBuf buf
         0: .line 61
            invokestatic io.netty.buffer.AbstractByteBufAllocator.$SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level:()[I
            invokestatic io.netty.util.ResourceLeakDetector.getLevel:()Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 1
                    3: 5
                    4: 5
              default: 9
          }
         1: .line 63
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.AbstractByteBuf.leakDetector:Lio/netty/util/ResourceLeakDetector;
            aload 0 /* buf */
            invokevirtual io.netty.util.ResourceLeakDetector.track:(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker;
            astore 1 /* leak */
        start local 1 // io.netty.util.ResourceLeakTracker leak
         2: .line 64
            aload 1 /* leak */
            ifnull 9
         3: .line 65
            new io.netty.buffer.SimpleLeakAwareCompositeByteBuf
            dup
            aload 0 /* buf */
            aload 1 /* leak */
            invokespecial io.netty.buffer.SimpleLeakAwareCompositeByteBuf.<init>:(Lio/netty/buffer/CompositeByteBuf;Lio/netty/util/ResourceLeakTracker;)V
            astore 0 /* buf */
         4: .line 67
            goto 9
        end local 1 // io.netty.util.ResourceLeakTracker leak
         5: .line 70
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.AbstractByteBuf.leakDetector:Lio/netty/util/ResourceLeakDetector;
            aload 0 /* buf */
            invokevirtual io.netty.util.ResourceLeakDetector.track:(Ljava/lang/Object;)Lio/netty/util/ResourceLeakTracker;
            astore 1 /* leak */
        start local 1 // io.netty.util.ResourceLeakTracker leak
         6: .line 71
            aload 1 /* leak */
            ifnull 9
         7: .line 72
            new io.netty.buffer.AdvancedLeakAwareCompositeByteBuf
            dup
            aload 0 /* buf */
            aload 1 /* leak */
            invokespecial io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.<init>:(Lio/netty/buffer/CompositeByteBuf;Lio/netty/util/ResourceLeakTracker;)V
            astore 0 /* buf */
         8: .line 74
            goto 9
        end local 1 // io.netty.util.ResourceLeakTracker leak
         9: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            areturn
        end local 0 // io.netty.buffer.CompositeByteBuf buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   buf  Lio/netty/buffer/CompositeByteBuf;
            2    5     1  leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
            6    9     1  leak  Lio/netty/util/ResourceLeakTracker<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
      Name  Flags
      buf   

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 88
            aload 0 /* this */
            iconst_0
            invokespecial io.netty.buffer.AbstractByteBufAllocator.<init>:(Z)V
         1: .line 89
            return
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  protected void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // boolean preferDirect
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            iload 1 /* preferDirect */
            ifeq 2
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: io.netty.buffer.AbstractByteBufAllocator int
      StackMap stack: io.netty.buffer.AbstractByteBufAllocator
         2: iconst_0
      StackMap locals: io.netty.buffer.AbstractByteBufAllocator int
      StackMap stack: io.netty.buffer.AbstractByteBufAllocator int
         3: putfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
         4: .line 99
            aload 0 /* this */
            new io.netty.buffer.EmptyByteBuf
            dup
            aload 0 /* this */
            invokespecial io.netty.buffer.EmptyByteBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;)V
            putfield io.netty.buffer.AbstractByteBufAllocator.emptyBuf:Lio/netty/buffer/ByteBuf;
         5: .line 100
            return
        end local 1 // boolean preferDirect
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    6     1  preferDirect  Z
    MethodParameters:
              Name  Flags
      preferDirect  

  public io.netty.buffer.ByteBuf buffer();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 104
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            ifeq 2
         1: .line 105
            aload 0 /* this */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:()Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:()Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.ByteBuf buffer(int);
    descriptor: (I)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
         0: .line 112
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            ifeq 2
         1: .line 113
            aload 0 /* this */
            iload 1 /* initialCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    3     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public io.netty.buffer.ByteBuf buffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 120
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            ifeq 2
         1: .line 121
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    3     1  initialCapacity  I
            0    3     2      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.netty.buffer.ByteBuf ioBuffer();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 128
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 2
         1: .line 129
            aload 0 /* this */
            sipush 256
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 256
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.ByteBuf ioBuffer(int);
    descriptor: (I)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
         0: .line 136
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 2
         1: .line 137
            aload 0 /* this */
            iload 1 /* initialCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    3     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public io.netty.buffer.ByteBuf ioBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 144
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 2
         1: .line 145
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    3     1  initialCapacity  I
            0    3     2      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.netty.buffer.ByteBuf heapBuffer();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 152
            aload 0 /* this */
            sipush 256
            ldc 2147483647
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.ByteBuf heapBuffer(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.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
         0: .line 157
            aload 0 /* this */
            iload 1 /* initialCapacity */
            ldc 2147483647
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.heapBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    1     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public io.netty.buffer.ByteBuf heapBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 162
            iload 1 /* initialCapacity */
            ifne 2
            iload 2 /* maxCapacity */
            ifne 2
         1: .line 163
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.emptyBuf:Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 165
      StackMap locals:
      StackMap stack:
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokestatic io.netty.buffer.AbstractByteBufAllocator.validate:(II)V
         3: .line 166
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.newHeapBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    4     1  initialCapacity  I
            0    4     2      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.netty.buffer.ByteBuf directBuffer();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 171
            aload 0 /* this */
            sipush 256
            ldc 2147483647
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.ByteBuf directBuffer(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.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
         0: .line 176
            aload 0 /* this */
            iload 1 /* initialCapacity */
            ldc 2147483647
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.directBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    1     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public io.netty.buffer.ByteBuf directBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 181
            iload 1 /* initialCapacity */
            ifne 2
            iload 2 /* maxCapacity */
            ifne 2
         1: .line 182
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.emptyBuf:Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokestatic io.netty.buffer.AbstractByteBufAllocator.validate:(II)V
         3: .line 185
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.newDirectBuffer:(II)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    4     1  initialCapacity  I
            0    4     2      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.netty.buffer.CompositeByteBuf compositeBuffer();
    descriptor: ()Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 190
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            ifeq 2
         1: .line 191
            aload 0 /* this */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeDirectBuffer:()Lio/netty/buffer/CompositeByteBuf;
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeHeapBuffer:()Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.CompositeByteBuf compositeBuffer(int);
    descriptor: (I)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int maxNumComponents
         0: .line 198
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            ifeq 2
         1: .line 199
            aload 0 /* this */
            iload 1 /* maxNumComponents */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeDirectBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
            areturn
         2: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* maxNumComponents */
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeHeapBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 1 // int maxNumComponents
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    3     1  maxNumComponents  I
    MethodParameters:
                  Name  Flags
      maxNumComponents  

  public io.netty.buffer.CompositeByteBuf compositeHeapBuffer();
    descriptor: ()Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 206
            aload 0 /* this */
            bipush 16
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeHeapBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.CompositeByteBuf compositeHeapBuffer(int);
    descriptor: (I)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int maxNumComponents
         0: .line 211
            new io.netty.buffer.CompositeByteBuf
            dup
            aload 0 /* this */
            iconst_0
            iload 1 /* maxNumComponents */
            invokespecial io.netty.buffer.CompositeByteBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;ZI)V
            invokestatic io.netty.buffer.AbstractByteBufAllocator.toLeakAwareBuffer:(Lio/netty/buffer/CompositeByteBuf;)Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 1 // int maxNumComponents
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    1     1  maxNumComponents  I
    MethodParameters:
                  Name  Flags
      maxNumComponents  

  public io.netty.buffer.CompositeByteBuf compositeDirectBuffer();
    descriptor: ()Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 216
            aload 0 /* this */
            bipush 16
            invokevirtual io.netty.buffer.AbstractByteBufAllocator.compositeDirectBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public io.netty.buffer.CompositeByteBuf compositeDirectBuffer(int);
    descriptor: (I)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int maxNumComponents
         0: .line 221
            new io.netty.buffer.CompositeByteBuf
            dup
            aload 0 /* this */
            iconst_1
            iload 1 /* maxNumComponents */
            invokespecial io.netty.buffer.CompositeByteBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;ZI)V
            invokestatic io.netty.buffer.AbstractByteBufAllocator.toLeakAwareBuffer:(Lio/netty/buffer/CompositeByteBuf;)Lio/netty/buffer/CompositeByteBuf;
            areturn
        end local 1 // int maxNumComponents
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/netty/buffer/AbstractByteBufAllocator;
            0    1     1  maxNumComponents  I
    MethodParameters:
                  Name  Flags
      maxNumComponents  

  private static void validate(int, int);
    descriptor: (II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // int initialCapacity
        start local 1 // int maxCapacity
         0: .line 225
            iload 0 /* initialCapacity */
            ifge 2
         1: .line 226
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "initialCapacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* initialCapacity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: 0+)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 228
      StackMap locals:
      StackMap stack:
            iload 0 /* initialCapacity */
            iload 1 /* maxCapacity */
            if_icmple 7
         3: .line 229
            new java.lang.IllegalArgumentException
            dup
         4: .line 230
            ldc "initialCapacity: %d (expected: not greater than maxCapacity(%d)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 231
            iload 0 /* initialCapacity */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 1 /* maxCapacity */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         6: .line 229
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 233
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int maxCapacity
        end local 0 // int initialCapacity
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  initialCapacity  I
            0    8     1      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  protected abstract io.netty.buffer.ByteBuf newHeapBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  protected abstract io.netty.buffer.ByteBuf newDirectBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
         0: .line 247
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(directByDefault: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.netty.buffer.AbstractByteBufAllocator.directByDefault:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/AbstractByteBufAllocator;

  public int calculateNewCapacity(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // io.netty.buffer.AbstractByteBufAllocator this
        start local 1 // int minNewCapacity
        start local 2 // int maxCapacity
         0: .line 252
            iload 1 /* minNewCapacity */
            ifge 2
         1: .line 253
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "minNewCapacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minNewCapacity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: 0+)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 255
      StackMap locals:
      StackMap stack:
            iload 1 /* minNewCapacity */
            iload 2 /* maxCapacity */
            if_icmple 7
         3: .line 256
            new java.lang.IllegalArgumentException
            dup
         4: .line 257
            ldc "minNewCapacity: %d (expected: not greater than maxCapacity(%d)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 258
            iload 1 /* minNewCapacity */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* maxCapacity */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         6: .line 256
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 262
      StackMap locals:
      StackMap stack:
            iload 1 /* minNewCapacity */
            ldc 4194304
            if_icmpne 9
         8: .line 263
            ldc 4194304
            ireturn
         9: .line 267
      StackMap locals:
      StackMap stack:
            iload 1 /* minNewCapacity */
            ldc 4194304
            if_icmple 16
        10: .line 268
            iload 1 /* minNewCapacity */
            ldc 4194304
            idiv
            ldc 4194304
            imul
            istore 3 /* newCapacity */
        start local 3 // int newCapacity
        11: .line 269
            iload 3 /* newCapacity */
            iload 2 /* maxCapacity */
            ldc 4194304
            isub
            if_icmple 14
        12: .line 270
            iload 2 /* maxCapacity */
            istore 3 /* newCapacity */
        13: .line 271
            goto 15
        14: .line 272
      StackMap locals: int
      StackMap stack:
            iload 3 /* newCapacity */
            ldc 4194304
            iadd
            istore 3 /* newCapacity */
        15: .line 274
      StackMap locals:
      StackMap stack:
            iload 3 /* newCapacity */
            ireturn
        end local 3 // int newCapacity
        16: .line 278
      StackMap locals:
      StackMap stack:
            bipush 64
            istore 3 /* newCapacity */
        start local 3 // int newCapacity
        17: .line 279
            goto 19
        18: .line 280
      StackMap locals: int
      StackMap stack:
            iload 3 /* newCapacity */
            iconst_1
            ishl
            istore 3 /* newCapacity */
        19: .line 279
      StackMap locals:
      StackMap stack:
            iload 3 /* newCapacity */
            iload 1 /* minNewCapacity */
            if_icmplt 18
        20: .line 283
            iload 3 /* newCapacity */
            iload 2 /* maxCapacity */
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 3 // int newCapacity
        end local 2 // int maxCapacity
        end local 1 // int minNewCapacity
        end local 0 // io.netty.buffer.AbstractByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lio/netty/buffer/AbstractByteBufAllocator;
            0   21     1  minNewCapacity  I
            0   21     2     maxCapacity  I
           11   16     3     newCapacity  I
           17   21     3     newCapacity  I
    MethodParameters:
                Name  Flags
      minNewCapacity  
      maxCapacity     

  static int[] $SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 27
            getstatic io.netty.buffer.AbstractByteBufAllocator.$SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.util.ResourceLeakDetector$Level.values:()[Lio/netty/util/ResourceLeakDetector$Level;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.util.ResourceLeakDetector$Level.ADVANCED:Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.util.ResourceLeakDetector$Level.DISABLED:Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.netty.util.ResourceLeakDetector$Level.PARANOID:Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.netty.util.ResourceLeakDetector$Level.SIMPLE:Lio/netty/util/ResourceLeakDetector$Level;
            invokevirtual io.netty.util.ResourceLeakDetector$Level.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic io.netty.buffer.AbstractByteBufAllocator.$SWITCH_TABLE$io$netty$util$ResourceLeakDetector$Level:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractByteBufAllocator.java"
InnerClasses:
  public final Level = io.netty.util.ResourceLeakDetector$Level of io.netty.util.ResourceLeakDetector