class com.mongodb.async.client.MappingAsyncBatchCursor<T, U> implements com.mongodb.async.AsyncBatchCursor<U>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mongodb.async.client.MappingAsyncBatchCursor
  super_class: java.lang.Object
{
  private final com.mongodb.async.AsyncBatchCursor<T> batchCursor;
    descriptor: Lcom/mongodb/async/AsyncBatchCursor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/mongodb/async/AsyncBatchCursor<TT;>;

  private final com.mongodb.Function<T, U> mapper;
    descriptor: Lcom/mongodb/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/mongodb/Function<TT;TU;>;

  void <init>(com.mongodb.async.AsyncBatchCursor<T>, com.mongodb.Function<T, U>);
    descriptor: (Lcom/mongodb/async/AsyncBatchCursor;Lcom/mongodb/Function;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
        start local 1 // com.mongodb.async.AsyncBatchCursor batchCursor
        start local 2 // com.mongodb.Function mapper
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            aload 1 /* batchCursor */
            putfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
         2: .line 33
            aload 0 /* this */
            aload 2 /* mapper */
            putfield com.mongodb.async.client.MappingAsyncBatchCursor.mapper:Lcom/mongodb/Function;
         3: .line 34
            return
        end local 2 // com.mongodb.Function mapper
        end local 1 // com.mongodb.async.AsyncBatchCursor batchCursor
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;
            0    4     1  batchCursor  Lcom/mongodb/async/AsyncBatchCursor<TT;>;
            0    4     2       mapper  Lcom/mongodb/Function<TT;TU;>;
    Signature: (Lcom/mongodb/async/AsyncBatchCursor<TT;>;Lcom/mongodb/Function<TT;TU;>;)V
    MethodParameters:
             Name  Flags
      batchCursor  final
      mapper       final

  public void next(com.mongodb.async.SingleResultCallback<java.util.List<U>>);
    descriptor: (Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
        start local 1 // com.mongodb.async.SingleResultCallback callback
         0: .line 38
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            aload 0 /* this */
            aload 1 /* callback */
            invokevirtual com.mongodb.async.client.MappingAsyncBatchCursor.getMappingCallback:(Lcom/mongodb/async/SingleResultCallback;)Lcom/mongodb/async/SingleResultCallback;
            invokeinterface com.mongodb.async.AsyncBatchCursor.next:(Lcom/mongodb/async/SingleResultCallback;)V
         1: .line 39
            return
        end local 1 // com.mongodb.async.SingleResultCallback callback
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;
            0    2     1  callback  Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;
    Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;)V
    MethodParameters:
          Name  Flags
      callback  final

  public void tryNext(com.mongodb.async.SingleResultCallback<java.util.List<U>>);
    descriptor: (Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
        start local 1 // com.mongodb.async.SingleResultCallback callback
         0: .line 43
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            aload 0 /* this */
            aload 1 /* callback */
            invokevirtual com.mongodb.async.client.MappingAsyncBatchCursor.getMappingCallback:(Lcom/mongodb/async/SingleResultCallback;)Lcom/mongodb/async/SingleResultCallback;
            invokeinterface com.mongodb.async.AsyncBatchCursor.tryNext:(Lcom/mongodb/async/SingleResultCallback;)V
         1: .line 44
            return
        end local 1 // com.mongodb.async.SingleResultCallback callback
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;
            0    2     1  callback  Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;
    Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;)V
    MethodParameters:
          Name  Flags
      callback  final

  public void setBatchSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
        start local 1 // int batchSize
         0: .line 48
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            iload 1 /* batchSize */
            invokeinterface com.mongodb.async.AsyncBatchCursor.setBatchSize:(I)V
         1: .line 49
            return
        end local 1 // int batchSize
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;
            0    2     1  batchSize  I
    MethodParameters:
           Name  Flags
      batchSize  final

  public int getBatchSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
         0: .line 53
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            invokeinterface com.mongodb.async.AsyncBatchCursor.getBatchSize:()I
            ireturn
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
         0: .line 58
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            invokeinterface com.mongodb.async.AsyncBatchCursor.isClosed:()Z
            ireturn
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
         0: .line 63
            aload 0 /* this */
            getfield com.mongodb.async.client.MappingAsyncBatchCursor.batchCursor:Lcom/mongodb/async/AsyncBatchCursor;
            invokeinterface com.mongodb.async.AsyncBatchCursor.close:()V
         1: .line 64
            return
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;

  private com.mongodb.async.SingleResultCallback<java.util.List<T>> getMappingCallback(com.mongodb.async.SingleResultCallback<java.util.List<U>>);
    descriptor: (Lcom/mongodb/async/SingleResultCallback;)Lcom/mongodb/async/SingleResultCallback;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
        start local 1 // com.mongodb.async.SingleResultCallback callback
         0: .line 67
            new com.mongodb.async.client.MappingAsyncBatchCursor$1
            dup
            aload 0 /* this */
            aload 1 /* callback */
            invokespecial com.mongodb.async.client.MappingAsyncBatchCursor$1.<init>:(Lcom/mongodb/async/client/MappingAsyncBatchCursor;Lcom/mongodb/async/SingleResultCallback;)V
            areturn
        end local 1 // com.mongodb.async.SingleResultCallback callback
        end local 0 // com.mongodb.async.client.MappingAsyncBatchCursor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/async/client/MappingAsyncBatchCursor<TT;TU;>;
            0    1     1  callback  Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;
    Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TU;>;>;)Lcom/mongodb/async/SingleResultCallback<Ljava/util/List<TT;>;>;
    MethodParameters:
          Name  Flags
      callback  final
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/lang/Object;Lcom/mongodb/async/AsyncBatchCursor<TU;>;
SourceFile: "MappingAsyncBatchCursor.java"
NestMembers:
  com.mongodb.async.client.MappingAsyncBatchCursor$1
InnerClasses:
  com.mongodb.async.client.MappingAsyncBatchCursor$1