public interface com.mongodb.async.client.MongoDatabase
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.mongodb.async.client.MongoDatabase
  super_class: java.lang.Object
{
  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.bson.codecs.configuration.CodecRegistry getCodecRegistry();
    descriptor: ()Lorg/bson/codecs/configuration/CodecRegistry;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.ReadPreference getReadPreference();
    descriptor: ()Lcom/mongodb/ReadPreference;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.WriteConcern getWriteConcern();
    descriptor: ()Lcom/mongodb/WriteConcern;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.ReadConcern getReadConcern();
    descriptor: ()Lcom/mongodb/ReadConcern;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.mongodb.async.client.MongoDatabase withCodecRegistry(org.bson.codecs.configuration.CodecRegistry);
    descriptor: (Lorg/bson/codecs/configuration/CodecRegistry;)Lcom/mongodb/async/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      codecRegistry  

  public abstract com.mongodb.async.client.MongoDatabase withReadPreference(com.mongodb.ReadPreference);
    descriptor: (Lcom/mongodb/ReadPreference;)Lcom/mongodb/async/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      readPreference  

  public abstract com.mongodb.async.client.MongoDatabase withWriteConcern(com.mongodb.WriteConcern);
    descriptor: (Lcom/mongodb/WriteConcern;)Lcom/mongodb/async/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      writeConcern  

  public abstract com.mongodb.async.client.MongoDatabase withReadConcern(com.mongodb.ReadConcern);
    descriptor: (Lcom/mongodb/ReadConcern;)Lcom/mongodb/async/client/MongoDatabase;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      readConcern  

  public abstract com.mongodb.async.client.MongoCollection<org.bson.Document> getCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/async/client/MongoCollection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;)Lcom/mongodb/async/client/MongoCollection<Lorg/bson/Document;>;
    MethodParameters:
                Name  Flags
      collectionName  

  public abstract <TDocument> com.mongodb.async.client.MongoCollection<TDocument> getCollection(java.lang.String, java.lang.Class<TDocument>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lcom/mongodb/async/client/MongoCollection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TDocument:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TTDocument;>;)Lcom/mongodb/async/client/MongoCollection<TTDocument;>;
    MethodParameters:
                Name  Flags
      collectionName  
      documentClass   

  public abstract void runCommand(org.bson.conversions.Bson, com.mongodb.async.SingleResultCallback<org.bson.Document>);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/bson/conversions/Bson;Lcom/mongodb/async/SingleResultCallback<Lorg/bson/Document;>;)V
    MethodParameters:
          Name  Flags
      command   
      callback  

  public abstract void runCommand(org.bson.conversions.Bson, com.mongodb.ReadPreference, com.mongodb.async.SingleResultCallback<org.bson.Document>);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Lcom/mongodb/async/SingleResultCallback<Lorg/bson/Document;>;)V
    MethodParameters:
                Name  Flags
      command         
      readPreference  
      callback        

  public abstract <TResult> void runCommand(org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.async.SingleResultCallback<TResult>);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/async/SingleResultCallback<TTResult;>;)V
    MethodParameters:
             Name  Flags
      command      
      resultClass  
      callback     

  public abstract <TResult> void runCommand(org.bson.conversions.Bson, com.mongodb.ReadPreference, java.lang.Class<TResult>, com.mongodb.async.SingleResultCallback<TResult>);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class<TTResult;>;Lcom/mongodb/async/SingleResultCallback<TTResult;>;)V
    MethodParameters:
                Name  Flags
      command         
      readPreference  
      resultClass     
      callback        

  public abstract void runCommand(com.mongodb.async.client.ClientSession, org.bson.conversions.Bson, com.mongodb.async.SingleResultCallback<org.bson.Document>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/async/SingleResultCallback<Lorg/bson/Document;>;)V
    MethodParameters:
               Name  Flags
      clientSession  
      command        
      callback       

  public abstract void runCommand(com.mongodb.async.client.ClientSession, org.bson.conversions.Bson, com.mongodb.ReadPreference, com.mongodb.async.SingleResultCallback<org.bson.Document>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Lcom/mongodb/async/SingleResultCallback<Lorg/bson/Document;>;)V
    MethodParameters:
                Name  Flags
      clientSession   
      command         
      readPreference  
      callback        

  public abstract <TResult> void runCommand(com.mongodb.async.client.ClientSession, org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.async.SingleResultCallback<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/async/SingleResultCallback<TTResult;>;)V
    MethodParameters:
               Name  Flags
      clientSession  
      command        
      resultClass    
      callback       

  public abstract <TResult> void runCommand(com.mongodb.async.client.ClientSession, org.bson.conversions.Bson, com.mongodb.ReadPreference, java.lang.Class<TResult>, com.mongodb.async.SingleResultCallback<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Lorg/bson/conversions/Bson;Lcom/mongodb/ReadPreference;Ljava/lang/Class<TTResult;>;Lcom/mongodb/async/SingleResultCallback<TTResult;>;)V
    MethodParameters:
                Name  Flags
      clientSession   
      command         
      readPreference  
      resultClass     
      callback        

  public abstract void drop(com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
          Name  Flags
      callback  

  public abstract void drop(com.mongodb.async.client.ClientSession, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
               Name  Flags
      clientSession  
      callback       

  public abstract com.mongodb.async.client.MongoIterable<java.lang.String> listCollectionNames();
    descriptor: ()Lcom/mongodb/async/client/MongoIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/async/client/MongoIterable<Ljava/lang/String;>;

  public abstract com.mongodb.async.client.MongoIterable<java.lang.String> listCollectionNames(com.mongodb.async.client.ClientSession);
    descriptor: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/MongoIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/MongoIterable<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract com.mongodb.async.client.ListCollectionsIterable<org.bson.Document> listCollections();
    descriptor: ()Lcom/mongodb/async/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/async/client/ListCollectionsIterable<Lorg/bson/Document;>;

  public abstract <TResult> com.mongodb.async.client.ListCollectionsIterable<TResult> listCollections(java.lang.Class<TResult>);
    descriptor: (Ljava/lang/Class;)Lcom/mongodb/async/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ListCollectionsIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  

  public abstract com.mongodb.async.client.ListCollectionsIterable<org.bson.Document> listCollections(com.mongodb.async.client.ClientSession);
    descriptor: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/ListCollectionsIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract <TResult> com.mongodb.async.client.ListCollectionsIterable<TResult> listCollections(com.mongodb.async.client.ClientSession, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/Class;)Lcom/mongodb/async/client/ListCollectionsIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ListCollectionsIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      resultClass    

  public abstract void createCollection(java.lang.String, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Ljava/lang/String;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                Name  Flags
      collectionName  
      callback        

  public abstract void createCollection(java.lang.String, com.mongodb.client.model.CreateCollectionOptions, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                Name  Flags
      collectionName  
      options         
      callback        

  public abstract void createCollection(com.mongodb.async.client.ClientSession, java.lang.String, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                Name  Flags
      clientSession   
      collectionName  
      callback        

  public abstract void createCollection(com.mongodb.async.client.ClientSession, java.lang.String, com.mongodb.client.model.CreateCollectionOptions, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Lcom/mongodb/client/model/CreateCollectionOptions;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                Name  Flags
      clientSession   
      collectionName  
      options         
      callback        

  public abstract void createView(java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
          Name  Flags
      viewName  
      viewOn    
      pipeline  
      callback  

  public abstract void createView(java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.CreateViewOptions, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/client/model/CreateViewOptions;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/CreateViewOptions;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                   Name  Flags
      viewName           
      viewOn             
      pipeline           
      createViewOptions  
      callback           

  public abstract void createView(com.mongodb.async.client.ClientSession, java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
               Name  Flags
      clientSession  
      viewName       
      viewOn         
      pipeline       
      callback       

  public abstract void createView(com.mongodb.async.client.ClientSession, java.lang.String, java.lang.String, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.CreateViewOptions, com.mongodb.async.SingleResultCallback<java.lang.Void>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/mongodb/client/model/CreateViewOptions;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/CreateViewOptions;Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
    MethodParameters:
                   Name  Flags
      clientSession      
      viewName           
      viewOn             
      pipeline           
      createViewOptions  
      callback           

  public abstract com.mongodb.async.client.ChangeStreamIterable<org.bson.Document> watch();
    descriptor: ()Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lcom/mongodb/async/client/ChangeStreamIterable<Lorg/bson/Document;>;

  public abstract <TResult> com.mongodb.async.client.ChangeStreamIterable<TResult> watch(java.lang.Class<TResult>);
    descriptor: (Ljava/lang/Class;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  

  public abstract com.mongodb.async.client.ChangeStreamIterable<org.bson.Document> watch(java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/util/List;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/async/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
          Name  Flags
      pipeline  

  public abstract <TResult> com.mongodb.async.client.ChangeStreamIterable<TResult> watch(java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      pipeline     
      resultClass  

  public abstract com.mongodb.async.client.ChangeStreamIterable<org.bson.Document> watch(com.mongodb.async.client.ClientSession);
    descriptor: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;)Lcom/mongodb/async/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  

  public abstract <TResult> com.mongodb.async.client.ChangeStreamIterable<TResult> watch(com.mongodb.async.client.ClientSession, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/lang/Class;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      resultClass    

  public abstract com.mongodb.async.client.ChangeStreamIterable<org.bson.Document> watch(com.mongodb.async.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/async/client/ChangeStreamIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       

  public abstract <TResult> com.mongodb.async.client.ChangeStreamIterable<TResult> watch(com.mongodb.async.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/async/client/ChangeStreamIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/ChangeStreamIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       
      resultClass    

  public abstract com.mongodb.async.client.AggregateIterable<org.bson.Document> aggregate(java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/util/List;)Lcom/mongodb/async/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/async/client/AggregateIterable<Lorg/bson/Document;>;
    MethodParameters:
          Name  Flags
      pipeline  

  public abstract <TResult> com.mongodb.async.client.AggregateIterable<TResult> aggregate(java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/async/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/AggregateIterable<TTResult;>;
    MethodParameters:
             Name  Flags
      pipeline     
      resultClass  

  public abstract com.mongodb.async.client.AggregateIterable<org.bson.Document> aggregate(com.mongodb.async.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List;)Lcom/mongodb/async/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Lcom/mongodb/async/client/AggregateIterable<Lorg/bson/Document;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       

  public abstract <TResult> com.mongodb.async.client.AggregateIterable<TResult> aggregate(com.mongodb.async.client.ClientSession, java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>);
    descriptor: (Lcom/mongodb/async/client/ClientSession;Ljava/util/List;Ljava/lang/Class;)Lcom/mongodb/async/client/AggregateIterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/async/client/ClientSession;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;)Lcom/mongodb/async/client/AggregateIterable<TTResult;>;
    MethodParameters:
               Name  Flags
      clientSession  
      pipeline       
      resultClass    
}
SourceFile: "MongoDatabase.java"
    RuntimeVisibleAnnotations: 
      com.mongodb.annotations.ThreadSafe()
      java.lang.Deprecated()