class com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback implements com.mongodb.async.SingleResultCallback<org.bson.ByteBuf>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback
  super_class: java.lang.Object
{
  private final com.mongodb.internal.connection.MessageHeader messageHeader;
    descriptor: Lcom/mongodb/internal/connection/MessageHeader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback this$1;
    descriptor: Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback, com.mongodb.internal.connection.MessageHeader);
    descriptor: (Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;Lcom/mongodb/internal/connection/MessageHeader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback this
        start local 2 // com.mongodb.internal.connection.MessageHeader messageHeader
         0: .line 647
            aload 0 /* this */
            aload 1
            putfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 648
            aload 0 /* this */
            aload 2 /* messageHeader */
            putfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.messageHeader:Lcom/mongodb/internal/connection/MessageHeader;
         2: .line 649
            return
        end local 2 // com.mongodb.internal.connection.MessageHeader messageHeader
        end local 0 // com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback$MessageCallback;
            0    3     2  messageHeader  Lcom/mongodb/internal/connection/MessageHeader;
    MethodParameters:
               Name  Flags
      this$0         final
      messageHeader  final

  public void onResult(org.bson.ByteBuf, java.lang.Throwable);
    descriptor: (Lorg/bson/ByteBuf;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback this
        start local 1 // org.bson.ByteBuf result
        start local 2 // java.lang.Throwable t
         0: .line 653
            aload 2 /* t */
            ifnull 3
         1: .line 654
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.callback:Lcom/mongodb/async/SingleResultCallback;
            aconst_null
            aload 2 /* t */
            invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 655
            return
         3: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.messageHeader:Lcom/mongodb/internal/connection/MessageHeader;
            invokevirtual com.mongodb.internal.connection.MessageHeader.getOpCode:()I
            getstatic com.mongodb.internal.connection.OpCode.OP_COMPRESSED:Lcom/mongodb/internal/connection/OpCode;
            invokevirtual com.mongodb.internal.connection.OpCode.getValue:()I
            if_icmpne 17
         4: .line 662
            new com.mongodb.internal.connection.CompressedHeader
            dup
            aload 1 /* result */
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.messageHeader:Lcom/mongodb/internal/connection/MessageHeader;
            invokespecial com.mongodb.internal.connection.CompressedHeader.<init>:(Lorg/bson/ByteBuf;Lcom/mongodb/internal/connection/MessageHeader;)V
            astore 5 /* compressedHeader */
        start local 5 // com.mongodb.internal.connection.CompressedHeader compressedHeader
         5: .line 663
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            invokestatic com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.access$1:(Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;)Lcom/mongodb/internal/connection/InternalStreamConnection;
            aload 5 /* compressedHeader */
            invokevirtual com.mongodb.internal.connection.InternalStreamConnection.getCompressor:(Lcom/mongodb/internal/connection/CompressedHeader;)Lcom/mongodb/internal/connection/Compressor;
            astore 6 /* compressor */
        start local 6 // com.mongodb.internal.connection.Compressor compressor
         6: .line 664
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            invokestatic com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.access$1:(Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;)Lcom/mongodb/internal/connection/InternalStreamConnection;
            aload 5 /* compressedHeader */
            invokevirtual com.mongodb.internal.connection.CompressedHeader.getUncompressedSize:()I
            invokevirtual com.mongodb.internal.connection.InternalStreamConnection.getBuffer:(I)Lorg/bson/ByteBuf;
            astore 7 /* buffer */
        start local 7 // org.bson.ByteBuf buffer
         7: .line 665
            aload 6 /* compressor */
            aload 1 /* result */
            aload 7 /* buffer */
            invokevirtual com.mongodb.internal.connection.Compressor.uncompress:(Lorg/bson/ByteBuf;Lorg/bson/ByteBuf;)V
         8: .line 667
            aload 7 /* buffer */
            invokeinterface org.bson.ByteBuf.flip:()Lorg/bson/ByteBuf;
            pop
         9: .line 668
            new com.mongodb.internal.connection.ReplyHeader
            dup
            aload 7 /* buffer */
            aload 5 /* compressedHeader */
            invokespecial com.mongodb.internal.connection.ReplyHeader.<init>:(Lorg/bson/ByteBuf;Lcom/mongodb/internal/connection/CompressedHeader;)V
            astore 3 /* replyHeader */
        start local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
        10: .line 669
            aload 7 /* buffer */
            astore 4 /* responseBuffer */
        end local 7 // org.bson.ByteBuf buffer
        end local 6 // com.mongodb.internal.connection.Compressor compressor
        end local 5 // com.mongodb.internal.connection.CompressedHeader compressedHeader
        start local 4 // org.bson.ByteBuf responseBuffer
        11: .line 670
            goto 15
        end local 4 // org.bson.ByteBuf responseBuffer
        end local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8
        13: .line 671
            aload 1 /* result */
            invokeinterface org.bson.ByteBuf.release:()V
        14: .line 672
            aload 8
            athrow
        start local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
        start local 4 // org.bson.ByteBuf responseBuffer
        15: .line 671
      StackMap locals: com.mongodb.internal.connection.ReplyHeader org.bson.ByteBuf
      StackMap stack:
            aload 1 /* result */
            invokeinterface org.bson.ByteBuf.release:()V
        16: .line 673
            goto 19
        end local 4 // org.bson.ByteBuf responseBuffer
        end local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
        17: .line 674
      StackMap locals:
      StackMap stack:
            new com.mongodb.internal.connection.ReplyHeader
            dup
            aload 1 /* result */
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.messageHeader:Lcom/mongodb/internal/connection/MessageHeader;
            invokespecial com.mongodb.internal.connection.ReplyHeader.<init>:(Lorg/bson/ByteBuf;Lcom/mongodb/internal/connection/MessageHeader;)V
            astore 3 /* replyHeader */
        start local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
        18: .line 675
            aload 1 /* result */
            astore 4 /* responseBuffer */
        start local 4 // org.bson.ByteBuf responseBuffer
        19: .line 677
      StackMap locals: com.mongodb.internal.connection.ReplyHeader org.bson.ByteBuf
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.callback:Lcom/mongodb/async/SingleResultCallback;
            new com.mongodb.internal.connection.ResponseBuffers
            dup
            aload 3 /* replyHeader */
            aload 4 /* responseBuffer */
            invokespecial com.mongodb.internal.connection.ResponseBuffers.<init>:(Lcom/mongodb/internal/connection/ReplyHeader;Lorg/bson/ByteBuf;)V
            aconst_null
            invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // org.bson.ByteBuf responseBuffer
        end local 3 // com.mongodb.internal.connection.ReplyHeader replyHeader
        20: .line 678
            goto 23
      StackMap locals: com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback org.bson.ByteBuf java.lang.Throwable
      StackMap stack: java.lang.Throwable
        21: astore 3 /* localThrowable */
        start local 3 // java.lang.Throwable localThrowable
        22: .line 679
            aload 0 /* this */
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.this$1:Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback;
            getfield com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback.callback:Lcom/mongodb/async/SingleResultCallback;
            aconst_null
            aload 3 /* localThrowable */
            invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable localThrowable
        23: .line 681
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable t
        end local 1 // org.bson.ByteBuf result
        end local 0 // com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0              this  Lcom/mongodb/internal/connection/InternalStreamConnection$MessageHeaderCallback$MessageCallback;
            0   24     1            result  Lorg/bson/ByteBuf;
            0   24     2                 t  Ljava/lang/Throwable;
           10   12     3       replyHeader  Lcom/mongodb/internal/connection/ReplyHeader;
           15   17     3       replyHeader  Lcom/mongodb/internal/connection/ReplyHeader;
           18   20     3       replyHeader  Lcom/mongodb/internal/connection/ReplyHeader;
           11   12     4    responseBuffer  Lorg/bson/ByteBuf;
           15   17     4    responseBuffer  Lorg/bson/ByteBuf;
           19   20     4    responseBuffer  Lorg/bson/ByteBuf;
            5   11     5  compressedHeader  Lcom/mongodb/internal/connection/CompressedHeader;
            6   11     6        compressor  Lcom/mongodb/internal/connection/Compressor;
            7   11     7            buffer  Lorg/bson/ByteBuf;
           22   23     3    localThrowable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    12      12  any
           3    20      21  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      result  final
      t       final

  public void onResult(java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)V
    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.bson.ByteBuf
            aload 2
            invokevirtual com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback.onResult:(Lorg/bson/ByteBuf;Ljava/lang/Throwable;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lcom/mongodb/async/SingleResultCallback<Lorg/bson/ByteBuf;>;
SourceFile: "InternalStreamConnection.java"
NestHost: com.mongodb.internal.connection.InternalStreamConnection
InnerClasses:
  private MessageHeaderCallback = com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback of com.mongodb.internal.connection.InternalStreamConnection
  private MessageCallback = com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback$MessageCallback of com.mongodb.internal.connection.InternalStreamConnection$MessageHeaderCallback