public class com.mongodb.MongoOptions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.MongoOptions
  super_class: java.lang.Object
{
  public java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public int connectionsPerHost;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int threadsAllowedToBlockForConnectionMultiplier;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int maxWaitTime;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int connectTimeout;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int socketTimeout;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean socketKeepAlive;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public com.mongodb.ReadPreference readPreference;
    descriptor: Lcom/mongodb/ReadPreference;
    flags: (0x0001) ACC_PUBLIC

  public com.mongodb.DBDecoderFactory dbDecoderFactory;
    descriptor: Lcom/mongodb/DBDecoderFactory;
    flags: (0x0001) ACC_PUBLIC

  public com.mongodb.DBEncoderFactory dbEncoderFactory;
    descriptor: Lcom/mongodb/DBEncoderFactory;
    flags: (0x0001) ACC_PUBLIC

  public boolean safe;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public int w;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int wtimeout;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean fsync;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean j;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public javax.net.SocketFactory socketFactory;
    descriptor: Ljavax/net/SocketFactory;
    flags: (0x0001) ACC_PUBLIC

  public boolean cursorFinalizerEnabled;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public com.mongodb.WriteConcern writeConcern;
    descriptor: Lcom/mongodb/WriteConcern;
    flags: (0x0001) ACC_PUBLIC

  public boolean alwaysUseMBeans;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  java.lang.String requiredReplicaSetName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 164
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 165
            aload 0 /* this */
            invokevirtual com.mongodb.MongoOptions.reset:()V
         2: .line 166
            return
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/MongoOptions;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(com.mongodb.MongoClientOptions);
    descriptor: (Lcom/mongodb/MongoClientOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // com.mongodb.MongoClientOptions options
         0: .line 176
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 177
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getConnectionsPerHost:()I
            putfield com.mongodb.MongoOptions.connectionsPerHost:I
         2: .line 178
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getThreadsAllowedToBlockForConnectionMultiplier:()I
            putfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
         3: .line 179
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getMaxWaitTime:()I
            putfield com.mongodb.MongoOptions.maxWaitTime:I
         4: .line 180
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getConnectTimeout:()I
            putfield com.mongodb.MongoOptions.connectTimeout:I
         5: .line 181
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getSocketFactory:()Ljavax/net/SocketFactory;
            putfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
         6: .line 182
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getSocketTimeout:()I
            putfield com.mongodb.MongoOptions.socketTimeout:I
         7: .line 183
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.isSocketKeepAlive:()Z
            putfield com.mongodb.MongoOptions.socketKeepAlive:Z
         8: .line 184
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getReadPreference:()Lcom/mongodb/ReadPreference;
            putfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
         9: .line 185
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getDbDecoderFactory:()Lcom/mongodb/DBDecoderFactory;
            putfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
        10: .line 186
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getDbEncoderFactory:()Lcom/mongodb/DBEncoderFactory;
            putfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
        11: .line 187
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getDescription:()Ljava/lang/String;
            putfield com.mongodb.MongoOptions.description:Ljava/lang/String;
        12: .line 188
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getWriteConcern:()Lcom/mongodb/WriteConcern;
            putfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
        13: .line 189
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.isAlwaysUseMBeans:()Z
            putfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
        14: .line 190
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual com.mongodb.MongoClientOptions.getRequiredReplicaSetName:()Ljava/lang/String;
            putfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
        15: .line 191
            return
        end local 1 // com.mongodb.MongoClientOptions options
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lcom/mongodb/MongoOptions;
            0   16     1  options  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      options  final

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 197
            aload 0 /* this */
            bipush 10
            putfield com.mongodb.MongoOptions.connectionsPerHost:I
         1: .line 198
            aload 0 /* this */
            iconst_5
            putfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
         2: .line 199
            aload 0 /* this */
            ldc 120000
            putfield com.mongodb.MongoOptions.maxWaitTime:I
         3: .line 200
            aload 0 /* this */
            sipush 10000
            putfield com.mongodb.MongoOptions.connectTimeout:I
         4: .line 201
            aload 0 /* this */
            invokestatic javax.net.SocketFactory.getDefault:()Ljavax/net/SocketFactory;
            putfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
         5: .line 202
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.socketTimeout:I
         6: .line 203
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.socketKeepAlive:Z
         7: .line 204
            aload 0 /* this */
            aconst_null
            putfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
         8: .line 205
            aload 0 /* this */
            aconst_null
            putfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
         9: .line 206
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.safe:Z
        10: .line 207
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.w:I
        11: .line 208
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.wtimeout:I
        12: .line 209
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.fsync:Z
        13: .line 210
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.j:Z
        14: .line 211
            aload 0 /* this */
            getstatic com.mongodb.DefaultDBDecoder.FACTORY:Lcom/mongodb/DBDecoderFactory;
            putfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
        15: .line 212
            aload 0 /* this */
            getstatic com.mongodb.DefaultDBEncoder.FACTORY:Lcom/mongodb/DBEncoderFactory;
            putfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
        16: .line 213
            aload 0 /* this */
            aconst_null
            putfield com.mongodb.MongoOptions.description:Ljava/lang/String;
        17: .line 214
            aload 0 /* this */
            iconst_1
            putfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
        18: .line 215
            aload 0 /* this */
            iconst_0
            putfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
        19: .line 216
            aload 0 /* this */
            aconst_null
            putfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
        20: .line 217
            return
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lcom/mongodb/MongoOptions;

  public com.mongodb.MongoOptions copy();
    descriptor: ()Lcom/mongodb/MongoOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 225
            new com.mongodb.MongoOptions
            dup
            invokespecial com.mongodb.MongoOptions.<init>:()V
            astore 1 /* m */
        start local 1 // com.mongodb.MongoOptions m
         1: .line 226
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            putfield com.mongodb.MongoOptions.connectionsPerHost:I
         2: .line 227
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            putfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
         3: .line 228
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            putfield com.mongodb.MongoOptions.maxWaitTime:I
         4: .line 229
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            putfield com.mongodb.MongoOptions.connectTimeout:I
         5: .line 230
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            putfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
         6: .line 231
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            putfield com.mongodb.MongoOptions.socketTimeout:I
         7: .line 232
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            putfield com.mongodb.MongoOptions.socketKeepAlive:Z
         8: .line 233
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            putfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
         9: .line 234
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            putfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
        10: .line 235
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            putfield com.mongodb.MongoOptions.safe:Z
        11: .line 236
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            putfield com.mongodb.MongoOptions.w:I
        12: .line 237
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            putfield com.mongodb.MongoOptions.wtimeout:I
        13: .line 238
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            putfield com.mongodb.MongoOptions.fsync:Z
        14: .line 239
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            putfield com.mongodb.MongoOptions.j:Z
        15: .line 240
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            putfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
        16: .line 241
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            putfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
        17: .line 242
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            putfield com.mongodb.MongoOptions.description:Ljava/lang/String;
        18: .line 243
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            putfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
        19: .line 244
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            putfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
        20: .line 245
            aload 1 /* m */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            putfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
        21: .line 246
            aload 1 /* m */
            areturn
        end local 1 // com.mongodb.MongoOptions m
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lcom/mongodb/MongoOptions;
            1   22     1     m  Lcom/mongodb/MongoOptions;

  com.mongodb.MongoClientOptions toClientOptions();
    descriptor: ()Lcom/mongodb/MongoClientOptions;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 251
            invokestatic com.mongodb.MongoClientOptions.builder:()Lcom/mongodb/MongoClientOptions$Builder;
         1: .line 252
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual com.mongodb.MongoClientOptions$Builder.requiredReplicaSetName:(Ljava/lang/String;)Lcom/mongodb/MongoClientOptions$Builder;
         2: .line 253
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            invokevirtual com.mongodb.MongoClientOptions$Builder.connectionsPerHost:(I)Lcom/mongodb/MongoClientOptions$Builder;
         3: .line 254
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            invokevirtual com.mongodb.MongoClientOptions$Builder.connectTimeout:(I)Lcom/mongodb/MongoClientOptions$Builder;
         4: .line 255
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual com.mongodb.MongoClientOptions$Builder.dbDecoderFactory:(Lcom/mongodb/DBDecoderFactory;)Lcom/mongodb/MongoClientOptions$Builder;
         5: .line 256
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual com.mongodb.MongoClientOptions$Builder.dbEncoderFactory:(Lcom/mongodb/DBEncoderFactory;)Lcom/mongodb/MongoClientOptions$Builder;
         6: .line 257
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            invokevirtual com.mongodb.MongoClientOptions$Builder.description:(Ljava/lang/String;)Lcom/mongodb/MongoClientOptions$Builder;
         7: .line 258
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            invokevirtual com.mongodb.MongoClientOptions$Builder.maxWaitTime:(I)Lcom/mongodb/MongoClientOptions$Builder;
         8: .line 259
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual com.mongodb.MongoClientOptions$Builder.socketFactory:(Ljavax/net/SocketFactory;)Lcom/mongodb/MongoClientOptions$Builder;
         9: .line 260
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            invokevirtual com.mongodb.MongoClientOptions$Builder.socketKeepAlive:(Z)Lcom/mongodb/MongoClientOptions$Builder;
        10: .line 261
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            invokevirtual com.mongodb.MongoClientOptions$Builder.socketTimeout:(I)Lcom/mongodb/MongoClientOptions$Builder;
        11: .line 262
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            invokevirtual com.mongodb.MongoClientOptions$Builder.threadsAllowedToBlockForConnectionMultiplier:(I)Lcom/mongodb/MongoClientOptions$Builder;
        12: .line 263
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            invokevirtual com.mongodb.MongoClientOptions$Builder.cursorFinalizerEnabled:(Z)Lcom/mongodb/MongoClientOptions$Builder;
        13: .line 264
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            invokevirtual com.mongodb.MongoClientOptions$Builder.alwaysUseMBeans:(Z)Lcom/mongodb/MongoClientOptions$Builder;
        14: .line 251
            astore 1 /* builder */
        start local 1 // com.mongodb.MongoClientOptions$Builder builder
        15: .line 266
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual com.mongodb.MongoOptions.getWriteConcern:()Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.MongoClientOptions$Builder.writeConcern:(Lcom/mongodb/WriteConcern;)Lcom/mongodb/MongoClientOptions$Builder;
            pop
        16: .line 268
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            ifnull 18
        17: .line 269
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual com.mongodb.MongoOptions.getReadPreference:()Lcom/mongodb/ReadPreference;
            invokevirtual com.mongodb.MongoClientOptions$Builder.readPreference:(Lcom/mongodb/ReadPreference;)Lcom/mongodb/MongoClientOptions$Builder;
            pop
        18: .line 271
      StackMap locals: com.mongodb.MongoClientOptions$Builder
      StackMap stack:
            aload 1 /* builder */
            invokevirtual com.mongodb.MongoClientOptions$Builder.build:()Lcom/mongodb/MongoClientOptions;
            areturn
        end local 1 // com.mongodb.MongoClientOptions$Builder builder
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lcom/mongodb/MongoOptions;
           15   19     1  builder  Lcom/mongodb/MongoClientOptions$Builder;

  public com.mongodb.WriteConcern getWriteConcern();
    descriptor: ()Lcom/mongodb/WriteConcern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 283
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            ifnull 3
         1: .line 284
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        start local 1 // com.mongodb.WriteConcern retVal
         2: .line 285
            goto 18
        end local 1 // com.mongodb.WriteConcern retVal
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            ifne 4
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            ifne 4
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            ior
            ifeq 14
         4: .line 286
      StackMap locals:
      StackMap stack:
            getstatic com.mongodb.WriteConcern.ACKNOWLEDGED:Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        start local 1 // com.mongodb.WriteConcern retVal
         5: .line 287
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            ifeq 7
         6: .line 288
            aload 1 /* retVal */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            invokevirtual com.mongodb.WriteConcern.withW:(I)Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
         7: .line 290
      StackMap locals: com.mongodb.WriteConcern
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            ifeq 9
         8: .line 291
            aload 1 /* retVal */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.WriteConcern.withWTimeout:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
         9: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            ifeq 11
        10: .line 294
            aload 1 /* retVal */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            invokevirtual com.mongodb.WriteConcern.withFsync:(Z)Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        11: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            ifeq 18
        12: .line 297
            aload 1 /* retVal */
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            invokevirtual com.mongodb.WriteConcern.withJ:(Z)Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        13: .line 299
            goto 18
        end local 1 // com.mongodb.WriteConcern retVal
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            ifeq 17
        15: .line 300
            getstatic com.mongodb.WriteConcern.ACKNOWLEDGED:Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        start local 1 // com.mongodb.WriteConcern retVal
        16: .line 301
            goto 18
        end local 1 // com.mongodb.WriteConcern retVal
        17: .line 302
      StackMap locals:
      StackMap stack:
            getstatic com.mongodb.WriteConcern.UNACKNOWLEDGED:Lcom/mongodb/WriteConcern;
            astore 1 /* retVal */
        start local 1 // com.mongodb.WriteConcern retVal
        18: .line 304
      StackMap locals: com.mongodb.WriteConcern
      StackMap stack:
            aload 1 /* retVal */
            areturn
        end local 1 // com.mongodb.WriteConcern retVal
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lcom/mongodb/MongoOptions;
            2    3     1  retVal  Lcom/mongodb/WriteConcern;
            5   14     1  retVal  Lcom/mongodb/WriteConcern;
           16   17     1  retVal  Lcom/mongodb/WriteConcern;
           18   19     1  retVal  Lcom/mongodb/WriteConcern;

  public void setWriteConcern(com.mongodb.WriteConcern);
    descriptor: (Lcom/mongodb/WriteConcern;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // com.mongodb.WriteConcern writeConcern
         0: .line 314
            aload 0 /* this */
            aload 1 /* writeConcern */
            putfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
         1: .line 315
            return
        end local 1 // com.mongodb.WriteConcern writeConcern
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/mongodb/MongoOptions;
            0    2     1  writeConcern  Lcom/mongodb/WriteConcern;
    MethodParameters:
              Name  Flags
      writeConcern  final

  public synchronized javax.net.SocketFactory getSocketFactory();
    descriptor: ()Ljavax/net/SocketFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 323
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setSocketFactory(javax.net.SocketFactory);
    descriptor: (Ljavax/net/SocketFactory;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // javax.net.SocketFactory factory
         0: .line 332
            aload 0 /* this */
            aload 1 /* factory */
            putfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
         1: .line 333
            return
        end local 1 // javax.net.SocketFactory factory
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/MongoOptions;
            0    2     1  factory  Ljavax/net/SocketFactory;
    MethodParameters:
         Name  Flags
      factory  final

  public synchronized java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 341
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // java.lang.String desc
         0: .line 350
            aload 0 /* this */
            aload 1 /* desc */
            putfield com.mongodb.MongoOptions.description:Ljava/lang/String;
         1: .line 351
            return
        end local 1 // java.lang.String desc
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/MongoOptions;
            0    2     1  desc  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      desc  final

  public synchronized int getConnectionsPerHost();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 359
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setConnectionsPerHost(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int connections
         0: .line 369
            aload 0 /* this */
            iload 1 /* connections */
            putfield com.mongodb.MongoOptions.connectionsPerHost:I
         1: .line 370
            return
        end local 1 // int connections
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/mongodb/MongoOptions;
            0    2     1  connections  I
    MethodParameters:
             Name  Flags
      connections  final

  public synchronized int getThreadsAllowedToBlockForConnectionMultiplier();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 379
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setThreadsAllowedToBlockForConnectionMultiplier(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int threads
         0: .line 391
            aload 0 /* this */
            iload 1 /* threads */
            putfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
         1: .line 392
            return
        end local 1 // int threads
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/MongoOptions;
            0    2     1  threads  I
    MethodParameters:
         Name  Flags
      threads  final

  public synchronized int getMaxWaitTime();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 400
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setMaxWaitTime(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int timeMS
         0: .line 410
            aload 0 /* this */
            iload 1 /* timeMS */
            putfield com.mongodb.MongoOptions.maxWaitTime:I
         1: .line 411
            return
        end local 1 // int timeMS
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/mongodb/MongoOptions;
            0    2     1  timeMS  I
    MethodParameters:
        Name  Flags
      timeMS  final

  public synchronized int getConnectTimeout();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 419
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setConnectTimeout(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int timeoutMS
         0: .line 429
            aload 0 /* this */
            iload 1 /* timeoutMS */
            putfield com.mongodb.MongoOptions.connectTimeout:I
         1: .line 430
            return
        end local 1 // int timeoutMS
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/mongodb/MongoOptions;
            0    2     1  timeoutMS  I
    MethodParameters:
           Name  Flags
      timeoutMS  final

  public synchronized int getSocketTimeout();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 438
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setSocketTimeout(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int timeoutMS
         0: .line 448
            aload 0 /* this */
            iload 1 /* timeoutMS */
            putfield com.mongodb.MongoOptions.socketTimeout:I
         1: .line 449
            return
        end local 1 // int timeoutMS
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/mongodb/MongoOptions;
            0    2     1  timeoutMS  I
    MethodParameters:
           Name  Flags
      timeoutMS  final

  public synchronized boolean isSocketKeepAlive();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 457
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setSocketKeepAlive(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean keepAlive
         0: .line 467
            aload 0 /* this */
            iload 1 /* keepAlive */
            putfield com.mongodb.MongoOptions.socketKeepAlive:Z
         1: .line 468
            return
        end local 1 // boolean keepAlive
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/mongodb/MongoOptions;
            0    2     1  keepAlive  Z
    MethodParameters:
           Name  Flags
      keepAlive  final

  public synchronized com.mongodb.DBDecoderFactory getDbDecoderFactory();
    descriptor: ()Lcom/mongodb/DBDecoderFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 476
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setDbDecoderFactory(com.mongodb.DBDecoderFactory);
    descriptor: (Lcom/mongodb/DBDecoderFactory;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // com.mongodb.DBDecoderFactory factory
         0: .line 485
            aload 0 /* this */
            aload 1 /* factory */
            putfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
         1: .line 486
            return
        end local 1 // com.mongodb.DBDecoderFactory factory
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/MongoOptions;
            0    2     1  factory  Lcom/mongodb/DBDecoderFactory;
    MethodParameters:
         Name  Flags
      factory  final

  public synchronized com.mongodb.DBEncoderFactory getDbEncoderFactory();
    descriptor: ()Lcom/mongodb/DBEncoderFactory;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 494
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setDbEncoderFactory(com.mongodb.DBEncoderFactory);
    descriptor: (Lcom/mongodb/DBEncoderFactory;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // com.mongodb.DBEncoderFactory factory
         0: .line 503
            aload 0 /* this */
            aload 1 /* factory */
            putfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
         1: .line 504
            return
        end local 1 // com.mongodb.DBEncoderFactory factory
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/mongodb/MongoOptions;
            0    2     1  factory  Lcom/mongodb/DBEncoderFactory;
    MethodParameters:
         Name  Flags
      factory  final

  public synchronized boolean isSafe();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 512
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setSafe(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean isSafe
         0: .line 522
            aload 0 /* this */
            iload 1 /* isSafe */
            putfield com.mongodb.MongoOptions.safe:Z
         1: .line 523
            return
        end local 1 // boolean isSafe
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/mongodb/MongoOptions;
            0    2     1  isSafe  Z
    MethodParameters:
        Name  Flags
      isSafe  final

  public synchronized int getW();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 531
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setW(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int val
         0: .line 540
            aload 0 /* this */
            iload 1 /* val */
            putfield com.mongodb.MongoOptions.w:I
         1: .line 541
            return
        end local 1 // int val
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/MongoOptions;
            0    2     1   val  I
    MethodParameters:
      Name  Flags
      val   final

  public synchronized int getWtimeout();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 549
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setWtimeout(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // int timeoutMS
         0: .line 558
            aload 0 /* this */
            iload 1 /* timeoutMS */
            putfield com.mongodb.MongoOptions.wtimeout:I
         1: .line 559
            return
        end local 1 // int timeoutMS
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/mongodb/MongoOptions;
            0    2     1  timeoutMS  I
    MethodParameters:
           Name  Flags
      timeoutMS  final

  public synchronized boolean isFsync();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 567
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setFsync(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean sync
         0: .line 577
            aload 0 /* this */
            iload 1 /* sync */
            putfield com.mongodb.MongoOptions.fsync:Z
         1: .line 578
            return
        end local 1 // boolean sync
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/MongoOptions;
            0    2     1  sync  Z
    MethodParameters:
      Name  Flags
      sync  final

  public synchronized boolean isJ();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 586
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public synchronized void setJ(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean safe
         0: .line 595
            aload 0 /* this */
            iload 1 /* safe */
            putfield com.mongodb.MongoOptions.j:Z
         1: .line 596
            return
        end local 1 // boolean safe
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/MongoOptions;
            0    2     1  safe  Z
    MethodParameters:
      Name  Flags
      safe  final

  public com.mongodb.ReadPreference getReadPreference();
    descriptor: ()Lcom/mongodb/ReadPreference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 604
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public void setReadPreference(com.mongodb.ReadPreference);
    descriptor: (Lcom/mongodb/ReadPreference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // com.mongodb.ReadPreference readPreference
         0: .line 613
            aload 0 /* this */
            aload 1 /* readPreference */
            putfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
         1: .line 614
            return
        end local 1 // com.mongodb.ReadPreference readPreference
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/mongodb/MongoOptions;
            0    2     1  readPreference  Lcom/mongodb/ReadPreference;
    MethodParameters:
                Name  Flags
      readPreference  final

  public boolean isCursorFinalizerEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 622
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public void setCursorFinalizerEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean cursorFinalizerEnabled
         0: .line 632
            aload 0 /* this */
            iload 1 /* cursorFinalizerEnabled */
            putfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
         1: .line 634
            return
        end local 1 // boolean cursorFinalizerEnabled
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lcom/mongodb/MongoOptions;
            0    2     1  cursorFinalizerEnabled  Z
    MethodParameters:
                        Name  Flags
      cursorFinalizerEnabled  final

  public boolean isAlwaysUseMBeans();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 643
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            ireturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public void setAlwaysUseMBeans(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // boolean alwaysUseMBeans
         0: .line 653
            aload 0 /* this */
            iload 1 /* alwaysUseMBeans */
            putfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
         1: .line 654
            return
        end local 1 // boolean alwaysUseMBeans
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/mongodb/MongoOptions;
            0    2     1  alwaysUseMBeans  Z
    MethodParameters:
                 Name  Flags
      alwaysUseMBeans  final

  public java.lang.String getRequiredReplicaSetName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 663
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoOptions;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.mongodb.MongoOptions this
        start local 1 // java.lang.Object o
         0: .line 669
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 670
            iconst_1
            ireturn
         2: .line 672
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 673
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 676
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.mongodb.MongoOptions
            astore 2 /* options */
        start local 2 // com.mongodb.MongoOptions options
         5: .line 678
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            if_icmpeq 7
         6: .line 679
            iconst_0
            ireturn
         7: .line 681
      StackMap locals: com.mongodb.MongoOptions
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            if_icmpeq 9
         8: .line 682
            iconst_0
            ireturn
         9: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            if_icmpeq 11
        10: .line 685
            iconst_0
            ireturn
        11: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            if_icmpeq 13
        12: .line 688
            iconst_0
            ireturn
        13: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.fsync:Z
            if_icmpeq 15
        14: .line 691
            iconst_0
            ireturn
        15: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.j:Z
            if_icmpeq 17
        16: .line 694
            iconst_0
            ireturn
        17: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            if_icmpeq 19
        18: .line 697
            iconst_0
            ireturn
        19: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.safe:Z
            if_icmpeq 21
        20: .line 700
            iconst_0
            ireturn
        21: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            if_icmpeq 23
        22: .line 703
            iconst_0
            ireturn
        23: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            if_icmpeq 25
        24: .line 706
            iconst_0
            ireturn
        25: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            if_icmpeq 27
        26: .line 709
            iconst_0
            ireturn
        27: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.w:I
            if_icmpeq 29
        28: .line 712
            iconst_0
            ireturn
        29: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.wtimeout:I
            if_icmpeq 31
        30: .line 715
            iconst_0
            ireturn
        31: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 32
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 34
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 2 /* options */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 34
        33: .line 718
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        34: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 35
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 37
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 2 /* options */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 37
        36: .line 721
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        37: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            ifnull 38
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 2 /* options */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            ifnull 40
        39: .line 724
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        40: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            ifnull 41
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 43
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 2 /* options */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            ifnull 43
        42: .line 727
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        43: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 44
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 46
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 2 /* options */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 46
        45: .line 730
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        46: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            ifnull 47
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.WriteConcern.equals:(Ljava/lang/Object;)Z
            ifne 49
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 2 /* options */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            ifnull 49
        48: .line 733
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        49: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 50
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 52
            goto 51
        50: .line 736
      StackMap locals:
      StackMap stack:
            aload 2 /* options */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 52
        51: .line 737
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 739
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.mongodb.MongoOptions options
        end local 1 // java.lang.Object o
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Lcom/mongodb/MongoOptions;
            0   53     1        o  Ljava/lang/Object;
            5   53     2  options  Lcom/mongodb/MongoOptions;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 744
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* result */
        start local 1 // int result
         3: .line 745
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            iadd
            istore 1 /* result */
         4: .line 746
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            iadd
            istore 1 /* result */
         5: .line 747
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            iadd
            istore 1 /* result */
         6: .line 748
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            iadd
            istore 1 /* result */
         7: .line 749
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            iadd
            istore 1 /* result */
         8: .line 750
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int
         9: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        10: iadd
            istore 1 /* result */
        11: .line 751
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            ifnull 12
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.Object.hashCode:()I
            goto 13
      StackMap locals:
      StackMap stack: int
        12: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        13: iadd
            istore 1 /* result */
        14: .line 752
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 15
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 16
      StackMap locals:
      StackMap stack: int
        15: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        16: iadd
            istore 1 /* result */
        17: .line 753
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 18
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 19
      StackMap locals:
      StackMap stack: int
        18: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        19: iadd
            istore 1 /* result */
        20: .line 754
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            ifeq 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack: int
        21: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        22: iadd
            istore 1 /* result */
        23: .line 755
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            iadd
            istore 1 /* result */
        24: .line 756
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            iadd
            istore 1 /* result */
        25: .line 757
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            ifeq 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack: int
        26: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        27: iadd
            istore 1 /* result */
        28: .line 758
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            ifeq 29
            iconst_1
            goto 30
      StackMap locals:
      StackMap stack: int
        29: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        30: iadd
            istore 1 /* result */
        31: .line 759
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 32
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 33
      StackMap locals:
      StackMap stack: int
        32: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        33: iadd
            istore 1 /* result */
        34: .line 760
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            ifeq 35
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack: int
        35: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        36: iadd
            istore 1 /* result */
        37: .line 761
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            ifnull 38
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.WriteConcern.hashCode:()I
            goto 39
      StackMap locals:
      StackMap stack: int
        38: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        39: iadd
            istore 1 /* result */
        40: .line 762
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            ifeq 41
            iconst_1
            goto 42
      StackMap locals:
      StackMap stack: int
        41: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        42: iadd
            istore 1 /* result */
        43: .line 763
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 44
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 45
      StackMap locals:
      StackMap stack: int
        44: iconst_0
      StackMap locals: com.mongodb.MongoOptions int
      StackMap stack: int int
        45: iadd
            istore 1 /* result */
        46: .line 764
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   47     0    this  Lcom/mongodb/MongoOptions;
            3   47     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mongodb.MongoOptions this
         0: .line 769
            new java.lang.StringBuilder
            dup
            ldc "MongoOptions{description='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 770
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.description:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 771
            ldc ", connectionsPerHost="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectionsPerHost:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 772
            ldc ", threadsAllowedToBlockForConnectionMultiplier="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.threadsAllowedToBlockForConnectionMultiplier:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 773
            ldc ", maxWaitTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.maxWaitTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 774
            ldc ", connectTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.connectTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 775
            ldc ", socketTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 776
            ldc ", socketKeepAlive="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketKeepAlive:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         8: .line 777
            ldc ", readPreference="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         9: .line 778
            ldc ", dbDecoderFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        10: .line 779
            ldc ", dbEncoderFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        11: .line 780
            ldc ", safe="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.safe:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        12: .line 781
            ldc ", w="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.w:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        13: .line 782
            ldc ", wtimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.wtimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 783
            ldc ", fsync="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.fsync:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        15: .line 784
            ldc ", j="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.j:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        16: .line 785
            ldc ", socketFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        17: .line 786
            ldc ", cursorFinalizerEnabled="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.cursorFinalizerEnabled:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        18: .line 787
            ldc ", writeConcern="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        19: .line 788
            ldc ", alwaysUseMBeans="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.alwaysUseMBeans:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        20: .line 789
            ldc ", requiredReplicaSetName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 790
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        22: .line 769
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lcom/mongodb/MongoOptions;
}
SourceFile: "MongoOptions.java"
InnerClasses:
  public Builder = com.mongodb.MongoClientOptions$Builder of com.mongodb.MongoClientOptions
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()