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=6, 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.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;
        21: .line 169
            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;
        22: .line 170
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getMaxScan:()J
            invokevirtual com.mongodb.operation.FindOperation.maxScan:(J)Lcom/mongodb/operation/FindOperation;
        23: .line 171
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isReturnKey:()Z
            invokevirtual com.mongodb.operation.FindOperation.returnKey:(Z)Lcom/mongodb/operation/FindOperation;
        24: .line 172
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isShowRecordId:()Z
            invokevirtual com.mongodb.operation.FindOperation.showRecordId:(Z)Lcom/mongodb/operation/FindOperation;
        25: .line 173
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.isSnapshot:()Z
            invokevirtual com.mongodb.operation.FindOperation.snapshot:(Z)Lcom/mongodb/operation/FindOperation;
        26: .line 150
            astore 5 /* operation */
        start local 5 // com.mongodb.operation.FindOperation operation
        27: .line 175
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getHint:()Lorg/bson/conversions/Bson;
            ifnull 30
        28: .line 176
            aload 5 /* operation */
            aload 0 /* this */
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getHint:()Lorg/bson/conversions/Bson;
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
            invokevirtual com.mongodb.operation.FindOperation.hint:(Lorg/bson/BsonValue;)Lcom/mongodb/operation/FindOperation;
            pop
        29: .line 177
            goto 32
      StackMap locals: com.mongodb.operation.FindOperation
      StackMap stack:
        30: aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getHintString:()Ljava/lang/String;
            ifnull 32
        31: .line 178
            aload 5 /* operation */
            new org.bson.BsonString
            dup
            aload 4 /* options */
            invokevirtual com.mongodb.client.model.FindOptions.getHintString:()Ljava/lang/String;
            invokespecial org.bson.BsonString.<init>:(Ljava/lang/String;)V
            invokevirtual com.mongodb.operation.FindOperation.hint:(Lorg/bson/BsonValue;)Lcom/mongodb/operation/FindOperation;
            pop
        32: .line 180
      StackMap locals:
      StackMap stack:
            aload 5 /* operation */
            areturn
        end local 5 // com.mongodb.operation.FindOperation operation
        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   33     0           this  Lcom/mongodb/internal/operation/Operations<TTDocument;>;
            0   33     1  findNamespace  Lcom/mongodb/MongoNamespace;
            0   33     2         filter  Lorg/bson/conversions/Bson;
            0   33     3    resultClass  Ljava/lang/Class<TTResult;>;
            0   33     4        options  Lcom/mongodb/client/model/FindOptions;
           27   33     5      operation  Lcom/mongodb/operation/FindOperation<TTResult;>;
    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 186
            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 187
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.DistinctOperation.retryReads:(Z)Lcom/mongodb/operation/DistinctOperation;
         2: .line 188
            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 189
            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 190
            aload 6 /* collation */
            invokevirtual com.mongodb.operation.DistinctOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/DistinctOperation;
         7: .line 186
            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 200
            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 201
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.AggregateOperation.retryReads:(Z)Lcom/mongodb/operation/AggregateOperation;
         2: .line 202
            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 203
            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 204
            aload 11 /* allowDiskUse */
            invokevirtual com.mongodb.operation.AggregateOperation.allowDiskUse:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateOperation;
         5: .line 205
            aload 7 /* batchSize */
            invokevirtual com.mongodb.operation.AggregateOperation.batchSize:(Ljava/lang/Integer;)Lcom/mongodb/operation/AggregateOperation;
         6: .line 206
            aload 12 /* useCursor */
            invokevirtual com.mongodb.operation.AggregateOperation.useCursor:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateOperation;
         7: .line 207
            aload 8 /* collation */
            invokevirtual com.mongodb.operation.AggregateOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/AggregateOperation;
         8: .line 208
            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 209
            aload 10 /* comment */
            invokevirtual com.mongodb.operation.AggregateOperation.comment:(Ljava/lang/String;)Lcom/mongodb/operation/AggregateOperation;
        12: .line 200
            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 217
            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 218
            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 219
            aload 4 /* allowDiskUse */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.allowDiskUse:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         3: .line 220
            aload 5 /* bypassDocumentValidation */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         4: .line 221
            aload 6 /* collation */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         5: .line 222
            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 223
            aload 8 /* comment */
            invokevirtual com.mongodb.operation.AggregateToCollectionOperation.comment:(Ljava/lang/String;)Lcom/mongodb/operation/AggregateToCollectionOperation;
         9: .line 217
            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 233
            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 234
            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 233
            invokespecial com.mongodb.operation.MapReduceToCollectionOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/BsonJavaScript;Lorg/bson/BsonJavaScript;Ljava/lang/String;Lcom/mongodb/WriteConcern;)V
         3: .line 235
            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 236
            iload 7 /* limit */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.limit:(I)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         5: .line 237
            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 238
            iload 10 /* jsMode */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.jsMode:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
         7: .line 239
            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 240
            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 241
            iload 13 /* verbose */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.verbose:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        10: .line 242
            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 243
            iload 15 /* nonAtomic */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.nonAtomic:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        12: .line 244
            iload 16 /* sharded */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.sharded:(Z)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        13: .line 245
            aload 1 /* databaseName */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.databaseName:(Ljava/lang/String;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        14: .line 246
            aload 17 /* bypassDocumentValidation */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.bypassDocumentValidation:(Ljava/lang/Boolean;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        15: .line 247
            aload 18 /* collation */
            invokevirtual com.mongodb.operation.MapReduceToCollectionOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceToCollectionOperation;
        16: .line 233
            astore 19 /* operation */
        start local 19 // com.mongodb.operation.MapReduceToCollectionOperation operation
        17: .line 249
            aload 5 /* finalizeFunction */
            ifnull 19
        18: .line 250
            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 252
      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 262
            new com.mongodb.operation.MapReduceWithInlineResultsOperation
            dup
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.namespace:Lcom/mongodb/MongoNamespace;
         1: .line 263
            new org.bson.BsonJavaScript
            dup
            aload 1 /* mapFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
         2: .line 264
            new org.bson.BsonJavaScript
            dup
            aload 2 /* reduceFunction */
            invokespecial org.bson.BsonJavaScript.<init>:(Ljava/lang/String;)V
         3: .line 265
            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 262
            invokespecial com.mongodb.operation.MapReduceWithInlineResultsOperation.<init>:(Lcom/mongodb/MongoNamespace;Lorg/bson/BsonJavaScript;Lorg/bson/BsonJavaScript;Lorg/bson/codecs/Decoder;)V
         5: .line 266
            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 267
            iload 6 /* limit */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.limit:(I)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         7: .line 268
            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 269
            iload 9 /* jsMode */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.jsMode:(Z)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
         9: .line 270
            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 271
            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 272
            iload 12 /* verbose */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.verbose:(Z)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        12: .line 273
            aload 13 /* collation */
            invokevirtual com.mongodb.operation.MapReduceWithInlineResultsOperation.collation:(Lcom/mongodb/client/model/Collation;)Lcom/mongodb/operation/MapReduceWithInlineResultsOperation;
        13: .line 261
            astore 14 /* operation */
        start local 14 // com.mongodb.operation.MapReduceWithInlineResultsOperation operation
        14: .line 274
            aload 3 /* finalizeFunction */
            ifnull 16
        15: .line 275
            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 277
      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 281
            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 282
            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 283
            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 284
            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 285
            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 286
            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 281
            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 291
            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 292
            aload 0 /* this */
            aload 2 /* replacement */
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
         2: .line 291
            invokespecial com.mongodb.operation.FindAndReplaceOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;Lorg/bson/BsonDocument;)V
         3: .line 293
            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 294
            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 295
            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 296
            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 297
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndReplaceOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndReplaceOperation.upsert:(Z)Lcom/mongodb/operation/FindAndReplaceOperation;
        10: .line 298
            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 299
            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 300
            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 291
            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 304
            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 305
            aload 0 /* this */
            aload 2 /* update */
            invokevirtual com.mongodb.internal.operation.Operations.toBsonDocument:(Lorg/bson/conversions/Bson;)Lorg/bson/BsonDocument;
         2: .line 304
            invokespecial com.mongodb.operation.FindAndUpdateOperation.<init>:(Lcom/mongodb/MongoNamespace;Lcom/mongodb/WriteConcern;ZLorg/bson/codecs/Decoder;Lorg/bson/BsonDocument;)V
         3: .line 306
            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 307
            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 308
            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 309
            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 310
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.upsert:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
        10: .line 311
            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 312
            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 313
            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 314
            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 304
            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 319
            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 320
            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 321
            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 322
            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 323
            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 324
            aload 3 /* options */
            invokevirtual com.mongodb.client.model.FindOneAndUpdateOptions.isUpsert:()Z
            invokevirtual com.mongodb.operation.FindAndUpdateOperation.upsert:(Z)Lcom/mongodb/operation/FindAndUpdateOperation;
         8: .line 325
            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 326
            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 327
            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 328
            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 319
            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 333
            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 334
            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 333
            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 339
            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 340
            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 339
            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 344
            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 348
            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 352
            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 353
            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 352
            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 357
            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 358
            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 357
            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 362
            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 363
            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 362
            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 367
            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 368
            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 367
            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 373
            ldc "documents"
            aload 1 /* documents */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 374
            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 375
            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 376
            aload 4 /* document */
            ifnonnull 6
         5: .line 377
            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 379
      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 380
            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 382
      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 375
      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 385
            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 386
            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 385
            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 392
            ldc "requests"
            aload 1 /* requests */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 393
            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 394
            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 396
            aload 4 /* writeModel */
            ifnonnull 6
         5: .line 397
            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 398
      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 399
            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 400
            aload 0 /* this */
            invokevirtual com.mongodb.internal.operation.Operations.getCodec:()Lorg/bson/codecs/Codec;
            instanceof org.bson.codecs.CollectibleCodec
            ifeq 10
         9: .line 401
            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 403
      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 404
            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 405
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.ReplaceOneModel
            astore 7 /* replaceOneModel */
        start local 7 // com.mongodb.client.model.ReplaceOneModel replaceOneModel
        14: .line 406
            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 407
            invokevirtual com.mongodb.client.model.ReplaceOneModel.getReplacement:()Ljava/lang/Object;
        16: .line 406
            invokevirtual com.mongodb.internal.operation.Operations.documentToBsonDocument:(Ljava/lang/Object;)Lorg/bson/BsonDocument;
        17: .line 408
            getstatic com.mongodb.bulk.WriteRequest$Type.REPLACE:Lcom/mongodb/bulk/WriteRequest$Type;
        18: .line 406
            invokespecial com.mongodb.bulk.UpdateRequest.<init>:(Lorg/bson/BsonDocument;Lorg/bson/BsonValue;Lcom/mongodb/bulk/WriteRequest$Type;)V
        19: .line 409
            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 410
            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 406
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.ReplaceOneModel replaceOneModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        22: .line 411
            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 412
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.UpdateOneModel
            astore 7 /* updateOneModel */
        start local 7 // com.mongodb.client.model.UpdateOneModel updateOneModel
        25: .line 413
            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 414
      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 413
      StackMap locals:
      StackMap stack: org.bson.BsonValue
            astore 8 /* update */
        start local 8 // org.bson.BsonValue update
        28: .line 415
            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 416
            iconst_0
            invokevirtual com.mongodb.bulk.UpdateRequest.multi:(Z)Lcom/mongodb/bulk/UpdateRequest;
        30: .line 417
            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 418
            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 419
            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 415
            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 420
            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 421
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.UpdateManyModel
            astore 7 /* updateManyModel */
        start local 7 // com.mongodb.client.model.UpdateManyModel updateManyModel
        37: .line 422
            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 423
      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 422
      StackMap locals:
      StackMap stack: org.bson.BsonValue
            astore 8 /* update */
        start local 8 // org.bson.BsonValue update
        40: .line 424
            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 425
            iconst_1
            invokevirtual com.mongodb.bulk.UpdateRequest.multi:(Z)Lcom/mongodb/bulk/UpdateRequest;
        42: .line 426
            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 427
            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 428
            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 424
            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 429
            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 430
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.DeleteOneModel
            astore 7 /* deleteOneModel */
        start local 7 // com.mongodb.client.model.DeleteOneModel deleteOneModel
        49: .line 431
            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 432
            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 431
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.DeleteOneModel deleteOneModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        52: .line 433
            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 434
            aload 4 /* writeModel */
            checkcast com.mongodb.client.model.DeleteManyModel
            astore 7 /* deleteManyModel */
        start local 7 // com.mongodb.client.model.DeleteManyModel deleteManyModel
        55: .line 435
            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 436
            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 435
            astore 6 /* writeRequest */
        end local 7 // com.mongodb.client.model.DeleteManyModel deleteManyModel
        start local 6 // com.mongodb.bulk.WriteRequest writeRequest
        58: .line 437
            goto 60
        end local 6 // com.mongodb.bulk.WriteRequest writeRequest
        59: .line 438
      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 440
      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 394
      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 443
            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 444
            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 443
            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 449
            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 455
            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 456
            aload 2 /* renameCollectionOptions */
            invokevirtual com.mongodb.client.model.RenameCollectionOptions.isDropTarget:()Z
            invokevirtual com.mongodb.operation.RenameCollectionOperation.dropTarget:(Z)Lcom/mongodb/operation/RenameCollectionOperation;
         2: .line 455
            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 460
            ldc "indexes"
            aload 1 /* indexes */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 461
            ldc "createIndexOptions"
            aload 2 /* createIndexOptions */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 462
            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 463
            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 464
            aload 4 /* model */
            ifnonnull 7
         6: .line 465
            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 467
      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 468
            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 469
            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 470
            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 471
            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 472
            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 473
            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 474
            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 475
            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 476
            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 477
            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 478
            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 479
            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 480
            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 481
            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 482
            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 483
            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 484
            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 485
            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 486
            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 467
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.mongodb.client.model.IndexModel model
        28: .line 463
      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 489
            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 490
            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 489
            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 494
            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 495
            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 494
            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 499
            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 500
            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 499
            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 506
            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 507
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListCollectionsOperation.retryReads:(Z)Lcom/mongodb/operation/ListCollectionsOperation;
         2: .line 508
            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 509
            iload 4 /* collectionNamesOnly */
            invokevirtual com.mongodb.operation.ListCollectionsOperation.nameOnly:(Z)Lcom/mongodb/operation/ListCollectionsOperation;
         4: .line 510
            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 511
            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 506
            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 516
            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 517
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListDatabasesOperation.retryReads:(Z)Lcom/mongodb/operation/ListDatabasesOperation;
         2: .line 518
            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 519
            aload 3 /* nameOnly */
            invokevirtual com.mongodb.operation.ListDatabasesOperation.nameOnly:(Ljava/lang/Boolean;)Lcom/mongodb/operation/ListDatabasesOperation;
         4: .line 516
            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 524
            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 525
            aload 0 /* this */
            getfield com.mongodb.internal.operation.Operations.retryReads:Z
            invokevirtual com.mongodb.operation.ListIndexesOperation.retryReads:(Z)Lcom/mongodb/operation/ListIndexesOperation;
         2: .line 526
            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 527
            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 524
            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 531
            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 535
            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 539
            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 543
            aload 1 /* bsonList */
            ifnonnull 2
         1: .line 544
            aconst_null
            areturn
         2: .line 546
      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 547
            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 548
            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 547
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 550
            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 554
            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