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 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 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 113
            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 114
            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 115
            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 116
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.minConnectionsPerHost:I
            putfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
         5: .line 117
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionsPerHost:I
            putfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
         6: .line 118
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.threadsAllowedToBlockForConnectionMultiplier:I
            putfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
         7: .line 119
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverSelectionTimeout:I
            putfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
         8: .line 120
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxWaitTime:I
            putfield com.mongodb.MongoClientOptions.maxWaitTime:I
         9: .line 121
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionIdleTime:I
            putfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
        10: .line 122
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.maxConnectionLifeTime:I
            putfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
        11: .line 123
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.connectTimeout:I
            putfield com.mongodb.MongoClientOptions.connectTimeout:I
        12: .line 124
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketTimeout:I
            putfield com.mongodb.MongoClientOptions.socketTimeout:I
        13: .line 125
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketKeepAlive:Z
            putfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
        14: .line 126
            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 127
            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 128
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.retryWrites:Z
            putfield com.mongodb.MongoClientOptions.retryWrites:Z
        17: .line 129
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.retryReads:Z
            putfield com.mongodb.MongoClientOptions.retryReads:Z
        18: .line 130
            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 131
            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 132
            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;
        21: .line 133
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.sslEnabled:Z
            putfield com.mongodb.MongoClientOptions.sslEnabled:Z
        22: .line 134
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.sslInvalidHostNameAllowed:Z
            putfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
        23: .line 135
            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;
        24: .line 136
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.alwaysUseMBeans:Z
            putfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
        25: .line 137
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatFrequency:I
            putfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
        26: .line 138
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.minHeartbeatFrequency:I
            putfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
        27: .line 139
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatConnectTimeout:I
            putfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
        28: .line 140
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.heartbeatSocketTimeout:I
            putfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
        29: .line 141
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.localThreshold:I
            putfield com.mongodb.MongoClientOptions.localThreshold:I
        30: .line 142
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.requiredReplicaSetName:Ljava/lang/String;
            putfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
        31: .line 143
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            putfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
        32: .line 144
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            putfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
        33: .line 145
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.socketFactory:Ljavax/net/SocketFactory;
            putfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
        34: .line 146
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.cursorFinalizerEnabled:Z
            putfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
        35: .line 148
            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;
        36: .line 149
            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;
        37: .line 150
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            putfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
        38: .line 152
            invokestatic com.mongodb.connection.ConnectionPoolSettings.builder:()Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        39: .line 153
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getMinConnectionsPerHost:()I
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.minSize:(I)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        40: .line 154
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.getConnectionsPerHost:()I
            invokevirtual com.mongodb.connection.ConnectionPoolSettings$Builder.maxSize:(I)Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
        41: .line 155
            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;
        42: .line 156
            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;
        43: .line 157
            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;
        44: .line 158
            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;
        45: .line 152
            astore 2 /* connectionPoolSettingsBuilder */
        start local 2 // com.mongodb.connection.ConnectionPoolSettings$Builder connectionPoolSettingsBuilder
        46: .line 160
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.connectionPoolListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 49
      StackMap locals: com.mongodb.MongoClientOptions com.mongodb.MongoClientOptions$Builder com.mongodb.connection.ConnectionPoolSettings$Builder top java.util.Iterator
      StackMap stack:
        47: 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
        48: .line 161
            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
        49: .line 160
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        50: .line 164
            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;
        51: .line 166
            aload 0 /* this */
            invokestatic com.mongodb.connection.SocketSettings.builder:()Lcom/mongodb/connection/SocketSettings$Builder;
        52: .line 167
            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;
        53: .line 168
            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;
        54: .line 169
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.isSocketKeepAlive:()Z
            invokevirtual com.mongodb.connection.SocketSettings$Builder.keepAlive:(Z)Lcom/mongodb/connection/SocketSettings$Builder;
        55: .line 170
            invokevirtual com.mongodb.connection.SocketSettings$Builder.build:()Lcom/mongodb/connection/SocketSettings;
        56: .line 166
            putfield com.mongodb.MongoClientOptions.socketSettings:Lcom/mongodb/connection/SocketSettings;
        57: .line 171
            aload 0 /* this */
            invokestatic com.mongodb.connection.SocketSettings.builder:()Lcom/mongodb/connection/SocketSettings$Builder;
        58: .line 172
            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;
        59: .line 173
            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;
        60: .line 174
            aload 0 /* this */
            invokevirtual com.mongodb.MongoClientOptions.isSocketKeepAlive:()Z
            invokevirtual com.mongodb.connection.SocketSettings$Builder.keepAlive:(Z)Lcom/mongodb/connection/SocketSettings$Builder;
        61: .line 175
            invokevirtual com.mongodb.connection.SocketSettings$Builder.build:()Lcom/mongodb/connection/SocketSettings;
        62: .line 171
            putfield com.mongodb.MongoClientOptions.heartbeatSocketSettings:Lcom/mongodb/connection/SocketSettings;
        63: .line 177
            invokestatic com.mongodb.connection.ServerSettings.builder:()Lcom/mongodb/connection/ServerSettings$Builder;
        64: .line 178
            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;
        65: .line 179
            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;
        66: .line 177
            astore 3 /* serverSettingsBuilder */
        start local 3 // com.mongodb.connection.ServerSettings$Builder serverSettingsBuilder
        67: .line 181
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 70
      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:
        68: 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
        69: .line 182
            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
        70: .line 181
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 68
        71: .line 185
            aload 1 /* builder */
            getfield com.mongodb.MongoClientOptions$Builder.serverMonitorListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 74
      StackMap locals:
      StackMap stack:
        72: 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
        73: .line 186
            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
        74: .line 185
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 72
        75: .line 189
            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;
        76: .line 192
            aload 0 /* this */
            invokestatic com.mongodb.connection.SslSettings.builder:()Lcom/mongodb/connection/SslSettings$Builder;
        77: .line 193
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            invokevirtual com.mongodb.connection.SslSettings$Builder.enabled:(Z)Lcom/mongodb/connection/SslSettings$Builder;
        78: .line 194
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            invokevirtual com.mongodb.connection.SslSettings$Builder.invalidHostNameAllowed:(Z)Lcom/mongodb/connection/SslSettings$Builder;
        79: .line 195
            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;
        80: .line 196
            invokevirtual com.mongodb.connection.SslSettings$Builder.build:()Lcom/mongodb/connection/SslSettings;
        81: .line 192
            putfield com.mongodb.MongoClientOptions.sslSettings:Lcom/mongodb/connection/SslSettings;
        82: .line 197
            goto 85
      StackMap locals: com.mongodb.MongoClientOptions com.mongodb.MongoClientOptions$Builder com.mongodb.connection.ConnectionPoolSettings$Builder com.mongodb.connection.ServerSettings$Builder
      StackMap stack: com.mongodb.MongoInternalException
        83: pop
        84: .line 199
            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
        85: .line 203
      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   86     0                           this  Lcom/mongodb/MongoClientOptions;
            0   86     1                        builder  Lcom/mongodb/MongoClientOptions$Builder;
           46   86     2  connectionPoolSettingsBuilder  Lcom/mongodb/connection/ConnectionPoolSettings$Builder;
           48   49     3         connectionPoolListener  Lcom/mongodb/event/ConnectionPoolListener;
           67   86     3          serverSettingsBuilder  Lcom/mongodb/connection/ServerSettings$Builder;
           69   70     4                 serverListener  Lcom/mongodb/event/ServerListener;
           73   74     4          serverMonitorListener  Lcom/mongodb/event/ServerMonitorListener;
      Exception table:
        from    to  target  type
          76    82      83  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 212
            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 223
            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 236
            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 250
            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 264
            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 277
            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 289
            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 302
            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;

  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 315
            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 326
            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 339
            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 352
            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 364
            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 376
            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 392
            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 405
            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 418
            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 430
            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 442
            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 463
            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 480
            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 492
            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 505
            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 515
            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 527
            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 539
            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 552
            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 563
            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 575
            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 590
            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 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 618
            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 628
            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 640
            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 650
            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 660
            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 670
            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 681
            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 692
            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 706
            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 719
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 2
         1: .line 720
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            areturn
         2: .line 721
      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 722
            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 724
      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 739
            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 754
            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()
    RuntimeInvisibleAnnotations: 
      com.mongodb.annotations.Beta()

  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 758
            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 762
            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 766
            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 770
            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 774
            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 779
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 780
            iconst_1
            ireturn
         2: .line 782
      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 783
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 786
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.mongodb.MongoClientOptions
            astore 2 /* that */
        start local 2 // com.mongodb.MongoClientOptions that
         5: .line 788
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            if_icmpeq 7
         6: .line 789
            iconst_0
            ireturn
         7: .line 791
      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 792
            iconst_0
            ireturn
         9: .line 794
      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 795
            iconst_0
            ireturn
        11: .line 797
      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 798
            iconst_0
            ireturn
        13: .line 800
      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 801
            iconst_0
            ireturn
        15: .line 803
      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 804
            iconst_0
            ireturn
        17: .line 806
      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 807
            iconst_0
            ireturn
        19: .line 809
      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 810
            iconst_0
            ireturn
        21: .line 812
      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 813
            iconst_0
            ireturn
        23: .line 815
      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 816
            iconst_0
            ireturn
        25: .line 818
      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 819
            iconst_0
            ireturn
        27: .line 821
      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 822
            iconst_0
            ireturn
        29: .line 824
      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 825
            iconst_0
            ireturn
        31: .line 827
      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 828
            iconst_0
            ireturn
        33: .line 830
      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 831
            iconst_0
            ireturn
        35: .line 833
      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 834
            iconst_0
            ireturn
        37: .line 836
      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 837
            iconst_0
            ireturn
        39: .line 839
      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 840
            iconst_0
            ireturn
        41: .line 842
      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 843
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        44: .line 845
      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 846
            iconst_0
            ireturn
        46: .line 848
      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 849
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        49: .line 851
      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 852
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 854
      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 855
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        55: .line 857
      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 858
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        58: .line 860
      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 861
            iconst_0
            ireturn
        60: .line 863
      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 864
            iconst_0
            ireturn
        62: .line 866
      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 867
            iconst_0
            ireturn
        64: .line 869
      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 870
            iconst_0
            ireturn
        66: .line 872
      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 873
            iconst_0
            ireturn
        68: .line 875
      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 876
            iconst_0
            ireturn
        70: .line 878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 71
            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 73
            goto 72
      StackMap locals:
      StackMap stack:
        71: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 73
        72: .line 879
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        73: .line 881
      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 75
        74: .line 882
            iconst_0
            ireturn
        75: .line 884
      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 77
        76: .line 885
            iconst_0
            ireturn
        77: .line 887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 78
            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 80
            goto 79
        78: .line 888
      StackMap locals:
      StackMap stack:
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 80
        79: .line 889
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        80: .line 891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 81
            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 83
            goto 82
      StackMap locals:
      StackMap stack:
        81: aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 83
        82: .line 892
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        83: .line 894
      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 85
        84: .line 895
            iconst_0
            ireturn
        85: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 86
            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 88
            goto 87
        86: .line 898
      StackMap locals:
      StackMap stack:
            aload 2 /* that */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 88
        87: .line 899
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        88: .line 902
      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   89     0  this  Lcom/mongodb/MongoClientOptions;
            0   89     1     o  Ljava/lang/Object;
            5   89     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 907
            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 908
            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 909
            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 910
            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 911
            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 912
            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 913
            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 914
            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 915
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            ifnull 19
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelector:Lcom/mongodb/selector/ServerSelector;
            invokevirtual java.lang.Object.hashCode:()I
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        20: iadd
            istore 1 /* result */
        21: .line 916
            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 */
        22: .line 917
            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 */
        23: .line 918
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minConnectionsPerHost:I
            iadd
            istore 1 /* result */
        24: .line 919
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionsPerHost:I
            iadd
            istore 1 /* result */
        25: .line 920
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.threadsAllowedToBlockForConnectionMultiplier:I
            iadd
            istore 1 /* result */
        26: .line 921
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.serverSelectionTimeout:I
            iadd
            istore 1 /* result */
        27: .line 922
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxWaitTime:I
            iadd
            istore 1 /* result */
        28: .line 923
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionIdleTime:I
            iadd
            istore 1 /* result */
        29: .line 924
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.maxConnectionLifeTime:I
            iadd
            istore 1 /* result */
        30: .line 925
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.connectTimeout:I
            iadd
            istore 1 /* result */
        31: .line 926
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketTimeout:I
            iadd
            istore 1 /* result */
        32: .line 927
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketKeepAlive:Z
            ifeq 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack: int
        33: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        34: iadd
            istore 1 /* result */
        35: .line 928
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslEnabled:Z
            ifeq 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack: int
        36: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        37: iadd
            istore 1 /* result */
        38: .line 929
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.sslInvalidHostNameAllowed:Z
            ifeq 39
            iconst_1
            goto 40
      StackMap locals:
      StackMap stack: int
        39: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        40: iadd
            istore 1 /* result */
        41: .line 930
            bipush 31
            iload 1 /* result */
            imul
            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;
            invokevirtual java.lang.Object.hashCode:()I
            goto 43
      StackMap locals:
      StackMap stack: int
        42: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        43: iadd
            istore 1 /* result */
        44: .line 931
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.alwaysUseMBeans:Z
            ifeq 45
            iconst_1
            goto 46
      StackMap locals:
      StackMap stack: int
        45: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        46: iadd
            istore 1 /* result */
        47: .line 932
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatFrequency:I
            iadd
            istore 1 /* result */
        48: .line 933
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.minHeartbeatFrequency:I
            iadd
            istore 1 /* result */
        49: .line 934
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatConnectTimeout:I
            iadd
            istore 1 /* result */
        50: .line 935
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.heartbeatSocketTimeout:I
            iadd
            istore 1 /* result */
        51: .line 936
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.localThreshold:I
            iadd
            istore 1 /* result */
        52: .line 937
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            ifnull 53
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.requiredReplicaSetName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 54
      StackMap locals:
      StackMap stack: int
        53: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        54: iadd
            istore 1 /* result */
        55: .line 938
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            ifnull 56
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbDecoderFactory:Lcom/mongodb/DBDecoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 57
      StackMap locals:
      StackMap stack: int
        56: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        57: iadd
            istore 1 /* result */
        58: .line 939
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            ifnull 59
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.dbEncoderFactory:Lcom/mongodb/DBEncoderFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 60
      StackMap locals:
      StackMap stack: int
        59: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        60: iadd
            istore 1 /* result */
        61: .line 940
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.cursorFinalizerEnabled:Z
            ifeq 62
            iconst_1
            goto 63
      StackMap locals:
      StackMap stack: int
        62: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        63: iadd
            istore 1 /* result */
        64: .line 941
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            ifnull 65
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.socketFactory:Ljavax/net/SocketFactory;
            invokevirtual java.lang.Object.hashCode:()I
            goto 66
      StackMap locals:
      StackMap stack: int
        65: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        66: iadd
            istore 1 /* result */
        67: .line 942
            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 */
        68: .line 943
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            ifnull 69
            aload 0 /* this */
            getfield com.mongodb.MongoClientOptions.autoEncryptionSettings:Lcom/mongodb/AutoEncryptionSettings;
            invokevirtual java.lang.Object.hashCode:()I
            goto 70
      StackMap locals:
      StackMap stack: int
        69: iconst_0
      StackMap locals: com.mongodb.MongoClientOptions int
      StackMap stack: int int
        70: iadd
            istore 1 /* result */
        71: .line 944
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   72     0    this  Lcom/mongodb/MongoClientOptions;
            3   72     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 949
            new java.lang.StringBuilder
            dup
            ldc "MongoClientOptions{description='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 950
            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 951
            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 952
            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 953
            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 954
            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 955
            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 956
            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 957
            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 958
            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 959
            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;
        11: .line 960
            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;
        12: .line 961
            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;
        13: .line 962
            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;
        14: .line 963
            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;
        15: .line 964
            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;
        16: .line 965
            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;
        17: .line 966
            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;
        18: .line 967
            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;
        19: .line 968
            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;
        20: .line 969
            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;
        21: .line 970
            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;
        22: .line 971
            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;
        23: .line 972
            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;
        24: .line 973
            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;
        25: .line 974
            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;
        26: .line 975
            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;
        27: .line 976
            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;
        28: .line 977
            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;
        29: .line 978
            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;
        30: .line 979
            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;
        31: .line 980
            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;
        32: .line 981
            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;
        33: .line 982
            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;
        34: .line 983
            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;
        35: .line 984
            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;
        36: .line 985
            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;
        37: .line 986
            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;
        38: .line 987
            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;
        39: .line 988
            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;
        40: .line 989
            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;
        41: .line 990
            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;
        42: .line 991
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        43: .line 949
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.MongoClientOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   44     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()