public class com.mongodb.MongoClientOptions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.MongoClientOptions
  super_class: java.lang.Object
{
  private static final javax.net.SocketFactory DEFAULT_SSL_SOCKET_FACTORY;
    descriptor: Ljavax/net/SocketFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final javax.net.SocketFactory DEFAULT_SOCKET_FACTORY;
    descriptor: Ljavax/net/SocketFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String applicationName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<com.mongodb.MongoCompressor> compressorList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/mongodb/MongoCompressor;>;

  private final com.mongodb.ReadPreference readPreference;
    descriptor: Lcom/mongodb/ReadPreference;
    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 final boolean retryReads;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.ReadConcern readConcern;
    descriptor: Lcom/mongodb/ReadConcern;
    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 org.bson.UuidRepresentation uuidRepresentation;
    descriptor: Lorg/bson/UuidRepresentation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.selector.ServerSelector serverSelector;
    descriptor: Lcom/mongodb/selector/ServerSelector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int minConnectionsPerHost;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxConnectionsPerHost;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int threadsAllowedToBlockForConnectionMultiplier;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int serverSelectionTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxWaitTime;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxConnectionIdleTime;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxConnectionLifeTime;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int connectTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int socketTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final javax.net.ssl.SSLContext sslContext;
    descriptor: Ljavax/net/ssl/SSLContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int heartbeatFrequency;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int minHeartbeatFrequency;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int heartbeatConnectTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int heartbeatSocketTimeout;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int localThreshold;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String requiredReplicaSetName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final javax.net.SocketFactory socketFactory;
    descriptor: Ljavax/net/SocketFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final com.mongodb.connection.ConnectionPoolSettings connectionPoolSettings;
    descriptor: Lcom/mongodb/connection/ConnectionPoolSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.SocketSettings socketSettings;
    descriptor: Lcom/mongodb/connection/SocketSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.ServerSettings serverSettings;
    descriptor: Lcom/mongodb/connection/ServerSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.SocketSettings heartbeatSocketSettings;
    descriptor: Lcom/mongodb/connection/SocketSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.mongodb.connection.SslSettings sslSettings;
    descriptor: Lcom/mongodb/connection/SslSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<com.mongodb.event.ClusterListener> clusterListeners;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/mongodb/event/ClusterListener;>;

  private final java.util.List<com.mongodb.event.CommandListener> commandListeners;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/mongodb/event/CommandListener;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 60
            invokestatic javax.net.ssl.SSLSocketFactory.getDefault:()Ljavax/net/SocketFactory;
            putstatic com.mongodb.MongoClientOptions.DEFAULT_SSL_SOCKET_FACTORY:Ljavax/net/SocketFactory;
         1: .line 61
            invokestatic javax.net.SocketFactory.getDefault:()Ljavax/net/SocketFactory;
            putstatic com.mongodb.MongoClientOptions.DEFAULT_SOCKET_FACTORY:Ljavax/net/SocketFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(com.mongodb.MongoClientOptions$Builder);
    descriptor: (Lcom/mongodb/MongoClientOptions$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.mongodb.MongoClientOptions this
        start local 1 // com.mongodb.MongoClientOptions$Builder builder
         0: .line 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.description:Ljava/lang/String;
            putfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
         2: .line 115
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.applicationName:Ljava/lang/String;
            putfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
         3: .line 116
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.compressorList:Ljava/util/List;
            putfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
         4: .line 117
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.minConnectionsPerHost:I
            putfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
         5: .line 118
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionsPerHost:I
            putfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
         6: .line 119
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.threadsAllowedToBlockForConnectionMultiplier:I
            putfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
         7: .line 120
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverSelectionTimeout:I
            putfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
         8: .line 121
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxWaitTime:I
            putfield com.mongodb.MongoClientOptions.maxWaitTime:I
         9: .line 122
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionIdleTime:I
            putfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
        10: .line 123
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionLifeTime:I
            putfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
        11: .line 124
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.connectTimeout:I
            putfield com.mongodb.MongoClientOptions.connectTimeout:I
        12: .line 125
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketTimeout:I
            putfield com.mongodb.MongoClientOptions.socketTimeout:I
        13: .line 126
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketKeepAlive:Z
            putfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
        14: .line 127
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.readPreference:Lcom/mongodb/ReadPreference;
            putfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
        15: .line 128
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.writeConcern:Lcom/mongodb/WriteConcern;
            putfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
        16: .line 129
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.retryWrites:Z
            putfield com.mongodb.MongoClientOptions.retryWrites:Z
        17: .line 130
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.retryReads:Z
            putfield com.mongodb.MongoClientOptions.retryReads:Z
        18: .line 131
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.readConcern:Lcom/mongodb/ReadConcern;
            putfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
        19: .line 132
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            putfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
        20: .line 133
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.uuidRepresentation:Lorg/bson/UuidRepresentation;
            putfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
        21: .line 134
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverSelector:Lcom/mongodb/selector/ServerSelector;
            putfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
        22: .line 135
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.sslEnabled:Z
            putfield com.mongodb.MongoClientOptions.sslEnabled:Z
        23: .line 136
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.sslInvalidHostNameAllowed:Z
            putfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
        24: .line 137
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.sslContext:Ljavax/net/ssl/SSLContext;
            putfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
        25: .line 138
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.alwaysUseMBeans:Z
            putfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
        26: .line 139
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatFrequency:I
            putfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
        27: .line 140
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.minHeartbeatFrequency:I
            putfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
        28: .line 141
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatConnectTimeout:I
            putfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
        29: .line 142
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatSocketTimeout:I
            putfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
        30: .line 143
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.localThreshold:I
            putfield com.mongodb.MongoClientOptions.localThreshold:I
        31: .line 144
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.requiredReplicaSetName:Ljava/lang/String;
            putfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
        32: .line 145
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            putfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
        33: .line 146
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            putfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
        34: .line 147
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketFactory:Ljavax/net/SocketFactory;
            putfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
        35: .line 148
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.cursorFinalizerEnabled:Z
            putfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
        36: .line 150
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.clusterListeners:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
        37: .line 151
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.commandListeners:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
        38: .line 152
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            putfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
        39: .line 154
            invokestatic com.mongodb.connection.ConnectionPoolSettings.builder:()Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        40: .line 155
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMinConnectionsPerHost:()I
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.minSize:(I)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        41: .line 156
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getConnectionsPerHost:()I
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxSize:(I)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        42: .line 157
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getThreadsAllowedToBlockForConnectionMultiplier:()I
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getConnectionsPerHost:()I
            imul
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxWaitQueueSize:(I)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        43: .line 158
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMaxWaitTime:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxWaitTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        44: .line 159
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMaxConnectionIdleTime:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxConnectionIdleTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        45: .line 160
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMaxConnectionLifeTime:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxConnectionLifeTime:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        46: .line 154
            astore 2 /* connectionPoolSettingsBuilder */
        start local 2 // com.mongodb.connection.ConnectionPoolSettings$Builder connectionPoolSettingsBuilder
        47: .line 162
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.connectionPoolListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 50
      StackMap locals: com.mongodb.MongoClientOptions com.mongodb.MongoClientOptions$Builder com.mongodb.connection.ConnectionPoolSettings$Builder top java.util.Iterator
      StackMap stack:
        48: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.event.ConnectionPoolListener
            astore 3 /* connectionPoolListener */
        start local 3 // com.mongodb.event.ConnectionPoolListener connectionPoolListener
        49: .line 163
            aload 2 /* connectionPoolSettingsBuilder */
            aload 3 /* connectionPoolListener */
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.addConnectionPoolListener:(Lcom/mongodb/event/ConnectionPoolListener;)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
            pop
        end local 3 // com.mongodb.event.ConnectionPoolListener connectionPoolListener
        50: .line 162
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        51: .line 166
            aload 0 /* this */
            aload 2 /* connectionPoolSettingsBuilder */
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.build:()Lcom/mongodb/connection/ConnectionPoolSettings;
            putfield com.mongodb.MongoClientOptions.connectionPoolSettings:Lcom/mongodb/connection/ConnectionPoolSettings;
        52: .line 168
            aload 0 /* this */
            invokestatic com.mongodb.connection.SocketSettings.builder:()Lcom/mongodb/connection/SocketSettings$Builder;
        53: .line 169
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getConnectTimeout:()I
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.SocketSettings$Builder.connectTimeout:(ILjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/SocketSettings$Builder;
        54: .line 170
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getSocketTimeout:()I
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.SocketSettings$Builder.readTimeout:(ILjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/SocketSettings$Builder;
        55: .line 171
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.isSocketKeepAlive:()Z
            invokevirtual com.mongodb.connection.SocketSettings$Builder.keepAlive:(Z)Lcom/mongodb/connection/SocketSettings$Builder;
        56: .line 172
            invokevirtual com.mongodb.connection.SocketSettings$Builder.build:()Lcom/mongodb/connection/SocketSettings;
        57: .line 168
            putfield com.mongodb.MongoClientOptions.socketSettings:Lcom/mongodb/connection/SocketSettings;
        58: .line 173
            aload 0 /* this */
            invokestatic com.mongodb.connection.SocketSettings.builder:()Lcom/mongodb/connection/SocketSettings$Builder;
        59: .line 174
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getHeartbeatConnectTimeout:()I
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.SocketSettings$Builder.connectTimeout:(ILjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/SocketSettings$Builder;
        60: .line 175
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getHeartbeatSocketTimeout:()I
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.SocketSettings$Builder.readTimeout:(ILjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/SocketSettings$Builder;
        61: .line 176
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.isSocketKeepAlive:()Z
            invokevirtual com.mongodb.connection.SocketSettings$Builder.keepAlive:(Z)Lcom/mongodb/connection/SocketSettings$Builder;
        62: .line 177
            invokevirtual com.mongodb.connection.SocketSettings$Builder.build:()Lcom/mongodb/connection/SocketSettings;
        63: .line 173
            putfield com.mongodb.MongoClientOptions.heartbeatSocketSettings:Lcom/mongodb/connection/SocketSettings;
        64: .line 179
            invokestatic com.mongodb.connection.ServerSettings.builder:()Lcom/mongodb/connection/ServerSettings$Builder;
        65: .line 180
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getHeartbeatFrequency:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.ServerSettings$Builder.heartbeatFrequency:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ServerSettings$Builder;
        66: .line 181
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMinHeartbeatFrequency:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual com.mongodb.connection.ServerSettings$Builder.minHeartbeatFrequency:(JLjava/util/concurrent/TimeUnit;)Lcom/mongodb/connection/ServerSettings$Builder;
        67: .line 179
            astore 3 /* serverSettingsBuilder */
        start local 3 // com.mongodb.connection.ServerSettings$Builder serverSettingsBuilder
        68: .line 183
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 71
      StackMap locals: com.mongodb.MongoClientOptions com.mongodb.MongoClientOptions$Builder com.mongodb.connection.ConnectionPoolSettings$Builder com.mongodb.connection.ServerSettings$Builder top java.util.Iterator
      StackMap stack:
        69: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.event.ServerListener
            astore 4 /* serverListener */
        start local 4 // com.mongodb.event.ServerListener serverListener
        70: .line 184
            aload 3 /* serverSettingsBuilder */
            aload 4 /* serverListener */
            invokevirtual com.mongodb.connection.ServerSettings$Builder.addServerListener:(Lcom/mongodb/event/ServerListener;)Lcom/mongodb/connection/ServerSettings$Builder;
            pop
        end local 4 // com.mongodb.event.ServerListener serverListener
        71: .line 183
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 69
        72: .line 187
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverMonitorListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 75
      StackMap locals:
      StackMap stack:
        73: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.mongodb.event.ServerMonitorListener
            astore 4 /* serverMonitorListener */
        start local 4 // com.mongodb.event.ServerMonitorListener serverMonitorListener
        74: .line 188
            aload 3 /* serverSettingsBuilder */
            aload 4 /* serverMonitorListener */
            invokevirtual com.mongodb.connection.ServerSettings$Builder.addServerMonitorListener:(Lcom/mongodb/event/ServerMonitorListener;)Lcom/mongodb/connection/ServerSettings$Builder;
            pop
        end local 4 // com.mongodb.event.ServerMonitorListener serverMonitorListener
        75: .line 187
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 73
        76: .line 191
            aload 0 /* this */
            aload 3 /* serverSettingsBuilder */
            invokevirtual com.mongodb.connection.ServerSettings$Builder.build:()Lcom/mongodb/connection/ServerSettings;
            putfield com.mongodb.MongoClientOptions.serverSettings:Lcom/mongodb/connection/ServerSettings;
        77: .line 194
            aload 0 /* this */
            invokestatic com.mongodb.connection.SslSettings.builder:()Lcom/mongodb/connection/SslSettings$Builder;
        78: .line 195
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            invokevirtual com.mongodb.connection.SslSettings$Builder.enabled:(Z)Lcom/mongodb/connection/SslSettings$Builder;
        79: .line 196
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            invokevirtual com.mongodb.connection.SslSettings$Builder.invalidHostNameAllowed:(Z)Lcom/mongodb/connection/SslSettings$Builder;
        80: .line 197
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            invokevirtual com.mongodb.connection.SslSettings$Builder.context:(Ljavax/net/ssl/SSLContext;)Lcom/mongodb/connection/SslSettings$Builder;
        81: .line 198
            invokevirtual com.mongodb.connection.SslSettings$Builder.build:()Lcom/mongodb/connection/SslSettings;
        82: .line 194
            putfield com.mongodb.MongoClientOptions.sslSettings:Lcom/mongodb/connection/SslSettings;
        83: .line 199
            goto 86
      StackMap locals: com.mongodb.MongoClientOptions com.mongodb.MongoClientOptions$Builder com.mongodb.connection.ConnectionPoolSettings$Builder com.mongodb.connection.ServerSettings$Builder
      StackMap stack: com.mongodb.MongoInternalException
        84: pop
        85: .line 201
            new com.mongodb.MongoInternalException
            dup
            ldc "By default, SSL connections are only supported on Java 7 or later.  If the application must run on Java 6, you must set the MongoClientOptions.sslInvalidHostNameAllowed property to true"
            invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
            athrow
        86: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.mongodb.connection.ServerSettings$Builder serverSettingsBuilder
        end local 2 // com.mongodb.connection.ConnectionPoolSettings$Builder connectionPoolSettingsBuilder
        end local 1 // com.mongodb.MongoClientOptions$Builder builder
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   87     0                           this  Lcom/mongodb/MongoClientOptions;
            0   87     1                        builder  Lcom/mongodb/MongoClientOptions$Builder;
           47   87     2  connectionPoolSettingsBuilder  Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
           49   50     3         connectionPoolListener  Lcom/mongodb/event/ConnectionPoolListener;
           68   87     3          serverSettingsBuilder  Lcom/mongodb/connection/ServerSettings$Builder;
           70   71     4                 serverListener  Lcom/mongodb/event/ServerListener;
           74   75     4          serverMonitorListener  Lcom/mongodb/event/ServerMonitorListener;
      Exception table:
        from    to  target  type
          77    83      84  Class com.mongodb.MongoInternalException
    MethodParameters:
         Name  Flags
      builder  final

  public static com.mongodb.MongoClientOptions$Builder builder();
    descriptor: ()Lcom/mongodb/MongoClientOptions$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 214
            new com.mongodb.MongoClientOptions$Builder
            dup
            invokespecial com.mongodb.MongoClientOptions$Builder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.mongodb.MongoClientOptions$Builder builder(com.mongodb.MongoClientOptions);
    descriptor: (Lcom/mongodb/MongoClientOptions;)Lcom/mongodb/MongoClientOptions$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions options
         0: .line 225
            new com.mongodb.MongoClientOptions$Builder
            dup
            aload 0 /* options */
            invokespecial com.mongodb.MongoClientOptions$Builder.<init>:(Lcom/mongodb/MongoClientOptions;)V
            areturn
        end local 0 // com.mongodb.MongoClientOptions options
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  options  Lcom/mongodb/MongoClientOptions;
    MethodParameters:
         Name  Flags
      options  final

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

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

  public java.util.List<com.mongodb.MongoCompressor> getCompressorList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 266
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/MongoCompressor;>;

  public int getConnectionsPerHost();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 278
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getMinConnectionsPerHost();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 290
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getThreadsAllowedToBlockForConnectionMultiplier();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 305
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getServerSelectionTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 318
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

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

  public int getMaxConnectionIdleTime();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 342
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getMaxConnectionLifeTime();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 355
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

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

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

  public boolean isSocketKeepAlive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 395
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getHeartbeatFrequency();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 408
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getMinHeartbeatFrequency();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 421
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getHeartbeatConnectTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 433
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getHeartbeatSocketTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 445
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public int getLocalThreshold();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 466
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            ireturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  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.MongoClientOptions this
         0: .line 483
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

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

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

  public javax.net.ssl.SSLContext getSslContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 518
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  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.MongoClientOptions this
         0: .line 530
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public com.mongodb.WriteConcern getWriteConcern();
    descriptor: ()Lcom/mongodb/WriteConcern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 542
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

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

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

  public com.mongodb.ReadConcern getReadConcern();
    descriptor: ()Lcom/mongodb/ReadConcern;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 578
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public org.bson.codecs.configuration.CodecRegistry getCodecRegistry();
    descriptor: ()Lorg/bson/codecs/configuration/CodecRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 593
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public org.bson.UuidRepresentation getUuidRepresentation();
    descriptor: ()Lorg/bson/UuidRepresentation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 613
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public com.mongodb.selector.ServerSelector getServerSelector();
    descriptor: ()Lcom/mongodb/selector/ServerSelector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 641
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  public java.util.List<com.mongodb.event.ClusterListener> getClusterListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 651
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/event/ClusterListener;>;

  public java.util.List<com.mongodb.event.CommandListener> getCommandListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 663
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/event/CommandListener;>;

  public java.util.List<com.mongodb.event.ConnectionPoolListener> getConnectionPoolListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 673
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectionPoolSettings:Lcom/mongodb/connection/ConnectionPoolSettings;
            invokevirtual com.mongodb.connection.ConnectionPoolSettings.getConnectionPoolListeners:()Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/event/ConnectionPoolListener;>;

  public java.util.List<com.mongodb.event.ServerListener> getServerListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 683
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSettings:Lcom/mongodb/connection/ServerSettings;
            invokevirtual com.mongodb.connection.ServerSettings.getServerListeners:()Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/event/ServerListener;>;

  public java.util.List<com.mongodb.event.ServerMonitorListener> getServerMonitorListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 693
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSettings:Lcom/mongodb/connection/ServerSettings;
            invokevirtual com.mongodb.connection.ServerSettings.getServerMonitorListeners:()Ljava/util/List;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    Signature: ()Ljava/util/List<Lcom/mongodb/event/ServerMonitorListener;>;

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

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

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

  public javax.net.SocketFactory getSocketFactory();
    descriptor: ()Ljavax/net/SocketFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 742
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 2
         1: .line 743
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            areturn
         2: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getSslSettings:()Lcom/mongodb/connection/SslSettings;
            invokevirtual com.mongodb.connection.SslSettings.isEnabled:()Z
            ifeq 6
         3: .line 745
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            ifnonnull 4
            getstatic com.mongodb.MongoClientOptions.DEFAULT_SSL_SOCKET_FACTORY:Ljavax/net/SocketFactory;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
      StackMap locals:
      StackMap stack: javax.net.SocketFactory
         5: areturn
         6: .line 747
      StackMap locals:
      StackMap stack:
            getstatic com.mongodb.MongoClientOptions.DEFAULT_SOCKET_FACTORY:Ljavax/net/SocketFactory;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

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

  public com.mongodb.AutoEncryptionSettings getAutoEncryptionSettings();
    descriptor: ()Lcom/mongodb/AutoEncryptionSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 773
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  com.mongodb.connection.ConnectionPoolSettings getConnectionPoolSettings();
    descriptor: ()Lcom/mongodb/connection/ConnectionPoolSettings;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 777
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectionPoolSettings:Lcom/mongodb/connection/ConnectionPoolSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  com.mongodb.connection.SocketSettings getSocketSettings();
    descriptor: ()Lcom/mongodb/connection/SocketSettings;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 781
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketSettings:Lcom/mongodb/connection/SocketSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  com.mongodb.connection.ServerSettings getServerSettings();
    descriptor: ()Lcom/mongodb/connection/ServerSettings;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 785
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSettings:Lcom/mongodb/connection/ServerSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  com.mongodb.connection.SocketSettings getHeartbeatSocketSettings();
    descriptor: ()Lcom/mongodb/connection/SocketSettings;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 789
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketSettings:Lcom/mongodb/connection/SocketSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  com.mongodb.connection.SslSettings getSslSettings();
    descriptor: ()Lcom/mongodb/connection/SslSettings;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.MongoClientOptions this
         0: .line 793
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslSettings:Lcom/mongodb/connection/SslSettings;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/MongoClientOptions;

  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.MongoClientOptions this
        start local 1 // java.lang.Object o
         0: .line 798
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 799
            iconst_1
            ireturn
         2: .line 801
      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 802
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 805
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.mongodb.MongoClientOptions
            astore 2 /* that */
        start local 2 // com.mongodb.MongoClientOptions that
         5: .line 807
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            if_icmpeq 7
         6: .line 808
            iconst_0
            ireturn
         7: .line 810
      StackMap locals: com.mongodb.MongoClientOptions
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
            if_icmpeq 9
         8: .line 811
            iconst_0
            ireturn
         9: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectTimeout:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.connectTimeout:I
            if_icmpeq 11
        10: .line 814
            iconst_0
            ireturn
        11: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
            if_icmpeq 13
        12: .line 817
            iconst_0
            ireturn
        13: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            if_icmpeq 15
        14: .line 820
            iconst_0
            ireturn
        15: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            if_icmpeq 17
        16: .line 823
            iconst_0
            ireturn
        17: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            if_icmpeq 19
        18: .line 826
            iconst_0
            ireturn
        19: .line 828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            if_icmpeq 21
        20: .line 829
            iconst_0
            ireturn
        21: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            if_icmpeq 23
        22: .line 832
            iconst_0
            ireturn
        23: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            if_icmpeq 25
        24: .line 835
            iconst_0
            ireturn
        25: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            if_icmpeq 27
        26: .line 838
            iconst_0
            ireturn
        27: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            if_icmpeq 29
        28: .line 841
            iconst_0
            ireturn
        29: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxWaitTime:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.maxWaitTime:I
            if_icmpeq 31
        30: .line 844
            iconst_0
            ireturn
        31: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            if_icmpeq 33
        32: .line 847
            iconst_0
            ireturn
        33: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            if_icmpeq 35
        34: .line 850
            iconst_0
            ireturn
        35: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketTimeout:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.socketTimeout:I
            if_icmpeq 37
        36: .line 853
            iconst_0
            ireturn
        37: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            if_icmpeq 39
        38: .line 856
            iconst_0
            ireturn
        39: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            if_icmpeq 41
        40: .line 859
            iconst_0
            ireturn
        41: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            ifnull 42
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 44
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            ifnull 44
        43: .line 862
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        44: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            if_icmpeq 46
        45: .line 865
            iconst_0
            ireturn
        46: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 47
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 49
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 49
        48: .line 868
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        49: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 50
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 52
            goto 51
      StackMap locals:
      StackMap stack:
        50: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 52
        51: .line 871
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
            ifnull 53
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 55
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
            ifnull 55
        54: .line 874
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        55: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            ifnull 56
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 58
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            ifnull 58
        57: .line 877
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        58: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 60
        59: .line 880
            iconst_0
            ireturn
        60: .line 882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.WriteConcern.equals:(Ljava/lang/Object;)Z
            ifne 62
        61: .line 883
            iconst_0
            ireturn
        62: .line 885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryWrites:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.retryWrites:Z
            if_icmpeq 64
        63: .line 886
            iconst_0
            ireturn
        64: .line 888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryReads:Z
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.retryReads:Z
            if_icmpeq 66
        65: .line 889
            iconst_0
            ireturn
        66: .line 891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            invokevirtual com.mongodb.ReadConcern.equals:(Ljava/lang/Object;)Z
            ifne 68
        67: .line 892
            iconst_0
            ireturn
        68: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 70
        69: .line 895
            iconst_0
            ireturn
        70: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
            invokevirtual org.bson.UuidRepresentation.equals:(Ljava/lang/Object;)Z
            ifne 72
        71: .line 898
            iconst_0
            ireturn
        72: .line 900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 73
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 75
            goto 74
      StackMap locals:
      StackMap stack:
        73: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 75
        74: .line 901
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        75: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 77
        76: .line 904
            iconst_0
            ireturn
        77: .line 906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 79
        78: .line 907
            iconst_0
            ireturn
        79: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 80
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 82
            goto 81
        80: .line 910
      StackMap locals:
      StackMap stack:
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 82
        81: .line 911
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        82: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 83
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 85
            goto 84
      StackMap locals:
      StackMap stack:
        83: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 85
        84: .line 914
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        85: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 87
        86: .line 917
            iconst_0
            ireturn
        87: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 88
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 90
            goto 89
        88: .line 920
      StackMap locals:
      StackMap stack:
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 90
        89: .line 921
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        90: .line 924
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.mongodb.MongoClientOptions that
        end local 1 // java.lang.Object o
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   91     0  this  Lcom/mongodb/MongoClientOptions;
            0   91     1     o  Ljava/lang/Object;
            5   91     2  that  Lcom/mongodb/MongoClientOptions;
    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.MongoClientOptions this
         0: .line 929
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.description:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.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 930
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            ifnull 4
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.applicationName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 5
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int
         4: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
         5: iadd
            istore 1 /* result */
         6: .line 931
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         7: .line 932
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual com.mongodb.WriteConcern.hashCode:()I
            iadd
            istore 1 /* result */
         8: .line 933
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryWrites:Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        10: iadd
            istore 1 /* result */
        11: .line 934
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryReads:Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: int
        12: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        13: iadd
            istore 1 /* result */
        14: .line 935
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            ifnull 15
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            invokevirtual com.mongodb.ReadConcern.hashCode:()I
            goto 16
      StackMap locals:
      StackMap stack: int
        15: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        16: iadd
            istore 1 /* result */
        17: .line 936
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
        18: .line 937
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
            invokevirtual org.bson.UuidRepresentation.hashCode:()I
            iadd
            istore 1 /* result */
        19: .line 938
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 20
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            invokevirtual java.lang.Object.hashCode:()I
            goto 21
      StackMap locals:
      StackMap stack: int
        20: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        21: iadd
            istore 1 /* result */
        22: .line 939
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
        23: .line 940
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
        24: .line 941
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            iadd
            istore 1 /* result */
        25: .line 942
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            iadd
            istore 1 /* result */
        26: .line 943
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            iadd
            istore 1 /* result */
        27: .line 944
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            iadd
            istore 1 /* result */
        28: .line 945
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxWaitTime:I
            iadd
            istore 1 /* result */
        29: .line 946
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            iadd
            istore 1 /* result */
        30: .line 947
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            iadd
            istore 1 /* result */
        31: .line 948
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectTimeout:I
            iadd
            istore 1 /* result */
        32: .line 949
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketTimeout:I
            iadd
            istore 1 /* result */
        33: .line 950
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            ifeq 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack: int
        34: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        35: iadd
            istore 1 /* result */
        36: .line 951
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            ifeq 37
            iconst_1
            goto 38
      StackMap locals:
      StackMap stack: int
        37: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        38: iadd
            istore 1 /* result */
        39: .line 952
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            ifeq 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack: int
        40: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        41: iadd
            istore 1 /* result */
        42: .line 953
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            ifnull 43
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            invokevirtual java.lang.Object.hashCode:()I
            goto 44
      StackMap locals:
      StackMap stack: int
        43: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        44: iadd
            istore 1 /* result */
        45: .line 954
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
            ifeq 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack: int
        46: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        47: iadd
            istore 1 /* result */
        48: .line 955
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            iadd
            istore 1 /* result */
        49: .line 956
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            iadd
            istore 1 /* result */
        50: .line 957
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            iadd
            istore 1 /* result */
        51: .line 958
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            iadd
            istore 1 /* result */
        52: .line 959
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            iadd
            istore 1 /* result */
        53: .line 960
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 54
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 55
      StackMap locals:
      StackMap stack: int
        54: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        55: iadd
            istore 1 /* result */
        56: .line 961
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 57
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 58
      StackMap locals:
      StackMap stack: int
        57: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        58: iadd
            istore 1 /* result */
        59: .line 962
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 60
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 61
      StackMap locals:
      StackMap stack: int
        60: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        61: iadd
            istore 1 /* result */
        62: .line 963
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
            ifeq 63
            iconst_1
            goto 64
      StackMap locals:
      StackMap stack: int
        63: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        64: iadd
            istore 1 /* result */
        65: .line 964
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 66
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 67
      StackMap locals:
      StackMap stack: int
        66: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        67: iadd
            istore 1 /* result */
        68: .line 965
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
        69: .line 966
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 70
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            invokevirtual java.lang.Object.hashCode:()I
            goto 71
      StackMap locals:
      StackMap stack: int
        70: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        71: iadd
            istore 1 /* result */
        72: .line 967
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   73     0    this  Lcom/mongodb/MongoClientOptions;
            3   73     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.MongoClientOptions this
         0: .line 972
            new java.lang.StringBuilder
            dup
            ldc "MongoClientOptions{description='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 973
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.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 974
            ldc ", applicationName='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.applicationName: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;
         3: .line 975
            ldc ", compressors='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.compressorList:Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 976
            ldc ", readPreference="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readPreference:Lcom/mongodb/ReadPreference;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 977
            ldc ", writeConcern="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.writeConcern:Lcom/mongodb/WriteConcern;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 978
            ldc ", retryWrites="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryWrites:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         7: .line 979
            ldc ", retryReads="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.retryReads:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         8: .line 980
            ldc ", readConcern="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.readConcern:Lcom/mongodb/ReadConcern;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         9: .line 981
            ldc ", codecRegistry="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        10: .line 982
            ldc ", uuidRepresentation="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.uuidRepresentation:Lorg/bson/UuidRepresentation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        11: .line 983
            ldc ", serverSelector="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        12: .line 984
            ldc ", clusterListeners="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.clusterListeners:Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 985
            ldc ", commandListeners="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.commandListeners:Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        14: .line 986
            ldc ", minConnectionsPerHost="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 987
            ldc ", maxConnectionsPerHost="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        16: .line 988
            ldc ", threadsAllowedToBlockForConnectionMultiplier="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 989
            ldc ", serverSelectionTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        18: .line 990
            ldc ", maxWaitTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxWaitTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 991
            ldc ", maxConnectionIdleTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        20: .line 992
            ldc ", maxConnectionLifeTime="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        21: .line 993
            ldc ", connectTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 994
            ldc ", socketTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        23: .line 995
            ldc ", socketKeepAlive="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        24: .line 996
            ldc ", sslEnabled="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        25: .line 997
            ldc ", sslInvalidHostNamesAllowed="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        26: .line 998
            ldc ", sslContext="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslContext:Ljavax/net/ssl/SSLContext;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        27: .line 999
            ldc ", alwaysUseMBeans="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        28: .line 1000
            ldc ", heartbeatFrequency="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        29: .line 1001
            ldc ", minHeartbeatFrequency="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        30: .line 1002
            ldc ", heartbeatConnectTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        31: .line 1003
            ldc ", heartbeatSocketTimeout="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        32: .line 1004
            ldc ", localThreshold="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        33: .line 1005
            ldc ", requiredReplicaSetName='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName: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;
        34: .line 1006
            ldc ", dbDecoderFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        35: .line 1007
            ldc ", dbEncoderFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        36: .line 1008
            ldc ", socketFactory="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        37: .line 1009
            ldc ", cursorFinalizerEnabled="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        38: .line 1010
            ldc ", connectionPoolSettings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectionPoolSettings:Lcom/mongodb/connection/ConnectionPoolSettings;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        39: .line 1011
            ldc ", socketSettings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketSettings:Lcom/mongodb/connection/SocketSettings;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        40: .line 1012
            ldc ", serverSettings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSettings:Lcom/mongodb/connection/ServerSettings;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        41: .line 1013
            ldc ", heartbeatSocketSettings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketSettings:Lcom/mongodb/connection/SocketSettings;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        42: .line 1014
            ldc ", autoEncryptionSettings="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        43: .line 1015
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        44: .line 972
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   45     0  this  Lcom/mongodb/MongoClientOptions;
}
SourceFile: "MongoClientOptions.java"
NestMembers:
  com.mongodb.MongoClientOptions$Builder
InnerClasses:
  public Builder = com.mongodb.MongoClientOptions$Builder of com.mongodb.MongoClientOptions
  public final Builder = com.mongodb.connection.ConnectionPoolSettings$Builder of com.mongodb.connection.ConnectionPoolSettings
  public final Builder = com.mongodb.connection.ServerSettings$Builder of com.mongodb.connection.ServerSettings
  public final Builder = com.mongodb.connection.SocketSettings$Builder of com.mongodb.connection.SocketSettings
  public final Builder = com.mongodb.connection.SslSettings$Builder of com.mongodb.connection.SslSettings
    RuntimeVisibleAnnotations: 
      com.mongodb.annotations.Immutable()