public class org.glassfish.grizzly.memory.ByteBufferManager extends org.glassfish.grizzly.memory.AbstractMemoryManager<org.glassfish.grizzly.memory.ByteBufferWrapper> implements org.glassfish.grizzly.memory.WrapperAware, org.glassfish.grizzly.memory.ByteBufferAware
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.memory.ByteBufferManager
  super_class: org.glassfish.grizzly.memory.AbstractMemoryManager
{
  public static final int DEFAULT_SMALL_BUFFER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final org.glassfish.grizzly.ThreadCache$CachedTypeIndex<org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper> CACHE_IDX;
    descriptor: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex<Lorg/glassfish/grizzly/memory/ByteBufferManager$TrimAwareWrapper;>;

  private final org.glassfish.grizzly.ThreadCache$CachedTypeIndex<org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper> SMALL_BUFFER_CACHE_IDX;
    descriptor: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex<Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;>;

  protected boolean isDirect;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected final int maxSmallBufferSize;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 46
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager$TrimAwareWrapper;
         1: .line 47
            new java.lang.StringBuilder
            dup
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".taw-cache-size"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
         2: .line 46
            invokestatic org.glassfish.grizzly.ThreadCache.obtainIndex:(Ljava/lang/Class;I)Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
            putstatic org.glassfish.grizzly.memory.ByteBufferManager.CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
         3: .line 47
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 61
            aload 0 /* this */
            iconst_0
            ldc 65536
            bipush 32
            invokespecial org.glassfish.grizzly.memory.ByteBufferManager.<init>:(ZII)V
         1: .line 62
            return
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // boolean isDirect
         0: .line 65
            aload 0 /* this */
            iload 1 /* isDirect */
            ldc 65536
            bipush 32
            invokespecial org.glassfish.grizzly.memory.ByteBufferManager.<init>:(ZII)V
         1: .line 66
            return
        end local 1 // boolean isDirect
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    2     1  isDirect  Z
    MethodParameters:
          Name  Flags
      isDirect  final

  public void <init>(boolean, int, int);
    descriptor: (ZII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // boolean isDirect
        start local 2 // int maxBufferSize
        start local 3 // int maxSmallBufferSize
         0: .line 69
            aload 0 /* this */
            iload 2 /* maxBufferSize */
            invokespecial org.glassfish.grizzly.memory.AbstractMemoryManager.<init>:(I)V
         1: .line 49
            aload 0 /* this */
         2: .line 50
            new java.lang.StringBuilder
            dup
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
         3: .line 51
            new java.lang.StringBuilder
            dup
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".sbbw-cache-size"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 49
            invokestatic org.glassfish.grizzly.ThreadCache.obtainIndex:(Ljava/lang/String;Ljava/lang/Class;I)Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
            putfield org.glassfish.grizzly.memory.ByteBufferManager.SMALL_BUFFER_CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
         5: .line 70
            aload 0 /* this */
            iload 3 /* maxSmallBufferSize */
            putfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
         6: .line 71
            aload 0 /* this */
            iload 1 /* isDirect */
            putfield org.glassfish.grizzly.memory.ByteBufferManager.isDirect:Z
         7: .line 72
            return
        end local 3 // int maxSmallBufferSize
        end local 2 // int maxBufferSize
        end local 1 // boolean isDirect
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    8     1            isDirect  Z
            0    8     2       maxBufferSize  I
            0    8     3  maxSmallBufferSize  I
    MethodParameters:
                    Name  Flags
      isDirect            final
      maxBufferSize       final
      maxSmallBufferSize  final

  public int getMaxSmallBufferSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 75
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;

  public org.glassfish.grizzly.memory.ByteBufferWrapper allocate(int);
    descriptor: (I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 83
            iload 1 /* size */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
            if_icmpgt 4
         1: .line 84
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.createSmallBuffer:()Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
            astore 2 /* buffer */
        start local 2 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
         2: .line 85
            aload 2 /* buffer */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper.limit:(I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            pop
         3: .line 86
            aload 2 /* buffer */
            areturn
        end local 2 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
         4: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer:(I)Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    5     1    size  I
            2    4     2  buffer  Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
    MethodParameters:
      Name  Flags
      size  final

  public org.glassfish.grizzly.memory.ByteBufferWrapper allocateAtLeast(int);
    descriptor: (I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 96
            iload 1 /* size */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
            if_icmpgt 4
         1: .line 97
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.createSmallBuffer:()Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
            astore 2 /* buffer */
        start local 2 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
         2: .line 98
            aload 2 /* buffer */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper.limit:(I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            pop
         3: .line 99
            aload 2 /* buffer */
            areturn
        end local 2 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
         4: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBufferAtLeast:(I)Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    5     1    size  I
            2    4     2  buffer  Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
    MethodParameters:
      Name  Flags
      size  

  public org.glassfish.grizzly.memory.ByteBufferWrapper reallocate(org.glassfish.grizzly.memory.ByteBufferWrapper, int);
    descriptor: (Lorg/glassfish/grizzly/memory/ByteBufferWrapper;I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // org.glassfish.grizzly.memory.ByteBufferWrapper oldBuffer
        start local 2 // int newSize
         0: .line 109
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* oldBuffer */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferWrapper.underlying:()Ljava/nio/ByteBuffer;
            iload 2 /* newSize */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.reallocateByteBuffer:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 2 // int newSize
        end local 1 // org.glassfish.grizzly.memory.ByteBufferWrapper oldBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1  oldBuffer  Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            0    1     2    newSize  I
    MethodParameters:
           Name  Flags
      oldBuffer  
      newSize    

  public void release(org.glassfish.grizzly.memory.ByteBufferWrapper);
    descriptor: (Lorg/glassfish/grizzly/memory/ByteBufferWrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // org.glassfish.grizzly.memory.ByteBufferWrapper buffer
         0: .line 117
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferWrapper.underlying:()Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.releaseByteBuffer:(Ljava/nio/ByteBuffer;)V
         1: .line 118
            return
        end local 1 // org.glassfish.grizzly.memory.ByteBufferWrapper buffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    2     1  buffer  Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    MethodParameters:
        Name  Flags
      buffer  

  public boolean isDirect();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 128
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.isDirect:Z
            ireturn
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;

  public void setDirect(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // boolean isDirect
         0: .line 138
            aload 0 /* this */
            iload 1 /* isDirect */
            putfield org.glassfish.grizzly.memory.ByteBufferManager.isDirect:Z
         1: .line 139
            return
        end local 1 // boolean isDirect
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    2     1  isDirect  Z
    MethodParameters:
          Name  Flags
      isDirect  

  public boolean willAllocateDirect(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 146
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.isDirect:Z
            ireturn
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public org.glassfish.grizzly.memory.ByteBufferWrapper wrap(byte[]);
    descriptor: ([B)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // byte[] data
         0: .line 154
            aload 0 /* this */
            aload 1 /* data */
            iconst_0
            aload 1 /* data */
            arraylength
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:([BII)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 1 // byte[] data
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1  data  [B
    MethodParameters:
      Name  Flags
      data  

  public org.glassfish.grizzly.memory.ByteBufferWrapper wrap(byte[], int, int);
    descriptor: ([BII)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // byte[] data
        start local 2 // int offset
        start local 3 // int length
         0: .line 162
            aload 0 /* this */
            aload 1 /* data */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] data
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1    data  [B
            0    1     2  offset  I
            0    1     3  length  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public org.glassfish.grizzly.memory.ByteBufferWrapper wrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.lang.String s
         0: .line 170
            aload 0 /* this */
            aload 1 /* s */
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/lang/String;Ljava/nio/charset/Charset;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public org.glassfish.grizzly.memory.ByteBufferWrapper wrap(java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.lang.String s
        start local 2 // java.nio.charset.Charset charset
         0: .line 179
            aload 1 /* s */
            aload 2 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* byteRepresentation */
        start local 3 // byte[] byteRepresentation
         1: .line 180
            aload 0 /* this */
            aload 3 /* byteRepresentation */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
         2: areturn
        end local 3 // byte[] byteRepresentation
         3: .line 181
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 3 /* e */
        start local 3 // java.io.UnsupportedEncodingException e
         4: .line 182
            new java.lang.IllegalStateException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.UnsupportedEncodingException e
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.lang.String s
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    5     1                   s  Ljava/lang/String;
            0    5     2             charset  Ljava/nio/charset/Charset;
            1    3     3  byteRepresentation  [B
            4    5     3                   e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.UnsupportedEncodingException
    MethodParameters:
         Name  Flags
      s        
      charset  

  public org.glassfish.grizzly.memory.ThreadLocalPool createThreadLocalPool();
    descriptor: ()Lorg/glassfish/grizzly/memory/ThreadLocalPool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 188
            new org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool
            dup
            invokespecial org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool.<init>:()V
            areturn
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;

  public org.glassfish.grizzly.memory.ByteBufferWrapper wrap(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 196
            aload 0 /* this */
            aload 1 /* byteBuffer */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.createTrimAwareBuffer:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferManager$TrimAwareWrapper;
            areturn
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    1     1  byteBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
            Name  Flags
      byteBuffer  final

  public java.nio.ByteBuffer allocateByteBuffer(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 208
            iload 1 /* size */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxBufferSize:I
            if_icmple 2
         1: .line 210
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            areturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getByteBufferThreadLocalPool:()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
            astore 2 /* threadLocalCache */
        start local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
         3: .line 214
            aload 2 /* threadLocalCache */
            ifnull 8
         4: .line 215
            aload 2 /* threadLocalCache */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.remaining:()I
            istore 3 /* remaining */
        start local 3 // int remaining
         5: .line 217
            iload 3 /* remaining */
            ifeq 6
            iload 3 /* remaining */
            iload 1 /* size */
            if_icmpge 7
         6: .line 218
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.reallocatePoolBuffer:()V
         7: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* threadLocalCache */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateFromPool:(Lorg/glassfish/grizzly/memory/ThreadLocalPool;I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            areturn
        end local 3 // int remaining
         8: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    9     1              size  I
            3    9     2  threadLocalCache  Lorg/glassfish/grizzly/memory/ThreadLocalPool<Ljava/nio/ByteBuffer;>;
            5    8     3         remaining  I
    MethodParameters:
      Name  Flags
      size  final

  public java.nio.ByteBuffer allocateByteBufferAtLeast(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 237
            iload 1 /* size */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxBufferSize:I
            if_icmple 2
         1: .line 239
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            areturn
         2: .line 242
      StackMap locals:
      StackMap stack:
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getByteBufferThreadLocalPool:()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
            astore 2 /* threadLocalCache */
        start local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
         3: .line 243
            aload 2 /* threadLocalCache */
            ifnull 9
         4: .line 244
            aload 2 /* threadLocalCache */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.remaining:()I
            istore 3 /* remaining */
        start local 3 // int remaining
         5: .line 246
            iload 3 /* remaining */
            ifeq 6
            iload 3 /* remaining */
            iload 1 /* size */
            if_icmpge 8
         6: .line 247
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.reallocatePoolBuffer:()V
         7: .line 248
            aload 2 /* threadLocalCache */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.remaining:()I
            istore 3 /* remaining */
         8: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* threadLocalCache */
            iload 3 /* remaining */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateFromPool:(Lorg/glassfish/grizzly/memory/ThreadLocalPool;I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            areturn
        end local 3 // int remaining
         9: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0   10     1              size  I
            3   10     2  threadLocalCache  Lorg/glassfish/grizzly/memory/ThreadLocalPool<Ljava/nio/ByteBuffer;>;
            5    9     3         remaining  I
    MethodParameters:
      Name  Flags
      size  final

  public java.nio.ByteBuffer reallocateByteBuffer(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.nio.ByteBuffer oldByteBuffer
        start local 2 // int newSize
         0: .line 260
            aload 1 /* oldByteBuffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            iload 2 /* newSize */
            if_icmplt 2
         1: .line 261
            aload 1 /* oldByteBuffer */
            areturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getByteBufferThreadLocalPool:()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
            astore 3 /* memoryPool */
        start local 3 // org.glassfish.grizzly.memory.ThreadLocalPool memoryPool
         3: .line 265
            aload 3 /* memoryPool */
            ifnull 8
         4: .line 266
            aload 3 /* memoryPool */
            aload 1 /* oldByteBuffer */
            iload 2 /* newSize */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.reallocate:(Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 4 /* newBuffer */
        start local 4 // java.nio.ByteBuffer newBuffer
         5: .line 268
            aload 4 /* newBuffer */
            ifnull 8
         6: .line 269
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            iload 2 /* newSize */
            aload 1 /* oldByteBuffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            isub
            invokestatic org.glassfish.grizzly.memory.ProbeNotifier.notifyBufferAllocatedFromPool:(Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;I)V
         7: .line 271
            aload 4 /* newBuffer */
            areturn
        end local 4 // java.nio.ByteBuffer newBuffer
         8: .line 274
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool
      StackMap stack:
            aload 0 /* this */
            iload 2 /* newSize */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer:(I)Ljava/nio/ByteBuffer;
            astore 4 /* newByteBuffer */
        start local 4 // java.nio.ByteBuffer newByteBuffer
         9: .line 275
            aload 1 /* oldByteBuffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        10: .line 276
            aload 4 /* newByteBuffer */
            aload 1 /* oldByteBuffer */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            areturn
        end local 4 // java.nio.ByteBuffer newByteBuffer
        end local 3 // org.glassfish.grizzly.memory.ThreadLocalPool memoryPool
        end local 2 // int newSize
        end local 1 // java.nio.ByteBuffer oldByteBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0   11     1  oldByteBuffer  Ljava/nio/ByteBuffer;
            0   11     2        newSize  I
            3   11     3     memoryPool  Lorg/glassfish/grizzly/memory/ThreadLocalPool<Ljava/nio/ByteBuffer;>;
            5    8     4      newBuffer  Ljava/nio/ByteBuffer;
            9   11     4  newByteBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
               Name  Flags
      oldByteBuffer  
      newSize        

  public void releaseByteBuffer(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 282
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getByteBufferThreadLocalPool:()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
            astore 2 /* memoryPool */
        start local 2 // org.glassfish.grizzly.memory.ThreadLocalPool memoryPool
         1: .line 283
            aload 2 /* memoryPool */
            ifnull 4
         2: .line 285
            aload 2 /* memoryPool */
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            checkcast java.nio.ByteBuffer
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.release:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 286
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            invokestatic org.glassfish.grizzly.memory.ProbeNotifier.notifyBufferReleasedToPool:(Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;I)V
         4: .line 290
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool
      StackMap stack:
            return
        end local 2 // org.glassfish.grizzly.memory.ThreadLocalPool memoryPool
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    5     1  byteBuffer  Ljava/nio/ByteBuffer;
            1    5     2  memoryPool  Lorg/glassfish/grizzly/memory/ThreadLocalPool<Ljava/nio/ByteBuffer;>;
    MethodParameters:
            Name  Flags
      byteBuffer  

  protected org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper createSmallBuffer();
    descriptor: ()Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 293
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.SMALL_BUFFER_CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
            invokestatic org.glassfish.grizzly.ThreadCache.takeFromCache:(Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper
            astore 1 /* buffer */
        start local 1 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
         1: .line 294
            aload 1 /* buffer */
            ifnull 4
         2: .line 295
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
            invokestatic org.glassfish.grizzly.memory.ProbeNotifier.notifyBufferAllocatedFromPool:(Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;I)V
         3: .line 296
            aload 1 /* buffer */
            areturn
         4: .line 299
      StackMap locals: org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper
      StackMap stack:
            new org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxSmallBufferSize:I
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            invokespecial org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper.<init>:(Lorg/glassfish/grizzly/memory/ByteBufferManager;Ljava/nio/ByteBuffer;)V
            areturn
        end local 1 // org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper buffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            1    5     1  buffer  Lorg/glassfish/grizzly/memory/ByteBufferManager$SmallByteBufferWrapper;

  public org.glassfish.grizzly.monitoring.MonitoringConfig<org.glassfish.grizzly.memory.MemoryProbe> getMonitoringConfig();
    descriptor: ()Lorg/glassfish/grizzly/monitoring/MonitoringConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 306
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            areturn
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
    Signature: ()Lorg/glassfish/grizzly/monitoring/MonitoringConfig<Lorg/glassfish/grizzly/memory/MemoryProbe;>;

  protected java.lang.Object createJmxManagementObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 316
            ldc "org.glassfish.grizzly.memory.jmx.ByteBufferManager"
            aload 0 /* this */
            ldc Lorg/glassfish/grizzly/memory/ByteBufferManager;
            invokestatic org.glassfish.grizzly.monitoring.MonitoringUtils.loadJmxObject:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;

  protected final java.nio.ByteBuffer allocateByteBuffer0(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // int size
         0: .line 321
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            iload 1 /* size */
            invokestatic org.glassfish.grizzly.memory.ProbeNotifier.notifyBufferAllocated:(Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;I)V
         1: .line 322
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.isDirect:Z
            ifeq 3
         2: .line 323
            iload 1 /* size */
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            areturn
         3: .line 325
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    4     1  size  I
    MethodParameters:
      Name  Flags
      size  final

  private org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper createTrimAwareBuffer(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferManager$TrimAwareWrapper;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
        start local 1 // java.nio.ByteBuffer underlyingByteBuffer
         0: .line 331
            getstatic org.glassfish.grizzly.memory.ByteBufferManager.CACHE_IDX:Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;
            invokestatic org.glassfish.grizzly.ThreadCache.takeFromCache:(Lorg/glassfish/grizzly/ThreadCache$CachedTypeIndex;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper
            astore 2 /* buffer */
        start local 2 // org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper buffer
         1: .line 332
            aload 2 /* buffer */
            ifnull 4
         2: .line 333
            aload 2 /* buffer */
            aload 1 /* underlyingByteBuffer */
            putfield org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper.visible:Ljava/nio/ByteBuffer;
         3: .line 334
            aload 2 /* buffer */
            areturn
         4: .line 337
      StackMap locals: org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper
      StackMap stack:
            new org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper
            dup
            aload 0 /* this */
            aload 1 /* underlyingByteBuffer */
            invokespecial org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper.<init>:(Lorg/glassfish/grizzly/memory/ByteBufferManager;Ljava/nio/ByteBuffer;)V
            areturn
        end local 2 // org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper buffer
        end local 1 // java.nio.ByteBuffer underlyingByteBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            0    5     1  underlyingByteBuffer  Ljava/nio/ByteBuffer;
            1    5     2                buffer  Lorg/glassfish/grizzly/memory/ByteBufferManager$TrimAwareWrapper;
    MethodParameters:
                      Name  Flags
      underlyingByteBuffer  final

  private void reallocatePoolBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
         0: .line 342
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.ByteBufferManager.maxBufferSize:I
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer0:(I)Ljava/nio/ByteBuffer;
            astore 1 /* byteBuffer */
        start local 1 // java.nio.ByteBuffer byteBuffer
         1: .line 344
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getByteBufferThreadLocalPool:()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
            astore 2 /* threadLocalCache */
        start local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
         2: .line 345
            aload 2 /* threadLocalCache */
            ifnull 4
         3: .line 346
            aload 2 /* threadLocalCache */
            aload 1 /* byteBuffer */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.reset:(Ljava/lang/Object;)V
         4: .line 348
      StackMap locals: java.nio.ByteBuffer org.glassfish.grizzly.memory.ThreadLocalPool
      StackMap stack:
            return
        end local 2 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // org.glassfish.grizzly.memory.ByteBufferManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/glassfish/grizzly/memory/ByteBufferManager;
            1    5     1        byteBuffer  Ljava/nio/ByteBuffer;
            2    5     2  threadLocalCache  Lorg/glassfish/grizzly/memory/ThreadLocalPool<Ljava/nio/ByteBuffer;>;

  private static org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool getByteBufferThreadLocalPool();
    descriptor: ()Lorg/glassfish/grizzly/memory/ByteBufferManager$ByteBufferThreadLocalPool;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 352
            invokestatic org.glassfish.grizzly.memory.ByteBufferManager.getThreadLocalPool:()Lorg/glassfish/grizzly/memory/ThreadLocalPool;
            astore 0 /* pool */
        start local 0 // org.glassfish.grizzly.memory.ThreadLocalPool pool
         1: .line 353
            aload 0 /* pool */
            instanceof org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool
            ifeq 2
            aload 0 /* pool */
            checkcast org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool
            goto 3
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool
         3: areturn
        end local 0 // org.glassfish.grizzly.memory.ThreadLocalPool pool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0  pool  Lorg/glassfish/grizzly/memory/ThreadLocalPool;

  public org.glassfish.grizzly.Buffer allocate(int);
    descriptor: (I)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocate:(I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer wrap(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer wrap(java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/lang/String;Ljava/nio/charset/Charset;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer wrap(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:(Ljava/lang/String;)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer wrap(byte[], int, int);
    descriptor: ([BII)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            iload 3
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:([BII)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer wrap(byte[]);
    descriptor: ([B)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.wrap:([B)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer allocateAtLeast(int);
    descriptor: (I)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.allocateAtLeast:(I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.glassfish.grizzly.Buffer reallocate(org.glassfish.grizzly.Buffer, int);
    descriptor: (Lorg/glassfish/grizzly/Buffer;I)Lorg/glassfish/grizzly/Buffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.glassfish.grizzly.memory.ByteBufferWrapper
            iload 2
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.reallocate:(Lorg/glassfish/grizzly/memory/ByteBufferWrapper;I)Lorg/glassfish/grizzly/memory/ByteBufferWrapper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void release(org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/Buffer;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.glassfish.grizzly.memory.ByteBufferWrapper
            invokevirtual org.glassfish.grizzly.memory.ByteBufferManager.release:(Lorg/glassfish/grizzly/memory/ByteBufferWrapper;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/glassfish/grizzly/memory/AbstractMemoryManager<Lorg/glassfish/grizzly/memory/ByteBufferWrapper;>;Lorg/glassfish/grizzly/memory/WrapperAware;Lorg/glassfish/grizzly/memory/ByteBufferAware;
SourceFile: "ByteBufferManager.java"
NestMembers:
  org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool  org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper  org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper
InnerClasses:
  public final CachedTypeIndex = org.glassfish.grizzly.ThreadCache$CachedTypeIndex of org.glassfish.grizzly.ThreadCache
  private final ByteBufferThreadLocalPool = org.glassfish.grizzly.memory.ByteBufferManager$ByteBufferThreadLocalPool of org.glassfish.grizzly.memory.ByteBufferManager
  protected final SmallByteBufferWrapper = org.glassfish.grizzly.memory.ByteBufferManager$SmallByteBufferWrapper of org.glassfish.grizzly.memory.ByteBufferManager
  private final TrimAwareWrapper = org.glassfish.grizzly.memory.ByteBufferManager$TrimAwareWrapper of org.glassfish.grizzly.memory.ByteBufferManager