final class com.mongodb.internal.operation.Operations<TDocument>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.mongodb.internal.operation.Operations
  super_class: java.lang.Object
{
  private final com.mongodb.MongoNamespace namespace;
    descriptor: Lcom/mongodb/MongoNamespace;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<TDocument> documentClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TTDocument;>;

  private final com.mongodb.ReadPreference readPreference;
    descriptor: Lcom/mongodb/ReadPreference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.bson.codecs.configuration.CodecRegistry codecRegistry;
    descriptor: Lorg/bson/codecs/configuration/CodecRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.ReadConcern readConcern;
    descriptor: Lcom/mongodb/ReadConcern;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.WriteConcern writeConcern;
    descriptor: Lcom/mongodb/WriteConcern;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean retryWrites;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean retryReads;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(com.mongodb.MongoNamespace, java.lang.Class<TDocument>, com.mongodb.ReadPreference, org.bson.codecs.configuration.CodecRegistry, com.mongodb.ReadConcern, com.mongodb.WriteConcern, boolean, );
    descriptor: (Lcom/mongodb/MongoNamespace;Ljava/lang/Class;Lcom/mongodb/ReadPreference;Lorg/bson/codecs/configuration/CodecRegistry;Lcom/mongodb/ReadConcern;Lcom/mongodb/WriteConcern;ZZ)V
    flags: (0x0000) 
    Code:
      stack=2, locals=9, args_size=9
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // com.mongodb.MongoNamespace namespace
        start local 2 // java.lang.Class documentClass
        start local 3 // com.mongodb.ReadPreference readPreference
        start local 4 // org.bson.codecs.configuration.CodecRegistry codecRegistry
        start local 5 // com.mongodb.ReadConcern readConcern
        start local 6 // com.mongodb.WriteConcern writeConcern
        start local 7 // boolean retryWrites
        start local 8 // boolean retryReads
         0: .line 103
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            aload 0 /* this */
            aload 1 /* namespace */
            putfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
         2: .line 107
            aload 0 /* this */
            aload 2 /* documentClass */
            putfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
         3: .line 108
            aload 0 /* this */
            aload 3 /* readPreference */
            putfield com.mongodb.internal.operation.Operations.readPreference:Lcom/mongodb/ReadPreference;
         4: .line 109
            aload 0 /* this */
            aload 4 /* codecRegistry */
            putfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
         5: .line 110
            aload 0 /* this */
            aload 5 /* readConcern */
            putfield com.mongodb.internal.operation.Operations.readConcern:Lcom/mongodb/ReadConcern;
         6: .line 111
            aload 0 /* this */
            aload 6 /* writeConcern */
            putfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
         7: .line 112
            aload 0 /* this */
            iload 7 /* retryWrites */
            putfield com.mongodb.internal.operation.Operations.retryWrites:Z
         8: .line 113
            aload 0 /* this */
            iload 8 /* retryReads */
            putfield com.mongodb.internal.operation.Operations.retryReads:Z
         9: .line 114
            return
        end local 8 // boolean retryReads
        end local 7 // boolean retryWrites
        end local 6 // com.mongodb.WriteConcern writeConcern
        end local 5 // com.mongodb.ReadConcern readConcern
        end local 4 // org.bson.codecs.configuration.CodecRegistry codecRegistry
        end local 3 // com.mongodb.ReadPreference readPreference
        end local 2 // java.lang.Class documentClass
        end local 1 // com.mongodb.MongoNamespace namespace
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   10     1       namespace  Lcom/mongodb/MongoNamespace;
            0   10     2   documentClass  Ljava/lang/Class<TTDocument;>;
            0   10     3  readPreference  Lcom/mongodb/ReadPreference;
            0   10     4   codecRegistry  Lorg/bson/codecs/configuration/CodecRegistry;
            0   10     5     readConcern  Lcom/mongodb/ReadConcern;
            0   10     6    writeConcern  Lcom/mongodb/WriteConcern;
            0   10     7     retryWrites  Z
            0   10     8      retryReads  Z
    Signature: (Lcom/mongodb/MongoNamespace;Ljava/lang/Class<TTDocument;>;Lcom/mongodb/ReadPreference;Lorg/bson/codecs/configuration/CodecRegistry;Lcom/mongodb/ReadConcern;Lcom/mongodb/WriteConcern;ZZ)V
    MethodParameters:
                Name  Flags
      namespace       final
      documentClass   final
      readPreference  final
      codecRegistry   final
      readConcern     final
      writeConcern    final
      retryWrites     final
      retryReads      final

  com.mongodb.operation.CountOperation count(org.bson.conversions.Bson, com.mongodb.client.model.CountOptions, com.mongodb.internal.client.model.CountStrategy);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/CountOptions;Lcom/mongodb/internal/client/model/CountStrategy;)Lcom/mongodb/operation/CountOperation;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // com.mongodb.client.model.CountOptions options
        start local 3 // com.mongodb.internal.client.model.CountStrategy countStrategy
         0: .line 117
            new com.mongodb.operation.CountOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 3 /* countStrategy */
            invokespecial com.mongodb.operation.CountOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/internal/client/model/CountStrategy;)V
         1: .line 118
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.CountOperation.retryReads:(Z)Lcom/mongodb/operation/CountOperation;
         2: .line 119
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.CountOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/CountOperation;
         3: .line 120
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getSkip:()I
            i2l
            invokevirtual com.mongodb.operation.CountOperation.skip:(J)Lcom/mongodb/operation/CountOperation;
         4: .line 121
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getLimit:()I
            i2l
            invokevirtual com.mongodb.operation.CountOperation.limit:(J)Lcom/mongodb/operation/CountOperation;
         5: .line 122
            aload 2 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.CountOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.CountOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/CountOperation;
         6: .line 123
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.CountOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/CountOperation;
         7: .line 117
            astore 4 /* operation */
        start local 4 // com.mongodb.operation.CountOperation operation
         8: .line 124
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getHint:()Lorg/bson/conversions/Bson;
            ifnull 11
         9: .line 125
            aload 4 /* operation */
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getHint:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.CountOperation.hint:(Lorg/bson/BsonValue;)Lcom/mongodb/operation/CountOperation;
            pop
        10: .line 126
            goto 13
      StackMap locals: com.mongodb.operation.CountOperation
      StackMap stack:
        11: aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getHintString:()Ljava/lang/String;
            ifnull 13
        12: .line 127
            aload 4 /* operation */
            new org.bson.BsonString
            dup
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.CountOptions.getHintString:()Ljava/lang/String;
            invokespecial org.bson.BsonString.<init>:(Ljava/lang/String;)V
            invokevirtual com.mongodb.operation.CountOperation.hint:(Lorg/bson/BsonValue;)Lcom/mongodb/operation/CountOperation;
            pop
        13: .line 129
      StackMap locals:
      StackMap stack:
            aload 4 /* operation */
            areturn
        end local 4 // com.mongodb.operation.CountOperation operation
        end local 3 // com.mongodb.internal.client.model.CountStrategy countStrategy
        end local 2 // com.mongodb.client.model.CountOptions options
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   14     1         filter  Lorg/bson/conversions/Bson;
            0   14     2        options  Lcom/mongodb/client/model/CountOptions;
            0   14     3  countStrategy  Lcom/mongodb/internal/client/model/CountStrategy;
            8   14     4      operation  Lcom/mongodb/operation/CountOperation;
    MethodParameters:
               Name  Flags
      filter         final
      options        final
      countStrategy  final

  <TResult> com.mongodb.operation.FindOperation<TResult> findFirst(org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.client.model.FindOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.lang.Class resultClass
        start local 3 // com.mongodb.client.model.FindOptions options
         0: .line 134
            aload 0 /* this */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* filter */
            aload 2 /* resultClass */
            aload 3 /* options */
            invokevirtual com.mongodb.internal.operation.Operations.createFindOperation:(Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
            iconst_0
            invokevirtual com.mongodb.operation.FindOperation.batchSize:(I)Lcom/mongodb/operation/FindOperation;
            iconst_m1
            invokevirtual com.mongodb.operation.FindOperation.limit:(I)Lcom/mongodb/operation/FindOperation;
            areturn
        end local 3 // com.mongodb.client.model.FindOptions options
        end local 2 // java.lang.Class resultClass
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1       filter  Lorg/bson/conversions/Bson;
            0    1     2  resultClass  Ljava/lang/Class<TTResult;>;
            0    1     3      options  Lcom/mongodb/client/model/FindOptions;
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation<TTResult;>;
    MethodParameters:
             Name  Flags
      filter       final
      resultClass  final
      options      final

  <TResult> com.mongodb.operation.FindOperation<TResult> find(org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.client.model.FindOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.lang.Class resultClass
        start local 3 // com.mongodb.client.model.FindOptions options
         0: .line 139
            aload 0 /* this */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* filter */
            aload 2 /* resultClass */
            aload 3 /* options */
            invokevirtual com.mongodb.internal.operation.Operations.createFindOperation:(Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
            areturn
        end local 3 // com.mongodb.client.model.FindOptions options
        end local 2 // java.lang.Class resultClass
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1       filter  Lorg/bson/conversions/Bson;
            0    1     2  resultClass  Ljava/lang/Class<TTResult;>;
            0    1     3      options  Lcom/mongodb/client/model/FindOptions;
    Signature: <TResult:Ljava/lang/Object;>(Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation<TTResult;>;
    MethodParameters:
             Name  Flags
      filter       final
      resultClass  final
      options      final

  <TResult> com.mongodb.operation.FindOperation<TResult> find(com.mongodb.MongoNamespace, org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.client.model.FindOptions);
    descriptor: (Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // com.mongodb.MongoNamespace findNamespace
        start local 2 // org.bson.conversions.Bson filter
        start local 3 // java.lang.Class resultClass
        start local 4 // com.mongodb.client.model.FindOptions options
         0: .line 144
            aload 0 /* this */
            aload 1 /* findNamespace */
            aload 2 /* filter */
            aload 3 /* resultClass */
            aload 4 /* options */
            invokevirtual com.mongodb.internal.operation.Operations.createFindOperation:(Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
            areturn
        end local 4 // com.mongodb.client.model.FindOptions options
        end local 3 // java.lang.Class resultClass
        end local 2 // org.bson.conversions.Bson filter
        end local 1 // com.mongodb.MongoNamespace findNamespace
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1  findNamespace  Lcom/mongodb/MongoNamespace;
            0    1     2         filter  Lorg/bson/conversions/Bson;
            0    1     3    resultClass  Ljava/lang/Class<TTResult;>;
            0    1     4        options  Lcom/mongodb/client/model/FindOptions;
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation<TTResult;>;
    MethodParameters:
               Name  Flags
      findNamespace  final
      filter         final
      resultClass    final
      options        final

  private <TResult> com.mongodb.operation.FindOperation<TResult> createFindOperation(com.mongodb.MongoNamespace, org.bson.conversions.Bson, java.lang.Class<TResult>, com.mongodb.client.model.FindOptions);
    descriptor: (Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // com.mongodb.MongoNamespace findNamespace
        start local 2 // org.bson.conversions.Bson filter
        start local 3 // java.lang.Class resultClass
        start local 4 // com.mongodb.client.model.FindOptions options
         0: .line 150
            new com.mongodb.operation.FindOperation
            dup
            aload 1 /* findNamespace */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 3 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.FindOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/codecs/Decoder;)V
         1: .line 151
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.FindOperation.retryReads:(Z)Lcom/mongodb/operation/FindOperation;
         2: .line 152
            aload 2 /* filter */
            ifnonnull 3
            new org.bson.BsonDocument
            dup
            invokespecial org.bson.BsonDocument.<init>:()V
            goto 4
      StackMap locals:
      StackMap stack: com.mongodb.operation.FindOperation
         3: aload 2 /* filter */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals: com.mongodb.internal.operation.Operations com.mongodb.MongoNamespace org.bson.conversions.Bson java.lang.Class com.mongodb.client.model.FindOptions
      StackMap stack: com.mongodb.operation.FindOperation org.bson.BsonDocument
         4: invokevirtual com.mongodb.operation.FindOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
         5: .line 153
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getBatchSize:()I
            invokevirtual com.mongodb.operation.FindOperation.batchSize:(I)Lcom/mongodb/operation/FindOperation;
         6: .line 154
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getSkip:()I
            invokevirtual com.mongodb.operation.FindOperation.skip:(I)Lcom/mongodb/operation/FindOperation;
         7: .line 155
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getLimit:()I
            invokevirtual com.mongodb.operation.FindOperation.limit:(I)Lcom/mongodb/operation/FindOperation;
         8: .line 156
            aload 4 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindOperation;
         9: .line 157
            aload 4 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOptions.getMaxAwaitTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindOperation.maxAwaitTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindOperation;
        10: .line 158
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getModifiers:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.modifiers:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        11: .line 159
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.projection:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        12: .line 160
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getSort:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        13: .line 161
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getCursorType:()Lcom/mongodb/CursorType;
            invokevirtual com.mongodb.operation.FindOperation.cursorType:(Lcom/mongodb/CursorType;)Lcom/mongodb/operation/FindOperation;
        14: .line 162
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isNoCursorTimeout:()Z
            invokevirtual com.mongodb.operation.FindOperation.noCursorTimeout:(Z)Lcom/mongodb/operation/FindOperation;
        15: .line 163
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isOplogReplay:()Z
            invokevirtual com.mongodb.operation.FindOperation.oplogReplay:(Z)Lcom/mongodb/operation/FindOperation;
        16: .line 164
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isPartial:()Z
            invokevirtual com.mongodb.operation.FindOperation.partial:(Z)Lcom/mongodb/operation/FindOperation;
        17: .line 165
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual com.mongodb.ReadPreference.isSlaveOk:()Z
            invokevirtual com.mongodb.operation.FindOperation.slaveOk:(Z)Lcom/mongodb/operation/FindOperation;
        18: .line 166
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.FindOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/FindOperation;
        19: .line 167
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getComment:()Ljava/lang/String;
            invokevirtual com.mongodb.operation.FindOperation.comment:(Ljava/lang/String;)Lcom/mongodb/operation/FindOperation;
        20: .line 168
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getHint:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.hint:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        21: .line 169
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getMin:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.min:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        22: .line 170
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getMax:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.max:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindOperation;
        23: .line 171
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getMaxScan:()J
            invokevirtual com.mongodb.operation.FindOperation.maxScan:(J)Lcom/mongodb/operation/FindOperation;
        24: .line 172
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isReturnKey:()Z
            invokevirtual com.mongodb.operation.FindOperation.returnKey:(Z)Lcom/mongodb/operation/FindOperation;
        25: .line 173
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isShowRecordId:()Z
            invokevirtual com.mongodb.operation.FindOperation.showRecordId:(Z)Lcom/mongodb/operation/FindOperation;
        26: .line 174
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isSnapshot:()Z
            invokevirtual com.mongodb.operation.FindOperation.snapshot:(Z)Lcom/mongodb/operation/FindOperation;
        27: .line 150
            areturn
        end local 4 // com.mongodb.client.model.FindOptions options
        end local 3 // java.lang.Class resultClass
        end local 2 // org.bson.conversions.Bson filter
        end local 1 // com.mongodb.MongoNamespace findNamespace
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   28     1  findNamespace  Lcom/mongodb/MongoNamespace;
            0   28     2         filter  Lorg/bson/conversions/Bson;
            0   28     3    resultClass  Ljava/lang/Class<TTResult;>;
            0   28     4        options  Lcom/mongodb/client/model/FindOptions;
    Signature: <TResult:Ljava/lang/Object;>(Lcom/mongodb/MongoNamespace;Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;Lcom/mongodb/client/model/FindOptions;)Lcom/mongodb/operation/FindOperation<TTResult;>;
    MethodParameters:
               Name  Flags
      findNamespace  final
      filter         final
      resultClass    final
      options        final

  <TResult> com.mongodb.operation.DistinctOperation<TResult> distinct(java.lang.String, org.bson.conversions.Bson, java.lang.Class<TResult>, long, com.mongodb.client.model.Collation);
    descriptor: (Ljava/lang/String;Lorg/bson/conversions/Bson;Ljava/lang/Class;JLcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/DistinctOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.String fieldName
        start local 2 // org.bson.conversions.Bson filter
        start local 3 // java.lang.Class resultClass
        start local 4 // long maxTimeMS
        start local 6 // com.mongodb.client.model.Collation collation
         0: .line 180
            new com.mongodb.operation.DistinctOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* fieldName */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 3 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.DistinctOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/lang/String;Lorg/bson/codecs/Decoder;)V
         1: .line 181
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.DistinctOperation.retryReads:(Z)Lcom/mongodb/operation/DistinctOperation;
         2: .line 182
            aload 2 /* filter */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack: com.mongodb.operation.DistinctOperation
         3: aload 2 /* filter */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals: com.mongodb.internal.operation.Operations java.lang.String org.bson.conversions.Bson java.lang.Class long com.mongodb.client.model.Collation
      StackMap stack: com.mongodb.operation.DistinctOperation org.bson.BsonDocument
         4: invokevirtual com.mongodb.operation.DistinctOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/DistinctOperation;
         5: .line 183
            lload 4 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.DistinctOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/DistinctOperation;
         6: .line 184
            aload 6 /* collation */
            invokevirtual com.mongodb.operation.DistinctOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/DistinctOperation;
         7: .line 180
            areturn
        end local 6 // com.mongodb.client.model.Collation collation
        end local 4 // long maxTimeMS
        end local 3 // java.lang.Class resultClass
        end local 2 // org.bson.conversions.Bson filter
        end local 1 // java.lang.String fieldName
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    8     1    fieldName  Ljava/lang/String;
            0    8     2       filter  Lorg/bson/conversions/Bson;
            0    8     3  resultClass  Ljava/lang/Class<TTResult;>;
            0    8     4    maxTimeMS  J
            0    8     6    collation  Lcom/mongodb/client/model/Collation;
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/String;Lorg/bson/conversions/Bson;Ljava/lang/Class<TTResult;>;JLcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/DistinctOperation<TTResult;>;
    MethodParameters:
             Name  Flags
      fieldName    final
      filter       final
      resultClass  final
      maxTimeMS    final
      collation    final

  <TResult> com.mongodb.operation.AggregateOperation<TResult> aggregate(java.util.List<? extends org.bson.conversions.Bson>, java.lang.Class<TResult>, long, long, java.lang.Integer, com.mongodb.client.model.Collation, org.bson.conversions.Bson, java.lang.String, java.lang.Boolean, java.lang.Boolean, com.mongodb.client.model.AggregationLevel);
    descriptor: (Ljava/util/List;Ljava/lang/Class;JJLjava/lang/Integer;Lcom/mongodb/client/model/Collation;Lorg/bson/conversions/Bson;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lcom/mongodb/client/model/AggregationLevel;)Lcom/mongodb/operation/AggregateOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=12
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List pipeline
        start local 2 // java.lang.Class resultClass
        start local 3 // long maxTimeMS
        start local 5 // long maxAwaitTimeMS
        start local 7 // java.lang.Integer batchSize
        start local 8 // com.mongodb.client.model.Collation collation
        start local 9 // org.bson.conversions.Bson hint
        start local 10 // java.lang.String comment
        start local 11 // java.lang.Boolean allowDiskUse
        start local 12 // java.lang.Boolean useCursor
        start local 13 // com.mongodb.client.model.AggregationLevel aggregationLevel
         0: .line 194
            new com.mongodb.operation.AggregateOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            aload 1 /* pipeline */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 2 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            aload 13 /* aggregationLevel */
            invokespecial com.mongodb.operation.AggregateOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;Lorg/bson/codecs/Decoder;Lcom/mongodb/client/model/AggregationLevel;)V
         1: .line 195
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.AggregateOperation.retryReads:(Z)Lcom/mongodb/operation/AggregateOperation;
         2: .line 196
            lload 3 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.AggregateOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/AggregateOperation;
         3: .line 197
            lload 5 /* maxAwaitTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.AggregateOperation.maxAwaitTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/AggregateOperation;
         4: .line 198
            aload 11 /* allowDiskUse */
            invokevirtual com.mongodb.operation.AggregateOperation.allowDiskUse:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateOperation;
         5: .line 199
            aload 7 /* batchSize */
            invokevirtual com.mongodb.operation.AggregateOperation.batchSize:(Ljava/lang/Integer;)Lcom/mongodb/operation/AggregateOperation;
         6: .line 200
            aload 12 /* useCursor */
            invokevirtual com.mongodb.operation.AggregateOperation.useCursor:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateOperation;
         7: .line 201
            aload 8 /* collation */
            invokevirtual com.mongodb.operation.AggregateOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/AggregateOperation;
         8: .line 202
            aload 9 /* hint */
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals:
      StackMap stack: com.mongodb.operation.AggregateOperation
         9: aload 9 /* hint */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List java.lang.Class long long java.lang.Integer com.mongodb.client.model.Collation org.bson.conversions.Bson java.lang.String java.lang.Boolean java.lang.Boolean com.mongodb.client.model.AggregationLevel
      StackMap stack: com.mongodb.operation.AggregateOperation org.bson.BsonDocument
        10: invokevirtual com.mongodb.operation.AggregateOperation.hint:(Lorg/bson/BsonValue;)Lcom/mongodb/operation/AggregateOperation;
        11: .line 203
            aload 10 /* comment */
            invokevirtual com.mongodb.operation.AggregateOperation.comment:(Ljava/lang/String;)Lcom/mongodb/operation/AggregateOperation;
        12: .line 194
            areturn
        end local 13 // com.mongodb.client.model.AggregationLevel aggregationLevel
        end local 12 // java.lang.Boolean useCursor
        end local 11 // java.lang.Boolean allowDiskUse
        end local 10 // java.lang.String comment
        end local 9 // org.bson.conversions.Bson hint
        end local 8 // com.mongodb.client.model.Collation collation
        end local 7 // java.lang.Integer batchSize
        end local 5 // long maxAwaitTimeMS
        end local 3 // long maxTimeMS
        end local 2 // java.lang.Class resultClass
        end local 1 // java.util.List pipeline
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   13     1          pipeline  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            0   13     2       resultClass  Ljava/lang/Class<TTResult;>;
            0   13     3         maxTimeMS  J
            0   13     5    maxAwaitTimeMS  J
            0   13     7         batchSize  Ljava/lang/Integer;
            0   13     8         collation  Lcom/mongodb/client/model/Collation;
            0   13     9              hint  Lorg/bson/conversions/Bson;
            0   13    10           comment  Ljava/lang/String;
            0   13    11      allowDiskUse  Ljava/lang/Boolean;
            0   13    12         useCursor  Ljava/lang/Boolean;
            0   13    13  aggregationLevel  Lcom/mongodb/client/model/AggregationLevel;
    Signature: <TResult:Ljava/lang/Object;>(Ljava/util/List<+Lorg/bson/conversions/Bson;>;Ljava/lang/Class<TTResult;>;JJLjava/lang/Integer;Lcom/mongodb/client/model/Collation;Lorg/bson/conversions/Bson;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lcom/mongodb/client/model/AggregationLevel;)Lcom/mongodb/operation/AggregateOperation<TTResult;>;
    MethodParameters:
                  Name  Flags
      pipeline          final
      resultClass       final
      maxTimeMS         final
      maxAwaitTimeMS    final
      batchSize         final
      collation         final
      hint              final
      comment           final
      allowDiskUse      final
      useCursor         final
      aggregationLevel  final

  com.mongodb.operation.AggregateToCollectionOperation aggregateToCollection(java.util.List<? extends org.bson.conversions.Bson>, long, java.lang.Boolean, java.lang.Boolean, com.mongodb.client.model.Collation, org.bson.conversions.Bson, java.lang.String, com.mongodb.client.model.AggregationLevel);
    descriptor: (Ljava/util/List;JLjava/lang/Boolean;Ljava/lang/Boolean;Lcom/mongodb/client/model/Collation;Lorg/bson/conversions/Bson;Ljava/lang/String;Lcom/mongodb/client/model/AggregationLevel;)Lcom/mongodb/operation/AggregateToCollectionOperation;
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=9
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List pipeline
        start local 2 // long maxTimeMS
        start local 4 // java.lang.Boolean allowDiskUse
        start local 5 // java.lang.Boolean bypassDocumentValidation
        start local 6 // com.mongodb.client.model.Collation collation
        start local 7 // org.bson.conversions.Bson hint
        start local 8 // java.lang.String comment
        start local 9 // com.mongodb.client.model.AggregationLevel aggregationLevel
         0: .line 211
            new com.mongodb.operation.AggregateToCollectionOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            aload 1 /* pipeline */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.readConcern:Lcom/mongodb/ReadConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 9 /* aggregationLevel */
            invokespecial com.mongodb.operation.AggregateToCollectionOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;Lcom/mongodb/ReadConcern;Lcom/mongodb/WriteConcern;Lcom/mongodb/client/model/AggregationLevel;)V
         1: .line 212
            lload 2 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         2: .line 213
            aload 4 /* allowDiskUse */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.allowDiskUse:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         3: .line 214
            aload 5 /* bypassDocumentValidation */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         4: .line 215
            aload 6 /* collation */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         5: .line 216
            aload 7 /* hint */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals:
      StackMap stack: com.mongodb.operation.AggregateToCollectionOperation
         6: aload 7 /* hint */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List long java.lang.Boolean java.lang.Boolean com.mongodb.client.model.Collation org.bson.conversions.Bson java.lang.String com.mongodb.client.model.AggregationLevel
      StackMap stack: com.mongodb.operation.AggregateToCollectionOperation org.bson.BsonDocument
         7: invokevirtual com.mongodb.operation.AggregateToCollectionOperation.hint:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         8: .line 217
            aload 8 /* comment */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.comment:(Ljava/lang/String;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         9: .line 211
            areturn
        end local 9 // com.mongodb.client.model.AggregationLevel aggregationLevel
        end local 8 // java.lang.String comment
        end local 7 // org.bson.conversions.Bson hint
        end local 6 // com.mongodb.client.model.Collation collation
        end local 5 // java.lang.Boolean bypassDocumentValidation
        end local 4 // java.lang.Boolean allowDiskUse
        end local 2 // long maxTimeMS
        end local 1 // java.util.List pipeline
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   10     0                      this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   10     1                  pipeline  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            0   10     2                 maxTimeMS  J
            0   10     4              allowDiskUse  Ljava/lang/Boolean;
            0   10     5  bypassDocumentValidation  Ljava/lang/Boolean;
            0   10     6                 collation  Lcom/mongodb/client/model/Collation;
            0   10     7                      hint  Lorg/bson/conversions/Bson;
            0   10     8                   comment  Ljava/lang/String;
            0   10     9          aggregationLevel  Lcom/mongodb/client/model/AggregationLevel;
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;JLjava/lang/Boolean;Ljava/lang/Boolean;Lcom/mongodb/client/model/Collation;Lorg/bson/conversions/Bson;Ljava/lang/String;Lcom/mongodb/client/model/AggregationLevel;)Lcom/mongodb/operation/AggregateToCollectionOperation;
    MethodParameters:
                          Name  Flags
      pipeline                  final
      maxTimeMS                 final
      allowDiskUse              final
      bypassDocumentValidation  final
      collation                 final
      hint                      final
      comment                   final
      aggregationLevel          final

  com.mongodb.operation.MapReduceToCollectionOperation mapReduceToCollection(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, org.bson.conversions.Bson, int, long, boolean, org.bson.conversions.Bson, org.bson.conversions.Bson, boolean, com.mongodb.client.model.MapReduceAction, boolean, boolean, java.lang.Boolean, com.mongodb.client.model.Collation);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/bson/conversions/Bson;IJZLorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;ZLcom/mongodb/client/model/MapReduceAction;ZZLjava/lang/Boolean;Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
    flags: (0x0000) 
    Code:
      stack=7, locals=20, args_size=18
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.String databaseName
        start local 2 // java.lang.String collectionName
        start local 3 // java.lang.String mapFunction
        start local 4 // java.lang.String reduceFunction
        start local 5 // java.lang.String finalizeFunction
        start local 6 // org.bson.conversions.Bson filter
        start local 7 // int limit
        start local 8 // long maxTimeMS
        start local 10 // boolean jsMode
        start local 11 // org.bson.conversions.Bson scope
        start local 12 // org.bson.conversions.Bson sort
        start local 13 // boolean verbose
        start local 14 // com.mongodb.client.model.MapReduceAction action
        start local 15 // boolean nonAtomic
        start local 16 // boolean sharded
        start local 17 // java.lang.Boolean bypassDocumentValidation
        start local 18 // com.mongodb.client.model.Collation collation
         0: .line 227
            new com.mongodb.operation.MapReduceToCollectionOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            new org.bson.BsonJavaScript
            dup
            aload 3 /* mapFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
         1: .line 228
            new org.bson.BsonJavaScript
            dup
            aload 4 /* reduceFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
            aload 2 /* collectionName */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
         2: .line 227
            invokespecial com.mongodb.operation.MapReduceToCollectionOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/BsonJavaScript;Lorg/bson/BsonJavaScript;Ljava/lang/String;Lcom/mongodb/WriteConcern;)V
         3: .line 229
            aload 0 /* this */
            aload 6 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         4: .line 230
            iload 7 /* limit */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.limit:(I)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         5: .line 231
            lload 8 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         6: .line 232
            iload 10 /* jsMode */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.jsMode:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         7: .line 233
            aload 0 /* this */
            aload 11 /* scope */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.scope:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         8: .line 234
            aload 0 /* this */
            aload 12 /* sort */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         9: .line 235
            iload 13 /* verbose */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.verbose:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        10: .line 236
            aload 14 /* action */
            invokevirtual com.mongodb.client.model.MapReduceAction.getValue:()Ljava/lang/String;
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.action:(Ljava/lang/String;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        11: .line 237
            iload 15 /* nonAtomic */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.nonAtomic:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        12: .line 238
            iload 16 /* sharded */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.sharded:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        13: .line 239
            aload 1 /* databaseName */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.databaseName:(Ljava/lang/String;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        14: .line 240
            aload 17 /* bypassDocumentValidation */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        15: .line 241
            aload 18 /* collation */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        16: .line 227
            astore 19 /* operation */
        start local 19 // com.mongodb.operation.MapReduceToCollectionOperation operation
        17: .line 243
            aload 5 /* finalizeFunction */
            ifnull 19
        18: .line 244
            aload 19 /* operation */
            new org.bson.BsonJavaScript
            dup
            aload 5 /* finalizeFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.finalizeFunction:(Lorg/bson/BsonJavaScript;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
            pop
        19: .line 246
      StackMap locals: com.mongodb.operation.MapReduceToCollectionOperation
      StackMap stack:
            aload 19 /* operation */
            areturn
        end local 19 // com.mongodb.operation.MapReduceToCollectionOperation operation
        end local 18 // com.mongodb.client.model.Collation collation
        end local 17 // java.lang.Boolean bypassDocumentValidation
        end local 16 // boolean sharded
        end local 15 // boolean nonAtomic
        end local 14 // com.mongodb.client.model.MapReduceAction action
        end local 13 // boolean verbose
        end local 12 // org.bson.conversions.Bson sort
        end local 11 // org.bson.conversions.Bson scope
        end local 10 // boolean jsMode
        end local 8 // long maxTimeMS
        end local 7 // int limit
        end local 6 // org.bson.conversions.Bson filter
        end local 5 // java.lang.String finalizeFunction
        end local 4 // java.lang.String reduceFunction
        end local 3 // java.lang.String mapFunction
        end local 2 // java.lang.String collectionName
        end local 1 // java.lang.String databaseName
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   20     0                      this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   20     1              databaseName  Ljava/lang/String;
            0   20     2            collectionName  Ljava/lang/String;
            0   20     3               mapFunction  Ljava/lang/String;
            0   20     4            reduceFunction  Ljava/lang/String;
            0   20     5          finalizeFunction  Ljava/lang/String;
            0   20     6                    filter  Lorg/bson/conversions/Bson;
            0   20     7                     limit  I
            0   20     8                 maxTimeMS  J
            0   20    10                    jsMode  Z
            0   20    11                     scope  Lorg/bson/conversions/Bson;
            0   20    12                      sort  Lorg/bson/conversions/Bson;
            0   20    13                   verbose  Z
            0   20    14                    action  Lcom/mongodb/client/model/MapReduceAction;
            0   20    15                 nonAtomic  Z
            0   20    16                   sharded  Z
            0   20    17  bypassDocumentValidation  Ljava/lang/Boolean;
            0   20    18                 collation  Lcom/mongodb/client/model/Collation;
           17   20    19                 operation  Lcom/mongodb/operation/MapReduceToCollectionOperation;
    MethodParameters:
                          Name  Flags
      databaseName              final
      collectionName            final
      mapFunction               final
      reduceFunction            final
      finalizeFunction          final
      filter                    final
      limit                     final
      maxTimeMS                 final
      jsMode                    final
      scope                     final
      sort                      final
      verbose                   final
      action                    final
      nonAtomic                 final
      sharded                   final
      bypassDocumentValidation  final
      collation                 final

  <TResult> com.mongodb.operation.MapReduceWithInlineResultsOperation<TResult> mapReduce(java.lang.String, java.lang.String, java.lang.String, java.lang.Class<TResult>, org.bson.conversions.Bson, int, long, boolean, org.bson.conversions.Bson, org.bson.conversions.Bson, boolean, com.mongodb.client.model.Collation);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Lorg/bson/conversions/Bson;IJZLorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;ZLcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
    flags: (0x0000) 
    Code:
      stack=7, locals=15, args_size=13
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.String mapFunction
        start local 2 // java.lang.String reduceFunction
        start local 3 // java.lang.String finalizeFunction
        start local 4 // java.lang.Class resultClass
        start local 5 // org.bson.conversions.Bson filter
        start local 6 // int limit
        start local 7 // long maxTimeMS
        start local 9 // boolean jsMode
        start local 10 // org.bson.conversions.Bson scope
        start local 11 // org.bson.conversions.Bson sort
        start local 12 // boolean verbose
        start local 13 // com.mongodb.client.model.Collation collation
         0: .line 256
            new com.mongodb.operation.MapReduceWithInlineResultsOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
         1: .line 257
            new org.bson.BsonJavaScript
            dup
            aload 1 /* mapFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
         2: .line 258
            new org.bson.BsonJavaScript
            dup
            aload 2 /* reduceFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
         3: .line 259
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 4 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
         4: .line 256
            invokespecial com.mongodb.operation.MapReduceWithInlineResultsOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/BsonJavaScript;Lorg/bson/BsonJavaScript;Lorg/bson/codecs/Decoder;)V
         5: .line 260
            aload 0 /* this */
            aload 5 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         6: .line 261
            iload 6 /* limit */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.limit:(I)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         7: .line 262
            lload 7 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         8: .line 263
            iload 9 /* jsMode */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.jsMode:(Z)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         9: .line 264
            aload 0 /* this */
            aload 10 /* scope */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.scope:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        10: .line 265
            aload 0 /* this */
            aload 11 /* sort */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        11: .line 266
            iload 12 /* verbose */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.verbose:(Z)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        12: .line 267
            aload 13 /* collation */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        13: .line 255
            astore 14 /* operation */
        start local 14 // com.mongodb.operation.MapReduceWithInlineResultsOperation operation
        14: .line 268
            aload 3 /* finalizeFunction */
            ifnull 16
        15: .line 269
            aload 14 /* operation */
            new org.bson.BsonJavaScript
            dup
            aload 3 /* finalizeFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.finalizeFunction:(Lorg/bson/BsonJavaScript;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
            pop
        16: .line 271
      StackMap locals: com.mongodb.operation.MapReduceWithInlineResultsOperation
      StackMap stack:
            aload 14 /* operation */
            areturn
        end local 14 // com.mongodb.operation.MapReduceWithInlineResultsOperation operation
        end local 13 // com.mongodb.client.model.Collation collation
        end local 12 // boolean verbose
        end local 11 // org.bson.conversions.Bson sort
        end local 10 // org.bson.conversions.Bson scope
        end local 9 // boolean jsMode
        end local 7 // long maxTimeMS
        end local 6 // int limit
        end local 5 // org.bson.conversions.Bson filter
        end local 4 // java.lang.Class resultClass
        end local 3 // java.lang.String finalizeFunction
        end local 2 // java.lang.String reduceFunction
        end local 1 // java.lang.String mapFunction
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   17     1       mapFunction  Ljava/lang/String;
            0   17     2    reduceFunction  Ljava/lang/String;
            0   17     3  finalizeFunction  Ljava/lang/String;
            0   17     4       resultClass  Ljava/lang/Class<TTResult;>;
            0   17     5            filter  Lorg/bson/conversions/Bson;
            0   17     6             limit  I
            0   17     7         maxTimeMS  J
            0   17     9            jsMode  Z
            0   17    10             scope  Lorg/bson/conversions/Bson;
            0   17    11              sort  Lorg/bson/conversions/Bson;
            0   17    12           verbose  Z
            0   17    13         collation  Lcom/mongodb/client/model/Collation;
           14   17    14         operation  Lcom/mongodb/operation/MapReduceWithInlineResultsOperation<TTResult;>;
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<TTResult;>;Lorg/bson/conversions/Bson;IJZLorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;ZLcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation<TTResult;>;
    MethodParameters:
                  Name  Flags
      mapFunction       final
      reduceFunction    final
      finalizeFunction  final
      resultClass       final
      filter            final
      limit             final
      maxTimeMS         final
      jsMode            final
      scope             final
      sort              final
      verbose           final
      collation         final

  com.mongodb.operation.FindAndDeleteOperation<TDocument> findOneAndDelete(org.bson.conversions.Bson, com.mongodb.client.model.FindOneAndDeleteOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/FindOneAndDeleteOptions;)Lcom/mongodb/operation/FindAndDeleteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // com.mongodb.client.model.FindOneAndDeleteOptions options
         0: .line 275
            new com.mongodb.operation.FindAndDeleteOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.FindAndDeleteOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;)V
         1: .line 276
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndDeleteOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndDeleteOperation;
         2: .line 277
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndDeleteOptions.getProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndDeleteOperation.projection:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndDeleteOperation;
         3: .line 278
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndDeleteOptions.getSort:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndDeleteOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndDeleteOperation;
         4: .line 279
            aload 2 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOneAndDeleteOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindAndDeleteOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindAndDeleteOperation;
         5: .line 280
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndDeleteOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.FindAndDeleteOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/FindAndDeleteOperation;
         6: .line 275
            areturn
        end local 2 // com.mongodb.client.model.FindOneAndDeleteOptions options
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    7     1   filter  Lorg/bson/conversions/Bson;
            0    7     2  options  Lcom/mongodb/client/model/FindOneAndDeleteOptions;
    Signature: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/FindOneAndDeleteOptions;)Lcom/mongodb/operation/FindAndDeleteOperation<TTDocument;>;
    MethodParameters:
         Name  Flags
      filter   final
      options  final

  com.mongodb.operation.FindAndReplaceOperation<TDocument> findOneAndReplace(org.bson.conversions.Bson, TDocument, com.mongodb.client.model.FindOneAndReplaceOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Object;Lcom/mongodb/client/model/FindOneAndReplaceOptions;)Lcom/mongodb/operation/FindAndReplaceOperation;
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.lang.Object replacement
        start local 3 // com.mongodb.client.model.FindOneAndReplaceOptions options
         0: .line 285
            new com.mongodb.operation.FindAndReplaceOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
         1: .line 286
            aload 0 /* this */
            aload 2 /* replacement */
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
         2: .line 285
            invokespecial com.mongodb.operation.FindAndReplaceOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;Lorg/bson/BsonDocument;)V
         3: .line 287
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndReplaceOperation;
         4: .line 288
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.projection:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndReplaceOperation;
         5: .line 289
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getSort:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndReplaceOperation;
         6: .line 290
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getReturnDocument:()Lcom/mongodb/client/model/ReturnDocument;
            getstatic com.mongodb.client.model.ReturnDocument.BEFORE:Lcom/mongodb/client/model/ReturnDocument;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: com.mongodb.operation.FindAndReplaceOperation
         7: iconst_0
      StackMap locals: com.mongodb.internal.operation.Operations org.bson.conversions.Bson java.lang.Object com.mongodb.client.model.FindOneAndReplaceOptions
      StackMap stack: com.mongodb.operation.FindAndReplaceOperation int
         8: invokevirtual com.mongodb.operation.FindAndReplaceOperation.returnOriginal:(Z)Lcom/mongodb/operation/FindAndReplaceOperation;
         9: .line 291
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.upsert:(Z)Lcom/mongodb/operation/FindAndReplaceOperation;
        10: .line 292
            aload 3 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindAndReplaceOperation;
        11: .line 293
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/FindAndReplaceOperation;
        12: .line 294
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/FindAndReplaceOperation;
        13: .line 285
            areturn
        end local 3 // com.mongodb.client.model.FindOneAndReplaceOptions options
        end local 2 // java.lang.Object replacement
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   14     1       filter  Lorg/bson/conversions/Bson;
            0   14     2  replacement  TTDocument;
            0   14     3      options  Lcom/mongodb/client/model/FindOneAndReplaceOptions;
    Signature: (Lorg/bson/conversions/Bson;TTDocument;Lcom/mongodb/client/model/FindOneAndReplaceOptions;)Lcom/mongodb/operation/FindAndReplaceOperation<TTDocument;>;
    MethodParameters:
             Name  Flags
      filter       final
      replacement  final
      options      final

  com.mongodb.operation.FindAndUpdateOperation<TDocument> findOneAndUpdate(org.bson.conversions.Bson, org.bson.conversions.Bson, com.mongodb.client.model.FindOneAndUpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/FindOneAndUpdateOptions;)Lcom/mongodb/operation/FindAndUpdateOperation;
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // org.bson.conversions.Bson update
        start local 3 // com.mongodb.client.model.FindOneAndUpdateOptions options
         0: .line 298
            new com.mongodb.operation.FindAndUpdateOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
         1: .line 299
            aload 0 /* this */
            aload 2 /* update */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
         2: .line 298
            invokespecial com.mongodb.operation.FindAndUpdateOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;Lorg/bson/BsonDocument;)V
         3: .line 300
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         4: .line 301
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.projection:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         5: .line 302
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getSort:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         6: .line 303
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getReturnDocument:()Lcom/mongodb/client/model/ReturnDocument;
            getstatic com.mongodb.client.model.ReturnDocument.BEFORE:Lcom/mongodb/client/model/ReturnDocument;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: com.mongodb.operation.FindAndUpdateOperation
         7: iconst_0
      StackMap locals: com.mongodb.internal.operation.Operations org.bson.conversions.Bson org.bson.conversions.Bson com.mongodb.client.model.FindOneAndUpdateOptions
      StackMap stack: com.mongodb.operation.FindAndUpdateOperation int
         8: invokevirtual com.mongodb.operation.FindAndUpdateOperation.returnOriginal:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
         9: .line 304
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.upsert:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
        10: .line 305
            aload 3 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindAndUpdateOperation;
        11: .line 306
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/FindAndUpdateOperation;
        12: .line 307
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/FindAndUpdateOperation;
        13: .line 308
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getArrayFilters:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.arrayFilters:(Ljava/util/List;)Lcom/mongodb/operation/FindAndUpdateOperation;
        14: .line 298
            areturn
        end local 3 // com.mongodb.client.model.FindOneAndUpdateOptions options
        end local 2 // org.bson.conversions.Bson update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   15     1   filter  Lorg/bson/conversions/Bson;
            0   15     2   update  Lorg/bson/conversions/Bson;
            0   15     3  options  Lcom/mongodb/client/model/FindOneAndUpdateOptions;
    Signature: (Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/FindOneAndUpdateOptions;)Lcom/mongodb/operation/FindAndUpdateOperation<TTDocument;>;
    MethodParameters:
         Name  Flags
      filter   final
      update   final
      options  final

  com.mongodb.operation.FindAndUpdateOperation<TDocument> findOneAndUpdate(org.bson.conversions.Bson, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.FindOneAndUpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/util/List;Lcom/mongodb/client/model/FindOneAndUpdateOptions;)Lcom/mongodb/operation/FindAndUpdateOperation;
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.util.List update
        start local 3 // com.mongodb.client.model.FindOneAndUpdateOptions options
         0: .line 313
            new com.mongodb.operation.FindAndUpdateOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            aload 0 /* this */
            aload 2 /* update */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokespecial com.mongodb.operation.FindAndUpdateOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;Ljava/util/List;)V
         1: .line 314
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         2: .line 315
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.projection:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         3: .line 316
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getSort:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.sort:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/FindAndUpdateOperation;
         4: .line 317
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getReturnDocument:()Lcom/mongodb/client/model/ReturnDocument;
            getstatic com.mongodb.client.model.ReturnDocument.BEFORE:Lcom/mongodb/client/model/ReturnDocument;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: com.mongodb.operation.FindAndUpdateOperation
         5: iconst_0
      StackMap locals: com.mongodb.internal.operation.Operations org.bson.conversions.Bson java.util.List com.mongodb.client.model.FindOneAndUpdateOptions
      StackMap stack: com.mongodb.operation.FindAndUpdateOperation int
         6: invokevirtual com.mongodb.operation.FindAndUpdateOperation.returnOriginal:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
         7: .line 318
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.upsert:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
         8: .line 319
            aload 3 /* options */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/FindAndUpdateOperation;
         9: .line 320
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/FindAndUpdateOperation;
        10: .line 321
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/FindAndUpdateOperation;
        11: .line 322
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.getArrayFilters:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.arrayFilters:(Ljava/util/List;)Lcom/mongodb/operation/FindAndUpdateOperation;
        12: .line 313
            areturn
        end local 3 // com.mongodb.client.model.FindOneAndUpdateOptions options
        end local 2 // java.util.List update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   13     1   filter  Lorg/bson/conversions/Bson;
            0   13     2   update  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            0   13     3  options  Lcom/mongodb/client/model/FindOneAndUpdateOptions;
    Signature: (Lorg/bson/conversions/Bson;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/FindOneAndUpdateOptions;)Lcom/mongodb/operation/FindAndUpdateOperation<TTDocument;>;
    MethodParameters:
         Name  Flags
      filter   final
      update   final
      options  final

  com.mongodb.operation.MixedBulkWriteOperation insertOne(TDocument, com.mongodb.client.model.InsertOneOptions);
    descriptor: (Ljava/lang/Object;Lcom/mongodb/client/model/InsertOneOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.Object document
        start local 2 // com.mongodb.client.model.InsertOneOptions options
         0: .line 327
            aload 0 /* this */
            new com.mongodb.client.model.InsertOneModel
            dup
            aload 1 /* document */
            invokespecial com.mongodb.client.model.InsertOneModel.<init>:(Ljava/lang/Object;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 328
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.InsertOneOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 327
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 2 // com.mongodb.client.model.InsertOneOptions options
        end local 1 // java.lang.Object document
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1  document  TTDocument;
            0    3     2   options  Lcom/mongodb/client/model/InsertOneOptions;
    Signature: (TTDocument;Lcom/mongodb/client/model/InsertOneOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
          Name  Flags
      document  final
      options   final

  com.mongodb.operation.MixedBulkWriteOperation replaceOne(org.bson.conversions.Bson, TDocument, com.mongodb.client.model.ReplaceOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/lang/Object;Lcom/mongodb/client/model/ReplaceOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.lang.Object replacement
        start local 3 // com.mongodb.client.model.ReplaceOptions options
         0: .line 333
            aload 0 /* this */
            new com.mongodb.client.model.ReplaceOneModel
            dup
            aload 1 /* filter */
            aload 2 /* replacement */
            aload 3 /* options */
            invokespecial com.mongodb.client.model.ReplaceOneModel.<init>:(Lorg/bson/conversions/Bson;Ljava/lang/Object;Lcom/mongodb/client/model/ReplaceOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 334
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.ReplaceOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 333
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 3 // com.mongodb.client.model.ReplaceOptions options
        end local 2 // java.lang.Object replacement
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1       filter  Lorg/bson/conversions/Bson;
            0    3     2  replacement  TTDocument;
            0    3     3      options  Lcom/mongodb/client/model/ReplaceOptions;
    Signature: (Lorg/bson/conversions/Bson;TTDocument;Lcom/mongodb/client/model/ReplaceOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
             Name  Flags
      filter       final
      replacement  final
      options      final

  com.mongodb.operation.MixedBulkWriteOperation deleteOne(org.bson.conversions.Bson, com.mongodb.client.model.DeleteOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/DeleteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // com.mongodb.client.model.DeleteOptions options
         0: .line 338
            aload 0 /* this */
            new com.mongodb.client.model.DeleteOneModel
            dup
            aload 1 /* filter */
            aload 2 /* options */
            invokespecial com.mongodb.client.model.DeleteOneModel.<init>:(Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/DeleteOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 2 // com.mongodb.client.model.DeleteOptions options
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1   filter  Lorg/bson/conversions/Bson;
            0    1     2  options  Lcom/mongodb/client/model/DeleteOptions;
    MethodParameters:
         Name  Flags
      filter   final
      options  final

  com.mongodb.operation.MixedBulkWriteOperation deleteMany(org.bson.conversions.Bson, com.mongodb.client.model.DeleteOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/DeleteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // com.mongodb.client.model.DeleteOptions options
         0: .line 342
            aload 0 /* this */
            new com.mongodb.client.model.DeleteManyModel
            dup
            aload 1 /* filter */
            aload 2 /* options */
            invokespecial com.mongodb.client.model.DeleteManyModel.<init>:(Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/DeleteOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 2 // com.mongodb.client.model.DeleteOptions options
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1   filter  Lorg/bson/conversions/Bson;
            0    1     2  options  Lcom/mongodb/client/model/DeleteOptions;
    MethodParameters:
         Name  Flags
      filter   final
      options  final

  com.mongodb.operation.MixedBulkWriteOperation updateOne(org.bson.conversions.Bson, org.bson.conversions.Bson, com.mongodb.client.model.UpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // org.bson.conversions.Bson update
        start local 3 // com.mongodb.client.model.UpdateOptions updateOptions
         0: .line 346
            aload 0 /* this */
            new com.mongodb.client.model.UpdateOneModel
            dup
            aload 1 /* filter */
            aload 2 /* update */
            aload 3 /* updateOptions */
            invokespecial com.mongodb.client.model.UpdateOneModel.<init>:(Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/UpdateOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 347
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 3 /* updateOptions */
            invokevirtual com.mongodb.client.model.UpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 346
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 3 // com.mongodb.client.model.UpdateOptions updateOptions
        end local 2 // org.bson.conversions.Bson update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1         filter  Lorg/bson/conversions/Bson;
            0    3     2         update  Lorg/bson/conversions/Bson;
            0    3     3  updateOptions  Lcom/mongodb/client/model/UpdateOptions;
    MethodParameters:
               Name  Flags
      filter         final
      update         final
      updateOptions  final

  com.mongodb.operation.MixedBulkWriteOperation updateOne(org.bson.conversions.Bson, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.UpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/util/List;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.util.List update
        start local 3 // com.mongodb.client.model.UpdateOptions updateOptions
         0: .line 351
            aload 0 /* this */
            new com.mongodb.client.model.UpdateOneModel
            dup
            aload 1 /* filter */
            aload 2 /* update */
            aload 3 /* updateOptions */
            invokespecial com.mongodb.client.model.UpdateOneModel.<init>:(Lorg/bson/conversions/Bson;Ljava/util/List;Lcom/mongodb/client/model/UpdateOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 352
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 3 /* updateOptions */
            invokevirtual com.mongodb.client.model.UpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 351
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 3 // com.mongodb.client.model.UpdateOptions updateOptions
        end local 2 // java.util.List update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1         filter  Lorg/bson/conversions/Bson;
            0    3     2         update  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            0    3     3  updateOptions  Lcom/mongodb/client/model/UpdateOptions;
    Signature: (Lorg/bson/conversions/Bson;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
               Name  Flags
      filter         final
      update         final
      updateOptions  final

  com.mongodb.operation.MixedBulkWriteOperation updateMany(org.bson.conversions.Bson, org.bson.conversions.Bson, com.mongodb.client.model.UpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // org.bson.conversions.Bson update
        start local 3 // com.mongodb.client.model.UpdateOptions updateOptions
         0: .line 356
            aload 0 /* this */
            new com.mongodb.client.model.UpdateManyModel
            dup
            aload 1 /* filter */
            aload 2 /* update */
            aload 3 /* updateOptions */
            invokespecial com.mongodb.client.model.UpdateManyModel.<init>:(Lorg/bson/conversions/Bson;Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/UpdateOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 357
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 3 /* updateOptions */
            invokevirtual com.mongodb.client.model.UpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 356
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 3 // com.mongodb.client.model.UpdateOptions updateOptions
        end local 2 // org.bson.conversions.Bson update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1         filter  Lorg/bson/conversions/Bson;
            0    3     2         update  Lorg/bson/conversions/Bson;
            0    3     3  updateOptions  Lcom/mongodb/client/model/UpdateOptions;
    MethodParameters:
               Name  Flags
      filter         final
      update         final
      updateOptions  final

  com.mongodb.operation.MixedBulkWriteOperation updateMany(org.bson.conversions.Bson, java.util.List<? extends org.bson.conversions.Bson>, com.mongodb.client.model.UpdateOptions);
    descriptor: (Lorg/bson/conversions/Bson;Ljava/util/List;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson filter
        start local 2 // java.util.List update
        start local 3 // com.mongodb.client.model.UpdateOptions updateOptions
         0: .line 361
            aload 0 /* this */
            new com.mongodb.client.model.UpdateManyModel
            dup
            aload 1 /* filter */
            aload 2 /* update */
            aload 3 /* updateOptions */
            invokespecial com.mongodb.client.model.UpdateManyModel.<init>:(Lorg/bson/conversions/Bson;Ljava/util/List;Lcom/mongodb/client/model/UpdateOptions;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         1: .line 362
            new com.mongodb.client.model.BulkWriteOptions
            dup
            invokespecial com.mongodb.client.model.BulkWriteOptions.<init>:()V
            aload 3 /* updateOptions */
            invokevirtual com.mongodb.client.model.UpdateOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.client.model.BulkWriteOptions.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/client/model/BulkWriteOptions;
         2: .line 361
            invokevirtual com.mongodb.internal.operation.Operations.bulkWrite:(Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
            areturn
        end local 3 // com.mongodb.client.model.UpdateOptions updateOptions
        end local 2 // java.util.List update
        end local 1 // org.bson.conversions.Bson filter
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1         filter  Lorg/bson/conversions/Bson;
            0    3     2         update  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            0    3     3  updateOptions  Lcom/mongodb/client/model/UpdateOptions;
    Signature: (Lorg/bson/conversions/Bson;Ljava/util/List<+Lorg/bson/conversions/Bson;>;Lcom/mongodb/client/model/UpdateOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
               Name  Flags
      filter         final
      update         final
      updateOptions  final

  com.mongodb.operation.MixedBulkWriteOperation insertMany(java.util.List<? extends TDocument>, com.mongodb.client.model.InsertManyOptions);
    descriptor: (Ljava/util/List;Lcom/mongodb/client/model/InsertManyOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List documents
        start local 2 // com.mongodb.client.model.InsertManyOptions options
         0: .line 367
            ldc "documents"
            aload 1 /* documents */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 368
            new java.util.ArrayList
            dup
            aload 1 /* documents */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* requests */
        start local 3 // java.util.List requests
         2: .line 369
            aload 1 /* documents */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.InsertManyOptions java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 4 /* document */
        start local 4 // java.lang.Object document
         4: .line 370
            aload 4 /* document */
            ifnonnull 6
         5: .line 371
            new java.lang.IllegalArgumentException
            dup
            ldc "documents can not contain a null value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 373
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.InsertManyOptions java.util.List java.lang.Object java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            instanceof org.bson.codecs.CollectibleCodec
            ifeq 8
         7: .line 374
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            checkcast org.bson.codecs.CollectibleCodec
            aload 4 /* document */
            invokeinterface org.bson.codecs.CollectibleCodec.generateIdIfAbsentFromDocument:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* document */
         8: .line 376
      StackMap locals:
      StackMap stack:
            aload 3 /* requests */
            new com.mongodb.bulk.InsertRequest
            dup
            aload 0 /* this */
            aload 4 /* document */
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
            invokespecial com.mongodb.bulk.InsertRequest.<init>:(Lorg/bson/BsonDocument;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object document
         9: .line 369
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.InsertManyOptions java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 379
            new com.mongodb.operation.MixedBulkWriteOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 3 /* requests */
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.InsertManyOptions.isOrdered:()Z
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            invokespecial com.mongodb.operation.MixedBulkWriteOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;ZLcom/mongodb/WriteConcern;Z)V
        11: .line 380
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.InsertManyOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.operation.MixedBulkWriteOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/MixedBulkWriteOperation;
        12: .line 379
            areturn
        end local 3 // java.util.List requests
        end local 2 // com.mongodb.client.model.InsertManyOptions options
        end local 1 // java.util.List documents
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   13     1  documents  Ljava/util/List<+TTDocument;>;
            0   13     2    options  Lcom/mongodb/client/model/InsertManyOptions;
            2   13     3   requests  Ljava/util/List<Lcom/mongodb/bulk/InsertRequest;>;
            4    9     4   document  TTDocument;
    Signature: (Ljava/util/List<+TTDocument;>;Lcom/mongodb/client/model/InsertManyOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
           Name  Flags
      documents  final
      options    final

  com.mongodb.operation.MixedBulkWriteOperation bulkWrite(java.util.List<? extends com.mongodb.client.model.WriteModel<? extends TDocument>>, com.mongodb.client.model.BulkWriteOptions);
    descriptor: (Ljava/util/List;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List requests
        start local 2 // com.mongodb.client.model.BulkWriteOptions options
         0: .line 386
            ldc "requests"
            aload 1 /* requests */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 387
            new java.util.ArrayList
            dup
            aload 1 /* requests */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* writeRequests */
        start local 3 // java.util.List writeRequests
         2: .line 388
            aload 1 /* requests */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 61
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.client.model.WriteModel
            astore 4 /* writeModel */
        start local 4 // com.mongodb.client.model.WriteModel writeModel
         4: .line 390
            aload 4 /* writeModel */
            ifnonnull 6
         5: .line 391
            new java.lang.IllegalArgumentException
            dup
            ldc "requests can not contain a null value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 392
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator
      StackMap stack:
            aload 4 /* writeModel */
            instanceof com.mongodb.client.model.InsertOneModel
            ifeq 12
         7: .line 393
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.InsertOneModel
            invokevirtual com.mongodb.client.model.InsertOneModel.getDocument:()Ljava/lang/Object;
            astore 7 /* document */
        start local 7 // java.lang.Object document
         8: .line 394
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            instanceof org.bson.codecs.CollectibleCodec
            ifeq 10
         9: .line 395
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            checkcast org.bson.codecs.CollectibleCodec
            aload 7 /* document */
            invokeinterface org.bson.codecs.CollectibleCodec.generateIdIfAbsentFromDocument:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* document */
        10: .line 397
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator top java.lang.Object
      StackMap stack:
            new com.mongodb.bulk.InsertRequest
            dup
            aload 0 /* this */
            aload 7 /* document */
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
            invokespecial com.mongodb.bulk.InsertRequest.<init>:(Lorg/bson/BsonDocument;)V
            astore 6 /* writeRequest */
        end local 7 // java.lang.Object document
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        11: .line 398
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator
      StackMap stack:
        12: aload 4 /* writeModel */
            instanceof com.mongodb.client.model.ReplaceOneModel
            ifeq 23
        13: .line 399
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.ReplaceOneModel
            astore 7 /* replaceOneModel */
        start local 7 // com.mongodb.client.model.ReplaceOneModel replaceOneModel
        14: .line 400
            new com.mongodb.bulk.UpdateRequest
            dup
            aload 0 /* this */
            aload 7 /* replaceOneModel */
            invokevirtual com.mongodb.client.model.ReplaceOneModel.getFilter:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            aload 0 /* this */
            aload 7 /* replaceOneModel */
        15: .line 401
            invokevirtual com.mongodb.client.model.ReplaceOneModel.getReplacement:()Ljava/lang/Object;
        16: .line 400
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
        17: .line 402
            getstatic com.mongodb.bulk.WriteRequest$Type.REPLACE:Lcom/mongodb/bulk/WriteRequest$Type;
        18: .line 400
            invokespecial com.mongodb.bulk.UpdateRequest.<init>:(Lorg/bson/BsonDocument;Lorg/bson/BsonValue;Lcom/mongodb/bulk/WriteRequest$Type;)V
        19: .line 403
            aload 7 /* replaceOneModel */
            invokevirtual com.mongodb.client.model.ReplaceOneModel.getReplaceOptions:()Lcom/mongodb/client/model/ReplaceOptions;
            invokevirtual com.mongodb.client.model.ReplaceOptions.isUpsert:()Z
            invokevirtual com.mongodb.bulk.UpdateRequest.upsert:(Z)Lcom/mongodb/bulk/UpdateRequest;
        20: .line 404
            aload 7 /* replaceOneModel */
            invokevirtual com.mongodb.client.model.ReplaceOneModel.getReplaceOptions:()Lcom/mongodb/client/model/ReplaceOptions;
            invokevirtual com.mongodb.client.model.ReplaceOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.UpdateRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/UpdateRequest;
        21: .line 400
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.ReplaceOneModel replaceOneModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        22: .line 405
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
      StackMap locals:
      StackMap stack:
        23: aload 4 /* writeModel */
            instanceof com.mongodb.client.model.UpdateOneModel
            ifeq 35
        24: .line 406
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.UpdateOneModel
            astore 7 /* updateOneModel */
        start local 7 // com.mongodb.client.model.UpdateOneModel updateOneModel
        25: .line 407
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getUpdate:()Lorg/bson/conversions/Bson;
            ifnull 26
            aload 0 /* this */
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getUpdate:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            goto 27
        26: .line 408
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator top com.mongodb.client.model.UpdateOneModel
      StackMap stack:
            new org.bson.BsonArray
            dup
            aload 0 /* this */
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getUpdatePipeline:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokespecial org.bson.BsonArray.<init>:(Ljava/util/List;)V
        27: .line 407
      StackMap locals:
      StackMap stack: org.bson.BsonValue
            astore 8 /* update */
        start local 8 // org.bson.BsonValue update
        28: .line 409
            new com.mongodb.bulk.UpdateRequest
            dup
            aload 0 /* this */
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getFilter:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            aload 8 /* update */
            getstatic com.mongodb.bulk.WriteRequest$Type.UPDATE:Lcom/mongodb/bulk/WriteRequest$Type;
            invokespecial com.mongodb.bulk.UpdateRequest.<init>:(Lorg/bson/BsonDocument;Lorg/bson/BsonValue;Lcom/mongodb/bulk/WriteRequest$Type;)V
        29: .line 410
            iconst_0
            invokevirtual com.mongodb.bulk.UpdateRequest.multi:(Z)Lcom/mongodb/bulk/UpdateRequest;
        30: .line 411
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.bulk.UpdateRequest.upsert:(Z)Lcom/mongodb/bulk/UpdateRequest;
        31: .line 412
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.UpdateRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/UpdateRequest;
        32: .line 413
            aload 0 /* this */
            aload 7 /* updateOneModel */
            invokevirtual com.mongodb.client.model.UpdateOneModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.getArrayFilters:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokevirtual com.mongodb.bulk.UpdateRequest.arrayFilters:(Ljava/util/List;)Lcom/mongodb/bulk/UpdateRequest;
        33: .line 409
            astore 6 /* writeRequest */
        end local 8 // org.bson.BsonValue update
        end local 7 // com.mongodb.client.model.UpdateOneModel updateOneModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        34: .line 414
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator
      StackMap stack:
        35: aload 4 /* writeModel */
            instanceof com.mongodb.client.model.UpdateManyModel
            ifeq 47
        36: .line 415
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.UpdateManyModel
            astore 7 /* updateManyModel */
        start local 7 // com.mongodb.client.model.UpdateManyModel updateManyModel
        37: .line 416
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getUpdate:()Lorg/bson/conversions/Bson;
            ifnull 38
            aload 0 /* this */
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getUpdate:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            goto 39
        38: .line 417
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator top com.mongodb.client.model.UpdateManyModel
      StackMap stack:
            new org.bson.BsonArray
            dup
            aload 0 /* this */
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getUpdatePipeline:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokespecial org.bson.BsonArray.<init>:(Ljava/util/List;)V
        39: .line 416
      StackMap locals:
      StackMap stack: org.bson.BsonValue
            astore 8 /* update */
        start local 8 // org.bson.BsonValue update
        40: .line 418
            new com.mongodb.bulk.UpdateRequest
            dup
            aload 0 /* this */
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getFilter:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            aload 8 /* update */
            getstatic com.mongodb.bulk.WriteRequest$Type.UPDATE:Lcom/mongodb/bulk/WriteRequest$Type;
            invokespecial com.mongodb.bulk.UpdateRequest.<init>:(Lorg/bson/BsonDocument;Lorg/bson/BsonValue;Lcom/mongodb/bulk/WriteRequest$Type;)V
        41: .line 419
            iconst_1
            invokevirtual com.mongodb.bulk.UpdateRequest.multi:(Z)Lcom/mongodb/bulk/UpdateRequest;
        42: .line 420
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.bulk.UpdateRequest.upsert:(Z)Lcom/mongodb/bulk/UpdateRequest;
        43: .line 421
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.UpdateRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/UpdateRequest;
        44: .line 422
            aload 0 /* this */
            aload 7 /* updateManyModel */
            invokevirtual com.mongodb.client.model.UpdateManyModel.getOptions:()Lcom/mongodb/client/model/UpdateOptions;
            invokevirtual com.mongodb.client.model.UpdateOptions.getArrayFilters:()Ljava/util/List;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentList:(Ljava/util/List;)Ljava/util/List;
            invokevirtual com.mongodb.bulk.UpdateRequest.arrayFilters:(Ljava/util/List;)Lcom/mongodb/bulk/UpdateRequest;
        45: .line 418
            astore 6 /* writeRequest */
        end local 8 // org.bson.BsonValue update
        end local 7 // com.mongodb.client.model.UpdateManyModel updateManyModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        46: .line 423
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List com.mongodb.client.model.WriteModel java.util.Iterator
      StackMap stack:
        47: aload 4 /* writeModel */
            instanceof com.mongodb.client.model.DeleteOneModel
            ifeq 53
        48: .line 424
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.DeleteOneModel
            astore 7 /* deleteOneModel */
        start local 7 // com.mongodb.client.model.DeleteOneModel deleteOneModel
        49: .line 425
            new com.mongodb.bulk.DeleteRequest
            dup
            aload 0 /* this */
            aload 7 /* deleteOneModel */
            invokevirtual com.mongodb.client.model.DeleteOneModel.getFilter:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokespecial com.mongodb.bulk.DeleteRequest.<init>:(Lorg/bson/BsonDocument;)V
            iconst_0
            invokevirtual com.mongodb.bulk.DeleteRequest.multi:(Z)Lcom/mongodb/bulk/DeleteRequest;
        50: .line 426
            aload 7 /* deleteOneModel */
            invokevirtual com.mongodb.client.model.DeleteOneModel.getOptions:()Lcom/mongodb/client/model/DeleteOptions;
            invokevirtual com.mongodb.client.model.DeleteOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.DeleteRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/DeleteRequest;
        51: .line 425
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.DeleteOneModel deleteOneModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        52: .line 427
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
      StackMap locals:
      StackMap stack:
        53: aload 4 /* writeModel */
            instanceof com.mongodb.client.model.DeleteManyModel
            ifeq 59
        54: .line 428
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.DeleteManyModel
            astore 7 /* deleteManyModel */
        start local 7 // com.mongodb.client.model.DeleteManyModel deleteManyModel
        55: .line 429
            new com.mongodb.bulk.DeleteRequest
            dup
            aload 0 /* this */
            aload 7 /* deleteManyModel */
            invokevirtual com.mongodb.client.model.DeleteManyModel.getFilter:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokespecial com.mongodb.bulk.DeleteRequest.<init>:(Lorg/bson/BsonDocument;)V
            iconst_1
            invokevirtual com.mongodb.bulk.DeleteRequest.multi:(Z)Lcom/mongodb/bulk/DeleteRequest;
        56: .line 430
            aload 7 /* deleteManyModel */
            invokevirtual com.mongodb.client.model.DeleteManyModel.getOptions:()Lcom/mongodb/client/model/DeleteOptions;
            invokevirtual com.mongodb.client.model.DeleteOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.DeleteRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/DeleteRequest;
        57: .line 429
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.DeleteManyModel deleteManyModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        58: .line 431
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
        59: .line 432
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "WriteModel of type %s is not supported"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* writeModel */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        60: .line 434
      StackMap locals: com.mongodb.bulk.WriteRequest
      StackMap stack:
            aload 3 /* writeRequests */
            aload 6 /* writeRequest */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
        end local 4 // com.mongodb.client.model.WriteModel writeModel
        61: .line 388
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.BulkWriteOptions java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        62: .line 437
            new com.mongodb.operation.MixedBulkWriteOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 3 /* writeRequests */
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.BulkWriteOptions.isOrdered:()Z
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryWrites:Z
            invokespecial com.mongodb.operation.MixedBulkWriteOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;ZLcom/mongodb/WriteConcern;Z)V
        63: .line 438
            aload 2 /* options */
            invokevirtual com.mongodb.client.model.BulkWriteOptions.getBypassDocumentValidation:()Ljava/lang/Boolean;
            invokevirtual com.mongodb.operation.MixedBulkWriteOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/MixedBulkWriteOperation;
        64: .line 437
            areturn
        end local 3 // java.util.List writeRequests
        end local 2 // com.mongodb.client.model.BulkWriteOptions options
        end local 1 // java.util.List requests
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   65     0             this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   65     1         requests  Ljava/util/List<+Lcom/mongodb/client/model/WriteModel<+TTDocument;>;>;
            0   65     2          options  Lcom/mongodb/client/model/BulkWriteOptions;
            2   65     3    writeRequests  Ljava/util/List<Lcom/mongodb/bulk/WriteRequest;>;
            4   61     4       writeModel  Lcom/mongodb/client/model/WriteModel<+TTDocument;>;
           11   12     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           22   23     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           34   35     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           46   47     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           52   53     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           58   59     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
           60   61     6     writeRequest  Lcom/mongodb/bulk/WriteRequest;
            8   11     7         document  TTDocument;
           14   22     7  replaceOneModel  Lcom/mongodb/client/model/ReplaceOneModel<TTDocument;>;
           25   34     7   updateOneModel  Lcom/mongodb/client/model/UpdateOneModel<TTDocument;>;
           28   34     8           update  Lorg/bson/BsonValue;
           37   46     7  updateManyModel  Lcom/mongodb/client/model/UpdateManyModel<TTDocument;>;
           40   46     8           update  Lorg/bson/BsonValue;
           49   52     7   deleteOneModel  Lcom/mongodb/client/model/DeleteOneModel<TTDocument;>;
           55   58     7  deleteManyModel  Lcom/mongodb/client/model/DeleteManyModel<TTDocument;>;
    Signature: (Ljava/util/List<+Lcom/mongodb/client/model/WriteModel<+TTDocument;>;>;Lcom/mongodb/client/model/BulkWriteOptions;)Lcom/mongodb/operation/MixedBulkWriteOperation;
    MethodParameters:
          Name  Flags
      requests  final
      options   final

  com.mongodb.operation.DropCollectionOperation dropCollection();
    descriptor: ()Lcom/mongodb/operation/DropCollectionOperation;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.mongodb.internal.operation.Operations this
         0: .line 443
            new com.mongodb.operation.DropCollectionOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            invokespecial com.mongodb.operation.DropCollectionOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;)V
            areturn
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;

  com.mongodb.operation.RenameCollectionOperation renameCollection(com.mongodb.MongoNamespace, com.mongodb.client.model.RenameCollectionOptions);
    descriptor: (Lcom/mongodb/MongoNamespace;Lcom/mongodb/client/model/RenameCollectionOptions;)Lcom/mongodb/operation/RenameCollectionOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // com.mongodb.MongoNamespace newCollectionNamespace
        start local 2 // com.mongodb.client.model.RenameCollectionOptions renameCollectionOptions
         0: .line 449
            new com.mongodb.operation.RenameCollectionOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* newCollectionNamespace */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            invokespecial com.mongodb.operation.RenameCollectionOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;)V
         1: .line 450
            aload 2 /* renameCollectionOptions */
            invokevirtual com.mongodb.client.model.RenameCollectionOptions.isDropTarget:()Z
            invokevirtual com.mongodb.operation.RenameCollectionOperation.dropTarget:(Z)Lcom/mongodb/operation/RenameCollectionOperation;
         2: .line 449
            areturn
        end local 2 // com.mongodb.client.model.RenameCollectionOptions renameCollectionOptions
        end local 1 // com.mongodb.MongoNamespace newCollectionNamespace
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1   newCollectionNamespace  Lcom/mongodb/MongoNamespace;
            0    3     2  renameCollectionOptions  Lcom/mongodb/client/model/RenameCollectionOptions;
    MethodParameters:
                         Name  Flags
      newCollectionNamespace   final
      renameCollectionOptions  final

  com.mongodb.operation.CreateIndexesOperation createIndexes(java.util.List<com.mongodb.client.model.IndexModel>, com.mongodb.client.model.CreateIndexOptions);
    descriptor: (Ljava/util/List;Lcom/mongodb/client/model/CreateIndexOptions;)Lcom/mongodb/operation/CreateIndexesOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List indexes
        start local 2 // com.mongodb.client.model.CreateIndexOptions createIndexOptions
         0: .line 454
            ldc "indexes"
            aload 1 /* indexes */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 455
            ldc "createIndexOptions"
            aload 2 /* createIndexOptions */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 456
            new java.util.ArrayList
            dup
            aload 1 /* indexes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* indexRequests */
        start local 3 // java.util.List indexRequests
         3: .line 457
            aload 1 /* indexes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.CreateIndexOptions java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.client.model.IndexModel
            astore 4 /* model */
        start local 4 // com.mongodb.client.model.IndexModel model
         5: .line 458
            aload 4 /* model */
            ifnonnull 7
         6: .line 459
            new java.lang.IllegalArgumentException
            dup
            ldc "indexes can not contain a null value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 461
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.CreateIndexOptions java.util.List com.mongodb.client.model.IndexModel java.util.Iterator
      StackMap stack:
            aload 3 /* indexRequests */
            new com.mongodb.bulk.IndexRequest
            dup
            aload 0 /* this */
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getKeys:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokespecial com.mongodb.bulk.IndexRequest.<init>:(Lorg/bson/BsonDocument;)V
         8: .line 462
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getName:()Ljava/lang/String;
            invokevirtual com.mongodb.bulk.IndexRequest.name:(Ljava/lang/String;)Lcom/mongodb/bulk/IndexRequest;
         9: .line 463
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.isBackground:()Z
            invokevirtual com.mongodb.bulk.IndexRequest.background:(Z)Lcom/mongodb/bulk/IndexRequest;
        10: .line 464
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.isUnique:()Z
            invokevirtual com.mongodb.bulk.IndexRequest.unique:(Z)Lcom/mongodb/bulk/IndexRequest;
        11: .line 465
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.isSparse:()Z
            invokevirtual com.mongodb.bulk.IndexRequest.sparse:(Z)Lcom/mongodb/bulk/IndexRequest;
        12: .line 466
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.IndexOptions.getExpireAfter:(Ljava/util/concurrent/TimeUnit;)Ljava/lang/Long;
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.bulk.IndexRequest.expireAfter:(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Lcom/mongodb/bulk/IndexRequest;
        13: .line 467
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getVersion:()Ljava/lang/Integer;
            invokevirtual com.mongodb.bulk.IndexRequest.version:(Ljava/lang/Integer;)Lcom/mongodb/bulk/IndexRequest;
        14: .line 468
            aload 0 /* this */
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getWeights:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.bulk.IndexRequest.weights:(Lorg/bson/BsonDocument;)Lcom/mongodb/bulk/IndexRequest;
        15: .line 469
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getDefaultLanguage:()Ljava/lang/String;
            invokevirtual com.mongodb.bulk.IndexRequest.defaultLanguage:(Ljava/lang/String;)Lcom/mongodb/bulk/IndexRequest;
        16: .line 470
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getLanguageOverride:()Ljava/lang/String;
            invokevirtual com.mongodb.bulk.IndexRequest.languageOverride:(Ljava/lang/String;)Lcom/mongodb/bulk/IndexRequest;
        17: .line 471
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getTextVersion:()Ljava/lang/Integer;
            invokevirtual com.mongodb.bulk.IndexRequest.textVersion:(Ljava/lang/Integer;)Lcom/mongodb/bulk/IndexRequest;
        18: .line 472
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getSphereVersion:()Ljava/lang/Integer;
            invokevirtual com.mongodb.bulk.IndexRequest.sphereVersion:(Ljava/lang/Integer;)Lcom/mongodb/bulk/IndexRequest;
        19: .line 473
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getBits:()Ljava/lang/Integer;
            invokevirtual com.mongodb.bulk.IndexRequest.bits:(Ljava/lang/Integer;)Lcom/mongodb/bulk/IndexRequest;
        20: .line 474
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getMin:()Ljava/lang/Double;
            invokevirtual com.mongodb.bulk.IndexRequest.min:(Ljava/lang/Double;)Lcom/mongodb/bulk/IndexRequest;
        21: .line 475
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getMax:()Ljava/lang/Double;
            invokevirtual com.mongodb.bulk.IndexRequest.max:(Ljava/lang/Double;)Lcom/mongodb/bulk/IndexRequest;
        22: .line 476
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getBucketSize:()Ljava/lang/Double;
            invokevirtual com.mongodb.bulk.IndexRequest.bucketSize:(Ljava/lang/Double;)Lcom/mongodb/bulk/IndexRequest;
        23: .line 477
            aload 0 /* this */
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getStorageEngine:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.bulk.IndexRequest.storageEngine:(Lorg/bson/BsonDocument;)Lcom/mongodb/bulk/IndexRequest;
        24: .line 478
            aload 0 /* this */
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getPartialFilterExpression:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.bulk.IndexRequest.partialFilterExpression:(Lorg/bson/BsonDocument;)Lcom/mongodb/bulk/IndexRequest;
        25: .line 479
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getCollation:()Lcom/mongodb/client/model/Collation;
            invokevirtual com.mongodb.bulk.IndexRequest.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/bulk/IndexRequest;
        26: .line 480
            aload 0 /* this */
            aload 4 /* model */
            invokevirtual com.mongodb.client.model.IndexModel.getOptions:()Lcom/mongodb/client/model/IndexOptions;
            invokevirtual com.mongodb.client.model.IndexOptions.getWildcardProjection:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.bulk.IndexRequest.wildcardProjection:(Lorg/bson/BsonDocument;)Lcom/mongodb/bulk/IndexRequest;
        27: .line 461
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.mongodb.client.model.IndexModel model
        28: .line 457
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List com.mongodb.client.model.CreateIndexOptions java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        29: .line 483
            new com.mongodb.operation.CreateIndexesOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 3 /* indexRequests */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            invokespecial com.mongodb.operation.CreateIndexesOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/util/List;Lcom/mongodb/WriteConcern;)V
        30: .line 484
            aload 2 /* createIndexOptions */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.CreateIndexOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.CreateIndexesOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/CreateIndexesOperation;
        31: .line 483
            areturn
        end local 3 // java.util.List indexRequests
        end local 2 // com.mongodb.client.model.CreateIndexOptions createIndexOptions
        end local 1 // java.util.List indexes
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0                this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   32     1             indexes  Ljava/util/List<Lcom/mongodb/client/model/IndexModel;>;
            0   32     2  createIndexOptions  Lcom/mongodb/client/model/CreateIndexOptions;
            3   32     3       indexRequests  Ljava/util/List<Lcom/mongodb/bulk/IndexRequest;>;
            5   28     4               model  Lcom/mongodb/client/model/IndexModel;
    Signature: (Ljava/util/List<Lcom/mongodb/client/model/IndexModel;>;Lcom/mongodb/client/model/CreateIndexOptions;)Lcom/mongodb/operation/CreateIndexesOperation;
    MethodParameters:
                    Name  Flags
      indexes             final
      createIndexOptions  final

  com.mongodb.operation.DropIndexOperation dropIndex(java.lang.String, com.mongodb.client.model.DropIndexOptions);
    descriptor: (Ljava/lang/String;Lcom/mongodb/client/model/DropIndexOptions;)Lcom/mongodb/operation/DropIndexOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.String indexName
        start local 2 // com.mongodb.client.model.DropIndexOptions dropIndexOptions
         0: .line 488
            new com.mongodb.operation.DropIndexOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* indexName */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            invokespecial com.mongodb.operation.DropIndexOperation.<init>:(Lcom/mongodb/MongoNamespace;Ljava/lang/String;Lcom/mongodb/WriteConcern;)V
         1: .line 489
            aload 2 /* dropIndexOptions */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.DropIndexOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.DropIndexOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/DropIndexOperation;
         2: .line 488
            areturn
        end local 2 // com.mongodb.client.model.DropIndexOptions dropIndexOptions
        end local 1 // java.lang.String indexName
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1         indexName  Ljava/lang/String;
            0    3     2  dropIndexOptions  Lcom/mongodb/client/model/DropIndexOptions;
    MethodParameters:
                  Name  Flags
      indexName         final
      dropIndexOptions  final

  com.mongodb.operation.DropIndexOperation dropIndex(org.bson.conversions.Bson, com.mongodb.client.model.DropIndexOptions);
    descriptor: (Lorg/bson/conversions/Bson;Lcom/mongodb/client/model/DropIndexOptions;)Lcom/mongodb/operation/DropIndexOperation;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson keys
        start local 2 // com.mongodb.client.model.DropIndexOptions dropIndexOptions
         0: .line 493
            new com.mongodb.operation.DropIndexOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 1 /* keys */
            ldc Lorg/bson/BsonDocument;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.writeConcern:Lcom/mongodb/WriteConcern;
            invokespecial com.mongodb.operation.DropIndexOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/BsonDocument;Lcom/mongodb/WriteConcern;)V
         1: .line 494
            aload 2 /* dropIndexOptions */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.client.model.DropIndexOptions.getMaxTime:(Ljava/util/concurrent/TimeUnit;)J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.DropIndexOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/DropIndexOperation;
         2: .line 493
            areturn
        end local 2 // com.mongodb.client.model.DropIndexOptions dropIndexOptions
        end local 1 // org.bson.conversions.Bson keys
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1              keys  Lorg/bson/conversions/Bson;
            0    3     2  dropIndexOptions  Lcom/mongodb/client/model/DropIndexOptions;
    MethodParameters:
                  Name  Flags
      keys              final
      dropIndexOptions  final

  <TResult> com.mongodb.operation.ListCollectionsOperation<TResult> listCollections(java.lang.String, java.lang.Class<TResult>, org.bson.conversions.Bson, boolean, java.lang.Integer, long);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Lorg/bson/conversions/Bson;ZLjava/lang/Integer;J)Lcom/mongodb/operation/ListCollectionsOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.String databaseName
        start local 2 // java.lang.Class resultClass
        start local 3 // org.bson.conversions.Bson filter
        start local 4 // boolean collectionNamesOnly
        start local 5 // java.lang.Integer batchSize
        start local 6 // long maxTimeMS
         0: .line 500
            new com.mongodb.operation.ListCollectionsOperation
            dup
            aload 1 /* databaseName */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 2 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.ListCollectionsOperation.<init>:(Ljava/lang/String;Lorg/bson/codecs/Decoder;)V
         1: .line 501
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListCollectionsOperation.retryReads:(Z)Lcom/mongodb/operation/ListCollectionsOperation;
         2: .line 502
            aload 0 /* this */
            aload 3 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.ListCollectionsOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/ListCollectionsOperation;
         3: .line 503
            iload 4 /* collectionNamesOnly */
            invokevirtual com.mongodb.operation.ListCollectionsOperation.nameOnly:(Z)Lcom/mongodb/operation/ListCollectionsOperation;
         4: .line 504
            aload 5 /* batchSize */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack: com.mongodb.operation.ListCollectionsOperation
         5: aload 5 /* batchSize */
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals: com.mongodb.internal.operation.Operations java.lang.String java.lang.Class org.bson.conversions.Bson int java.lang.Integer long
      StackMap stack: com.mongodb.operation.ListCollectionsOperation int
         6: invokevirtual com.mongodb.operation.ListCollectionsOperation.batchSize:(I)Lcom/mongodb/operation/ListCollectionsOperation;
         7: .line 505
            lload 6 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.ListCollectionsOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/ListCollectionsOperation;
         8: .line 500
            areturn
        end local 6 // long maxTimeMS
        end local 5 // java.lang.Integer batchSize
        end local 4 // boolean collectionNamesOnly
        end local 3 // org.bson.conversions.Bson filter
        end local 2 // java.lang.Class resultClass
        end local 1 // java.lang.String databaseName
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    9     1         databaseName  Ljava/lang/String;
            0    9     2          resultClass  Ljava/lang/Class<TTResult;>;
            0    9     3               filter  Lorg/bson/conversions/Bson;
            0    9     4  collectionNamesOnly  Z
            0    9     5            batchSize  Ljava/lang/Integer;
            0    9     6            maxTimeMS  J
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TTResult;>;Lorg/bson/conversions/Bson;ZLjava/lang/Integer;J)Lcom/mongodb/operation/ListCollectionsOperation<TTResult;>;
    MethodParameters:
                     Name  Flags
      databaseName         final
      resultClass          final
      filter               final
      collectionNamesOnly  final
      batchSize            final
      maxTimeMS            final

  <TResult> com.mongodb.operation.ListDatabasesOperation<TResult> listDatabases(java.lang.Class<TResult>, org.bson.conversions.Bson, java.lang.Boolean, long);
    descriptor: (Ljava/lang/Class;Lorg/bson/conversions/Bson;Ljava/lang/Boolean;J)Lcom/mongodb/operation/ListDatabasesOperation;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.Class resultClass
        start local 2 // org.bson.conversions.Bson filter
        start local 3 // java.lang.Boolean nameOnly
        start local 4 // long maxTimeMS
         0: .line 510
            new com.mongodb.operation.ListDatabasesOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 1 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.ListDatabasesOperation.<init>:(Lorg/bson/codecs/Decoder;)V
            lload 4 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.ListDatabasesOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/ListDatabasesOperation;
         1: .line 511
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListDatabasesOperation.retryReads:(Z)Lcom/mongodb/operation/ListDatabasesOperation;
         2: .line 512
            aload 0 /* this */
            aload 2 /* filter */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocumentOrNull:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.ListDatabasesOperation.filter:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/ListDatabasesOperation;
         3: .line 513
            aload 3 /* nameOnly */
            invokevirtual com.mongodb.operation.ListDatabasesOperation.nameOnly:(Ljava/lang/Boolean;)Lcom/mongodb/operation/ListDatabasesOperation;
         4: .line 510
            areturn
        end local 4 // long maxTimeMS
        end local 3 // java.lang.Boolean nameOnly
        end local 2 // org.bson.conversions.Bson filter
        end local 1 // java.lang.Class resultClass
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    5     1  resultClass  Ljava/lang/Class<TTResult;>;
            0    5     2       filter  Lorg/bson/conversions/Bson;
            0    5     3     nameOnly  Ljava/lang/Boolean;
            0    5     4    maxTimeMS  J
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;Lorg/bson/conversions/Bson;Ljava/lang/Boolean;J)Lcom/mongodb/operation/ListDatabasesOperation<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  final
      filter       final
      nameOnly     final
      maxTimeMS    final

  <TResult> com.mongodb.operation.ListIndexesOperation<TResult> listIndexes(java.lang.Class<TResult>, java.lang.Integer, long);
    descriptor: (Ljava/lang/Class;Ljava/lang/Integer;J)Lcom/mongodb/operation/ListIndexesOperation;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.Class resultClass
        start local 2 // java.lang.Integer batchSize
        start local 3 // long maxTimeMS
         0: .line 518
            new com.mongodb.operation.ListIndexesOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 1 /* resultClass */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            invokespecial com.mongodb.operation.ListIndexesOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/codecs/Decoder;)V
         1: .line 519
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListIndexesOperation.retryReads:(Z)Lcom/mongodb/operation/ListIndexesOperation;
         2: .line 520
            aload 2 /* batchSize */
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack: com.mongodb.operation.ListIndexesOperation
         3: aload 2 /* batchSize */
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals: com.mongodb.internal.operation.Operations java.lang.Class java.lang.Integer long
      StackMap stack: com.mongodb.operation.ListIndexesOperation int
         4: invokevirtual com.mongodb.operation.ListIndexesOperation.batchSize:(I)Lcom/mongodb/operation/ListIndexesOperation;
         5: .line 521
            lload 3 /* maxTimeMS */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.operation.ListIndexesOperation.maxTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/ListIndexesOperation;
         6: .line 518
            areturn
        end local 3 // long maxTimeMS
        end local 2 // java.lang.Integer batchSize
        end local 1 // java.lang.Class resultClass
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    7     1  resultClass  Ljava/lang/Class<TTResult;>;
            0    7     2    batchSize  Ljava/lang/Integer;
            0    7     3    maxTimeMS  J
    Signature: <TResult:Ljava/lang/Object;>(Ljava/lang/Class<TTResult;>;Ljava/lang/Integer;J)Lcom/mongodb/operation/ListIndexesOperation<TTResult;>;
    MethodParameters:
             Name  Flags
      resultClass  final
      batchSize    final
      maxTimeMS    final

  private org.bson.codecs.Codec<TDocument> getCodec();
    descriptor: ()Lorg/bson/codecs/Codec;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.internal.operation.Operations this
         0: .line 525
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
            areturn
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
    Signature: ()Lorg/bson/codecs/Codec<TTDocument;>;

  private org.bson.BsonDocument documentToBsonDocument(TDocument);
    descriptor: (Ljava/lang/Object;)Lorg/bson/BsonDocument;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.lang.Object document
         0: .line 529
            aload 1 /* document */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokestatic org.bson.BsonDocumentWrapper.asBsonDocument:(Ljava/lang/Object;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
            areturn
        end local 1 // java.lang.Object document
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    1     1  document  TTDocument;
    Signature: (TTDocument;)Lorg/bson/BsonDocument;
    MethodParameters:
          Name  Flags
      document  final

  private org.bson.BsonDocument toBsonDocument(org.bson.conversions.Bson);
    descriptor: (Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson bson
         0: .line 533
            aload 1 /* bson */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* bson */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals:
      StackMap stack: org.bson.BsonDocument
         2: areturn
        end local 1 // org.bson.conversions.Bson bson
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1  bson  Lorg/bson/conversions/Bson;
    MethodParameters:
      Name  Flags
      bson  final

  private java.util.List<org.bson.BsonDocument> toBsonDocumentList(java.util.List<? extends org.bson.conversions.Bson>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // java.util.List bsonList
         0: .line 537
            aload 1 /* bsonList */
            ifnonnull 2
         1: .line 538
            aconst_null
            areturn
         2: .line 540
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* bsonList */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* bsonDocumentList */
        start local 2 // java.util.List bsonDocumentList
         3: .line 541
            aload 1 /* bsonList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.mongodb.internal.operation.Operations java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bson.conversions.Bson
            astore 3 /* cur */
        start local 3 // org.bson.conversions.Bson cur
         5: .line 542
            aload 2 /* bsonDocumentList */
            aload 0 /* this */
            aload 3 /* cur */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.bson.conversions.Bson cur
         6: .line 541
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 544
            aload 2 /* bsonDocumentList */
            areturn
        end local 2 // java.util.List bsonDocumentList
        end local 1 // java.util.List bsonList
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    8     1          bsonList  Ljava/util/List<+Lorg/bson/conversions/Bson;>;
            3    8     2  bsonDocumentList  Ljava/util/List<Lorg/bson/BsonDocument;>;
            5    6     3               cur  Lorg/bson/conversions/Bson;
    Signature: (Ljava/util/List<+Lorg/bson/conversions/Bson;>;)Ljava/util/List<Lorg/bson/BsonDocument;>;
    MethodParameters:
          Name  Flags
      bsonList  final

  org.bson.BsonDocument toBsonDocumentOrNull(org.bson.conversions.Bson);
    descriptor: (Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.internal.operation.Operations this
        start local 1 // org.bson.conversions.Bson document
         0: .line 548
            aload 1 /* document */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* document */
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.documentClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokeinterface org.bson.conversions.Bson.toBsonDocument:(Ljava/lang/Class;Lorg/bson/codecs/configuration/CodecRegistry;)Lorg/bson/BsonDocument;
      StackMap locals:
      StackMap stack: org.bson.BsonDocument
         2: areturn
        end local 1 // org.bson.conversions.Bson document
        end local 0 // com.mongodb.internal.operation.Operations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0    3     1  document  Lorg/bson/conversions/Bson;
    MethodParameters:
          Name  Flags
      document  final
}
Signature: <TDocument:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Operations.java"
InnerClasses:
  public final Type = com.mongodb.bulk.WriteRequest$Type of com.mongodb.bulk.WriteRequest