public class io.micronaut.buffer.netty.NettyByteBufferFactory implements io.micronaut.core.io.buffer.ByteBufferFactory<io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.micronaut.buffer.netty.NettyByteBufferFactory
  super_class: java.lang.Object
{
  public static final io.micronaut.buffer.netty.NettyByteBufferFactory DEFAULT;
    descriptor: Lio/micronaut/buffer/netty/NettyByteBufferFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 43
            new io.micronaut.buffer.netty.NettyByteBufferFactory
            dup
            invokespecial io.micronaut.buffer.netty.NettyByteBufferFactory.<init>:()V
            putstatic io.micronaut.buffer.netty.NettyByteBufferFactory.DEFAULT:Lio/micronaut/buffer/netty/NettyByteBufferFactory;
         1: .line 48
            getstatic io.micronaut.core.convert.ConversionService.SHARED:Lio/micronaut/core/convert/ConversionService;
            ldc Lio/netty/buffer/ByteBuf;
            ldc Lio/micronaut/core/io/buffer/ByteBuffer;
            getstatic io.micronaut.buffer.netty.NettyByteBufferFactory.DEFAULT:Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/micronaut/buffer/netty/NettyByteBufferFactory;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/buffer/netty/NettyByteBufferFactory.wrap(Lio/netty/buffer/ByteBuf;)Lio/micronaut/core/io/buffer/ByteBuffer; (5)
                  (Lio/netty/buffer/ByteBuf;)Lio/micronaut/core/io/buffer/ByteBuffer;
            invokeinterface io.micronaut.core.convert.ConversionService.addConverter:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Function;)Lio/micronaut/core/convert/ConversionService;
            pop
         2: .line 49
            getstatic io.micronaut.core.convert.ConversionService.SHARED:Lio/micronaut/core/convert/ConversionService;
            ldc Lio/micronaut/core/io/buffer/ByteBuffer;
            ldc Lio/netty/buffer/ByteBuf;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/micronaut/buffer/netty/NettyByteBufferFactory.lambda$1(Lio/micronaut/core/io/buffer/ByteBuffer;)Lio/netty/buffer/ByteBuf; (6)
                  (Lio/micronaut/core/io/buffer/ByteBuffer;)Lio/netty/buffer/ByteBuf;
            invokeinterface io.micronaut.core.convert.ConversionService.addConverter:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Function;)Lio/micronaut/core/convert/ConversionService;
            pop
         3: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            getstatic io.netty.buffer.ByteBufAllocator.DEFAULT:Lio/netty/buffer/ByteBufAllocator;
            putfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
         2: .line 62
            return
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;

  public void <init>(io.netty.buffer.ByteBufAllocator);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // io.netty.buffer.ByteBufAllocator allocator
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aload 1 /* allocator */
            putfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
         2: .line 69
            return
        end local 1 // io.netty.buffer.ByteBufAllocator allocator
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    3     1  allocator  Lio/netty/buffer/ByteBufAllocator;
    MethodParameters:
           Name  Flags
      allocator  

  public io.netty.buffer.ByteBufAllocator getNativeAllocator();
    descriptor: ()Lio/netty/buffer/ByteBufAllocator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
         0: .line 73
            aload 0 /* this */
            getfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
            areturn
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> buffer();
    descriptor: ()Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
         0: .line 78
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 0 /* this */
            getfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:()Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
    Signature: ()Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> buffer(int);
    descriptor: (I)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // int initialCapacity
         0: .line 83
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 0 /* this */
            getfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
            iload 1 /* initialCapacity */
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 1 // int initialCapacity
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  initialCapacity  I
    Signature: (I)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> buffer(int, int);
    descriptor: (II)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 88
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 0 /* this */
            getfield io.micronaut.buffer.netty.NettyByteBufferFactory.allocator:Lio/netty/buffer/ByteBufAllocator;
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(II)Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  initialCapacity  I
            0    1     2      maxCapacity  I
    Signature: (II)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> copiedBuffer(byte[]);
    descriptor: ([B)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // byte[] bytes
         0: .line 93
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 1 /* bytes */
            invokestatic io.netty.buffer.Unpooled.copiedBuffer:([B)Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 1 // byte[] bytes
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  bytes  [B
    Signature: ([B)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
       Name  Flags
      bytes  

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> copiedBuffer(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // java.nio.ByteBuffer nioBuffer
         0: .line 98
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 1 /* nioBuffer */
            invokestatic io.netty.buffer.Unpooled.copiedBuffer:(Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 1 // java.nio.ByteBuffer nioBuffer
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  nioBuffer  Ljava/nio/ByteBuffer;
    Signature: (Ljava/nio/ByteBuffer;)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
           Name  Flags
      nioBuffer  

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> wrap(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // io.netty.buffer.ByteBuf existing
         0: .line 103
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 1 /* existing */
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 1 // io.netty.buffer.ByteBuf existing
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  existing  Lio/netty/buffer/ByteBuf;
    Signature: (Lio/netty/buffer/ByteBuf;)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
          Name  Flags
      existing  

  public io.micronaut.core.io.buffer.ByteBuffer<io.netty.buffer.ByteBuf> wrap(byte[]);
    descriptor: ([B)Lio/micronaut/core/io/buffer/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
        start local 1 // byte[] existing
         0: .line 108
            new io.micronaut.buffer.netty.NettyByteBuffer
            dup
            aload 1 /* existing */
            invokestatic io.netty.buffer.Unpooled.wrappedBuffer:([B)Lio/netty/buffer/ByteBuf;
            invokespecial io.micronaut.buffer.netty.NettyByteBuffer.<init>:(Lio/netty/buffer/ByteBuf;)V
            areturn
        end local 1 // byte[] existing
        end local 0 // io.micronaut.buffer.netty.NettyByteBufferFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/micronaut/buffer/netty/NettyByteBufferFactory;
            0    1     1  existing  [B
    Signature: ([B)Lio/micronaut/core/io/buffer/ByteBuffer<Lio/netty/buffer/ByteBuf;>;
    MethodParameters:
          Name  Flags
      existing  

  public java.lang.Object getNativeAllocator();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.micronaut.buffer.netty.NettyByteBufferFactory.getNativeAllocator:()Lio/netty/buffer/ByteBufAllocator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  private static io.netty.buffer.ByteBuf lambda$1(io.micronaut.core.io.buffer.ByteBuffer);
    descriptor: (Lio/micronaut/core/io/buffer/ByteBuffer;)Lio/netty/buffer/ByteBuf;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.micronaut.core.io.buffer.ByteBuffer byteBuffer
         0: .line 50
            aload 0 /* byteBuffer */
            instanceof io.micronaut.buffer.netty.NettyByteBuffer
            ifeq 2
         1: .line 51
            aload 0 /* byteBuffer */
            invokeinterface io.micronaut.core.io.buffer.ByteBuffer.asNativeBuffer:()Ljava/lang/Object;
            checkcast io.netty.buffer.ByteBuf
            areturn
         2: .line 53
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unconvertible buffer type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* byteBuffer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.micronaut.core.io.buffer.ByteBuffer byteBuffer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  byteBuffer  Lio/micronaut/core/io/buffer/ByteBuffer;
}
Signature: Ljava/lang/Object;Lio/micronaut/core/io/buffer/ByteBufferFactory<Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;>;
SourceFile: "NettyByteBufferFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      io.micronaut.core.annotation.Internal()
      javax.inject.Singleton()
      io.micronaut.context.annotation.BootstrapContextCompatible()