class com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback extends com.mongodb.internal.connection.ResponseCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback
  super_class: com.mongodb.internal.connection.ResponseCallback
{
  private final com.mongodb.async.SingleResultCallback<com.mongodb.connection.QueryResult<T>> callback;
    descriptor: Lcom/mongodb/async/SingleResultCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;

  private final long cursorId;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.internal.connection.GetMoreMessage message;
    descriptor: Lcom/mongodb/internal/connection/GetMoreMessage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.ConnectionDescription connectionDescription;
    descriptor: Lcom/mongodb/connection/ConnectionDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.event.CommandListener commandListener;
    descriptor: Lcom/mongodb/event/CommandListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long startTimeNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  void <init>(com.mongodb.async.SingleResultCallback<com.mongodb.connection.QueryResult<T>>, long, com.mongodb.internal.connection.GetMoreMessage, com.mongodb.connection.ConnectionDescription, com.mongodb.event.CommandListener, );
    descriptor: (Lcom/mongodb/internal/connection/GetMoreProtocol;Lcom/mongodb/async/SingleResultCallback;JLcom/mongodb/internal/connection/GetMoreMessage;Lcom/mongodb/connection/ConnectionDescription;Lcom/mongodb/event/CommandListener;J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=8
        start local 0 // com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback this
        start local 2 // com.mongodb.async.SingleResultCallback callback
        start local 3 // long cursorId
        start local 5 // com.mongodb.internal.connection.GetMoreMessage message
        start local 6 // com.mongodb.connection.ConnectionDescription connectionDescription
        start local 7 // com.mongodb.event.CommandListener commandListener
        start local 8 // long startTimeNanos
         0: .line 209
            aload 0 /* this */
            aload 1
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.this$0:Lcom/mongodb/internal/connection/GetMoreProtocol;
         1: .line 210
            aload 0 /* this */
            aload 5 /* message */
            invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
            i2l
            aload 6 /* connectionDescription */
            invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
            invokespecial com.mongodb.internal.connection.ResponseCallback.<init>:(JLcom/mongodb/ServerAddress;)V
         2: .line 211
            aload 0 /* this */
            aload 2 /* callback */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
         3: .line 212
            aload 0 /* this */
            lload 3 /* cursorId */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.cursorId:J
         4: .line 213
            aload 0 /* this */
            aload 5 /* message */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.message:Lcom/mongodb/internal/connection/GetMoreMessage;
         5: .line 214
            aload 0 /* this */
            aload 6 /* connectionDescription */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
         6: .line 215
            aload 0 /* this */
            aload 7 /* commandListener */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.commandListener:Lcom/mongodb/event/CommandListener;
         7: .line 216
            aload 0 /* this */
            lload 8 /* startTimeNanos */
            putfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.startTimeNanos:J
         8: .line 217
            return
        end local 8 // long startTimeNanos
        end local 7 // com.mongodb.event.CommandListener commandListener
        end local 6 // com.mongodb.connection.ConnectionDescription connectionDescription
        end local 5 // com.mongodb.internal.connection.GetMoreMessage message
        end local 3 // long cursorId
        end local 2 // com.mongodb.async.SingleResultCallback callback
        end local 0 // com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lcom/mongodb/internal/connection/GetMoreProtocol$GetMoreResultCallback;
            0    9     2               callback  Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;
            0    9     3               cursorId  J
            0    9     5                message  Lcom/mongodb/internal/connection/GetMoreMessage;
            0    9     6  connectionDescription  Lcom/mongodb/connection/ConnectionDescription;
            0    9     7        commandListener  Lcom/mongodb/event/CommandListener;
            0    9     8         startTimeNanos  J
    Signature: (Lcom/mongodb/async/SingleResultCallback<Lcom/mongodb/connection/QueryResult<TT;>;>;JLcom/mongodb/internal/connection/GetMoreMessage;Lcom/mongodb/connection/ConnectionDescription;Lcom/mongodb/event/CommandListener;J)V
    MethodParameters:
                       Name  Flags
      this$0                 final
      callback               final
      cursorId               final
      message                final
      connectionDescription  final
      commandListener        final
      startTimeNanos         final

  protected void callCallback(com.mongodb.internal.connection.ResponseBuffers, java.lang.Throwable);
    descriptor: (Lcom/mongodb/internal/connection/ResponseBuffers;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback this
        start local 1 // com.mongodb.internal.connection.ResponseBuffers responseBuffers
        start local 2 // java.lang.Throwable throwableFromCallback
         0: .line 222
            aload 2 /* throwableFromCallback */
            ifnull 2
         1: .line 223
            aload 2 /* throwableFromCallback */
            athrow
         2: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
            invokevirtual com.mongodb.internal.connection.ReplyHeader.isCursorNotFound:()Z
            ifeq 4
         3: .line 225
            new com.mongodb.MongoCursorNotFoundException
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.cursorId:J
            aload 0 /* this */
            invokevirtual com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.getServerAddress:()Lcom/mongodb/ServerAddress;
            invokespecial com.mongodb.MongoCursorNotFoundException.<init>:(JLcom/mongodb/ServerAddress;)V
            athrow
         4: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.ResponseBuffers.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
            invokevirtual com.mongodb.internal.connection.ReplyHeader.isQueryFailure:()Z
            ifeq 11
         5: .line 227
            new com.mongodb.internal.connection.ReplyMessage
            dup
            aload 1 /* responseBuffers */
            new org.bson.codecs.BsonDocumentCodec
            dup
            invokespecial org.bson.codecs.BsonDocumentCodec.<init>:()V
         6: .line 228
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.message:Lcom/mongodb/internal/connection/GetMoreMessage;
            invokevirtual com.mongodb.internal.connection.GetMoreMessage.getId:()I
            i2l
         7: .line 227
            invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
         8: .line 228
            invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bson.BsonDocument
         9: .line 227
            astore 3 /* errorDocument */
        start local 3 // org.bson.BsonDocument errorDocument
        10: .line 229
            aload 3 /* errorDocument */
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
            invokevirtual com.mongodb.connection.ConnectionDescription.getServerAddress:()Lcom/mongodb/ServerAddress;
            invokestatic com.mongodb.internal.connection.ProtocolHelper.getQueryFailureException:(Lorg/bson/BsonDocument;Lcom/mongodb/ServerAddress;)Lcom/mongodb/MongoException;
            athrow
        end local 3 // org.bson.BsonDocument errorDocument
        11: .line 231
      StackMap locals:
      StackMap stack:
            new com.mongodb.internal.connection.ReplyMessage
            dup
            aload 1 /* responseBuffers */
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.this$0:Lcom/mongodb/internal/connection/GetMoreProtocol;
            getfield com.mongodb.internal.connection.GetMoreProtocol.resultDecoder:Lorg/bson/codecs/Decoder;
            aload 0 /* this */
            invokevirtual com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.getRequestId:()J
            invokespecial com.mongodb.internal.connection.ReplyMessage.<init>:(Lcom/mongodb/internal/connection/ResponseBuffers;Lorg/bson/codecs/Decoder;J)V
            astore 3 /* replyMessage */
        start local 3 // com.mongodb.internal.connection.ReplyMessage replyMessage
        12: .line 232
            new com.mongodb.connection.QueryResult
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.this$0:Lcom/mongodb/internal/connection/GetMoreProtocol;
            getfield com.mongodb.internal.connection.GetMoreProtocol.namespace:Lcom/mongodb/MongoNamespace;
            aload 3 /* replyMessage */
            invokevirtual com.mongodb.internal.connection.ReplyMessage.getDocuments:()Ljava/util/List;
        13: .line 233
            aload 3 /* replyMessage */
            invokevirtual com.mongodb.internal.connection.ReplyMessage.getReplyHeader:()Lcom/mongodb/internal/connection/ReplyHeader;
            invokevirtual com.mongodb.internal.connection.ReplyHeader.getCursorId:()J
            aload 0 /* this */
            invokevirtual com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.getServerAddress:()Lcom/mongodb/ServerAddress;
        14: .line 232
            invokespecial com.mongodb.connection.QueryResult.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;JLcom/mongodb/ServerAddress;)V
            astore 4 /* result */
        start local 4 // com.mongodb.connection.QueryResult result
        15: .line 234
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.commandListener:Lcom/mongodb/event/CommandListener;
            ifnull 20
        16: .line 235
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.message:Lcom/mongodb/internal/connection/GetMoreMessage;
            ldc "getMore"
        17: .line 236
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.this$0:Lcom/mongodb/internal/connection/GetMoreProtocol;
            aload 4 /* result */
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.GetMoreProtocol.asGetMoreCommandResponseDocument:(Lcom/mongodb/connection/QueryResult;Lcom/mongodb/internal/connection/ResponseBuffers;)Lorg/bson/BsonDocument;
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
        18: .line 237
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.startTimeNanos:J
            lsub
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.commandListener:Lcom/mongodb/event/CommandListener;
        19: .line 235
            invokestatic com.mongodb.internal.connection.ProtocolHelper.sendCommandSucceededEvent:(Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;Lorg/bson/BsonDocument;Lcom/mongodb/connection/ConnectionDescription;JLcom/mongodb/event/CommandListener;)V
        20: .line 240
      StackMap locals: com.mongodb.internal.connection.ReplyMessage com.mongodb.connection.QueryResult
      StackMap stack:
            getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
            invokeinterface com.mongodb.diagnostics.logging.Logger.isDebugEnabled:()Z
            ifeq 25
        21: .line 241
            getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
            ldc "GetMore results received %s documents with cursor %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 242
            aload 4 /* result */
            invokevirtual com.mongodb.connection.QueryResult.getResults:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        23: .line 243
            aload 4 /* result */
            invokevirtual com.mongodb.connection.QueryResult.getCursor:()Lcom/mongodb/ServerCursor;
            aastore
        24: .line 241
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;)V
        25: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
            aload 4 /* result */
            aconst_null
            invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // com.mongodb.connection.QueryResult result
        end local 3 // com.mongodb.internal.connection.ReplyMessage replyMessage
        26: .line 247
            goto 46
      StackMap locals: com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
      StackMap stack: java.lang.Throwable
        27: astore 3 /* t */
        start local 3 // java.lang.Throwable t
        28: .line 248
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.commandListener:Lcom/mongodb/event/CommandListener;
            ifnull 32
        29: .line 249
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.message:Lcom/mongodb/internal/connection/GetMoreMessage;
            ldc "getMore"
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.connectionDescription:Lcom/mongodb/connection/ConnectionDescription;
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.startTimeNanos:J
            lsub
            aload 3 /* t */
        30: .line 250
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.commandListener:Lcom/mongodb/event/CommandListener;
        31: .line 249
            invokestatic com.mongodb.internal.connection.ProtocolHelper.sendCommandFailedEvent:(Lcom/mongodb/internal/connection/RequestMessage;Ljava/lang/String;Lcom/mongodb/connection/ConnectionDescription;JLjava/lang/Throwable;Lcom/mongodb/event/CommandListener;)V
        32: .line 252
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback.callback:Lcom/mongodb/async/SingleResultCallback;
            aconst_null
            aload 3 /* t */
            invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        33: .line 255
            aload 1 /* responseBuffers */
            ifnull 51
        34: .line 256
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
        35: .line 258
            goto 51
      StackMap locals: com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
      StackMap stack: java.lang.Throwable
        36: astore 6 /* t1 */
        start local 6 // java.lang.Throwable t1
        37: .line 259
            getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
            ldc "GetMore ResponseBuffer close exception"
            aload 6 /* t1 */
            invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable t1
        38: goto 51
        39: .line 253
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        40: .line 255
            aload 1 /* responseBuffers */
            ifnull 45
        41: .line 256
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
        42: .line 258
            goto 45
      StackMap locals: com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        43: astore 6 /* t1 */
        start local 6 // java.lang.Throwable t1
        44: .line 259
            getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
            ldc "GetMore ResponseBuffer close exception"
            aload 6 /* t1 */
            invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable t1
        45: .line 261
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        46: .line 255
      StackMap locals: com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback com.mongodb.internal.connection.ResponseBuffers java.lang.Throwable
      StackMap stack:
            aload 1 /* responseBuffers */
            ifnull 51
        47: .line 256
            aload 1 /* responseBuffers */
            invokevirtual com.mongodb.internal.connection.ResponseBuffers.close:()V
        48: .line 258
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 6 /* t1 */
        start local 6 // java.lang.Throwable t1
        50: .line 259
            getstatic com.mongodb.internal.connection.GetMoreProtocol.LOGGER:Lcom/mongodb/diagnostics/logging/Logger;
            ldc "GetMore ResponseBuffer close exception"
            aload 6 /* t1 */
            invokeinterface com.mongodb.diagnostics.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable t1
        51: .line 262
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable throwableFromCallback
        end local 1 // com.mongodb.internal.connection.ResponseBuffers responseBuffers
        end local 0 // com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   52     0                   this  Lcom/mongodb/internal/connection/GetMoreProtocol$GetMoreResultCallback;
            0   52     1        responseBuffers  Lcom/mongodb/internal/connection/ResponseBuffers;
            0   52     2  throwableFromCallback  Ljava/lang/Throwable;
           10   11     3          errorDocument  Lorg/bson/BsonDocument;
           12   26     3           replyMessage  Lcom/mongodb/internal/connection/ReplyMessage<TT;>;
           15   26     4                 result  Lcom/mongodb/connection/QueryResult<TT;>;
           28   33     3                      t  Ljava/lang/Throwable;
           37   38     6                     t1  Ljava/lang/Throwable;
           44   45     6                     t1  Ljava/lang/Throwable;
           50   51     6                     t1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    26      27  Class java.lang.Throwable
          33    35      36  Class java.lang.Throwable
           0    33      39  any
          40    42      43  Class java.lang.Throwable
          46    48      49  Class java.lang.Throwable
    MethodParameters:
                       Name  Flags
      responseBuffers        final
      throwableFromCallback  final
}
SourceFile: "GetMoreProtocol.java"
NestHost: com.mongodb.internal.connection.GetMoreProtocol
InnerClasses:
  GetMoreResultCallback = com.mongodb.internal.connection.GetMoreProtocol$GetMoreResultCallback of com.mongodb.internal.connection.GetMoreProtocol