public class com.mongodb.connection.ServerDescription
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.connection.ServerDescription
  super_class: java.lang.Object
{
  public static final java.lang.String MIN_DRIVER_SERVER_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "2.6"

  public static final int MIN_DRIVER_WIRE_VERSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int MAX_DRIVER_WIRE_VERSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int DEFAULT_MAX_DOCUMENT_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16777216

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

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

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

  private final java.util.Set<java.lang.String> hosts;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.util.Set<java.lang.String> passives;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.util.Set<java.lang.String> arbiters;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

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

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

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

  private final long roundTripTimeNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

  private final org.bson.types.ObjectId electionId;
    descriptor: Lorg/bson/types/ObjectId;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.Date lastWriteDate;
    descriptor: Ljava/util/Date;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long lastUpdateTimeNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

  public java.lang.Integer getLogicalSessionTimeoutMinutes();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 123
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isCompatibleWithDriver();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 434
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.isIncompatiblyOlderThanDriver:()Z
            ifeq 2
         1: .line 435
            iconst_0
            ireturn
         2: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.isIncompatiblyNewerThanDriver:()Z
            ifeq 4
         3: .line 439
            iconst_0
            ireturn
         4: .line 442
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isIncompatiblyNewerThanDriver();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 453
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.minWireVersion:I
            bipush 8
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isIncompatiblyOlderThanDriver();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 464
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxWireVersion:I
            iconst_2
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/connection/ServerDescription;

  public static int getDefaultMaxDocumentSize();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 473
            ldc 16777216
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int getDefaultMinWireVersion();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 482
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int getDefaultMaxWireVersion();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 491
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.mongodb.ServerAddress getAddress();
    descriptor: ()Lcom/mongodb/ServerAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 500
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isReplicaSetMember();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 509
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            invokevirtual com.mongodb.connection.ServerType.getClusterType:()Lcom/mongodb/connection/ClusterType;
            getstatic com.mongodb.connection.ClusterType.REPLICA_SET:Lcom/mongodb/connection/ClusterType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isShardRouter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 518
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.SHARD_ROUTER:Lcom/mongodb/connection/ServerType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isStandAlone();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 527
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.STANDALONE:Lcom/mongodb/connection/ServerType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isPrimary();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 536
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifeq 2
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.REPLICA_SET_PRIMARY:Lcom/mongodb/connection/ServerType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.SHARD_ROUTER:Lcom/mongodb/connection/ServerType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.STANDALONE:Lcom/mongodb/connection/ServerType;
            if_acmpne 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean isSecondary();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 545
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifeq 2
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.REPLICA_SET_SECONDARY:Lcom/mongodb/connection/ServerType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.SHARD_ROUTER:Lcom/mongodb/connection/ServerType;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.STANDALONE:Lcom/mongodb/connection/ServerType;
            if_acmpne 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/connection/ServerDescription;

  public java.util.Set<java.lang.String> getHosts();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 555
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<java.lang.String> getPassives();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 564
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<java.lang.String> getArbiters();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 573
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

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

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

  public com.mongodb.TagSet getTagSet();
    descriptor: ()Lcom/mongodb/TagSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 600
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

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

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

  public org.bson.types.ObjectId getElectionId();
    descriptor: ()Lorg/bson/types/ObjectId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 629
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public java.lang.Integer getSetVersion();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 638
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public java.util.Date getLastWriteDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 649
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()

  public long getLastUpdateTime(java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/TimeUnit;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.connection.ServerDescription this
        start local 1 // java.util.concurrent.TimeUnit timeUnit
         0: .line 661
            aload 1 /* timeUnit */
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 1 // java.util.concurrent.TimeUnit timeUnit
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/connection/ServerDescription;
            0    1     1  timeUnit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
          Name  Flags
      timeUnit  final

  public boolean hasTags(com.mongodb.TagSet);
    descriptor: (Lcom/mongodb/TagSet;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.connection.ServerDescription this
        start local 1 // com.mongodb.TagSet desiredTags
         0: .line 673
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifne 2
         1: .line 674
            iconst_0
            ireturn
         2: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.STANDALONE:Lcom/mongodb/connection/ServerType;
            if_acmpeq 3
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            getstatic com.mongodb.connection.ServerType.SHARD_ROUTER:Lcom/mongodb/connection/ServerType;
            if_acmpne 4
         3: .line 678
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            aload 1 /* desiredTags */
            invokevirtual com.mongodb.TagSet.containsAll:(Lcom/mongodb/TagSet;)Z
            ireturn
        end local 1 // com.mongodb.TagSet desiredTags
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/mongodb/connection/ServerDescription;
            0    5     1  desiredTags  Lcom/mongodb/TagSet;
    MethodParameters:
             Name  Flags
      desiredTags  final

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

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

  public com.mongodb.connection.ServerConnectionState getState();
    descriptor: ()Lcom/mongodb/connection/ServerConnectionState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 708
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public com.mongodb.connection.ServerType getType();
    descriptor: ()Lcom/mongodb/connection/ServerType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 717
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public com.mongodb.connection.ClusterType getClusterType();
    descriptor: ()Lcom/mongodb/connection/ClusterType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 726
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            invokevirtual com.mongodb.connection.ServerType.getClusterType:()Lcom/mongodb/connection/ClusterType;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public com.mongodb.connection.ServerVersion getVersion();
    descriptor: ()Lcom/mongodb/connection/ServerVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 737
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public long getRoundTripTimeNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 746
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.roundTripTimeNanos:J
            lreturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public java.lang.Throwable getException();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 756
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.mongodb.connection.ServerDescription this
        start local 1 // java.lang.Object o
         0: .line 767
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 768
            iconst_1
            ireturn
         2: .line 770
      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 771
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 774
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast com.mongodb.connection.ServerDescription
            astore 2 /* that */
        start local 2 // com.mongodb.connection.ServerDescription that
         5: .line 776
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxDocumentSize:I
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.maxDocumentSize:I
            if_icmpeq 7
         6: .line 777
            iconst_0
            ireturn
         7: .line 779
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            if_icmpeq 9
         8: .line 780
            iconst_0
            ireturn
         9: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            invokevirtual com.mongodb.ServerAddress.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 783
            iconst_0
            ireturn
        11: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 786
            iconst_0
            ireturn
        13: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            ifnull 16
        15: .line 789
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        16: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 792
            iconst_0
            ireturn
        18: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 20
        19: .line 795
            iconst_0
            ireturn
        20: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            ifnull 21
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            ifnull 23
        22: .line 798
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        23: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            ifnull 24
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 26
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            ifnull 26
        25: .line 801
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        26: .line 803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            if_acmpeq 28
        27: .line 804
            iconst_0
            ireturn
        28: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            invokevirtual com.mongodb.TagSet.equals:(Ljava/lang/Object;)Z
            ifne 30
        29: .line 807
            iconst_0
            ireturn
        30: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            if_acmpeq 32
        31: .line 810
            iconst_0
            ireturn
        32: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
            invokevirtual com.mongodb.connection.ServerVersion.equals:(Ljava/lang/Object;)Z
            ifne 34
        33: .line 813
            iconst_0
            ireturn
        34: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.minWireVersion:I
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.minWireVersion:I
            if_icmpeq 36
        35: .line 816
            iconst_0
            ireturn
        36: .line 818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxWireVersion:I
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.maxWireVersion:I
            if_icmpeq 38
        37: .line 819
            iconst_0
            ireturn
        38: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            ifnull 39
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            invokevirtual org.bson.types.ObjectId.equals:(Ljava/lang/Object;)Z
            ifne 41
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            ifnull 41
        40: .line 822
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        41: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            ifnull 42
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifne 44
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            ifnull 44
        43: .line 825
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        44: .line 827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            ifnull 45
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            invokevirtual java.util.Date.equals:(Ljava/lang/Object;)Z
            ifne 47
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            ifnull 47
        46: .line 828
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        47: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            lcmp
            ifeq 49
        48: .line 832
            iconst_0
            ireturn
        49: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            ifnull 51
        50: .line 836
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifne 53
            goto 52
        51: .line 837
      StackMap locals:
      StackMap stack:
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            ifnull 53
        52: .line 838
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        53: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnull 54
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 55
      StackMap locals:
      StackMap stack:
        54: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
        55: astore 3 /* thisExceptionClass */
        start local 3 // java.lang.Class thisExceptionClass
        56: .line 843
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnull 57
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 58
      StackMap locals: java.lang.Class
      StackMap stack:
        57: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
        58: astore 4 /* thatExceptionClass */
        start local 4 // java.lang.Class thatExceptionClass
        59: .line 844
            aload 3 /* thisExceptionClass */
            ifnull 60
            aload 3 /* thisExceptionClass */
            aload 4 /* thatExceptionClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 62
            goto 61
      StackMap locals: java.lang.Class
      StackMap stack:
        60: aload 4 /* thatExceptionClass */
            ifnull 62
        61: .line 845
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        62: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnull 63
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            goto 64
      StackMap locals:
      StackMap stack:
        63: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        64: astore 5 /* thisExceptionMessage */
        start local 5 // java.lang.String thisExceptionMessage
        65: .line 849
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnull 66
            aload 2 /* that */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            goto 67
      StackMap locals: java.lang.String
      StackMap stack:
        66: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        67: astore 6 /* thatExceptionMessage */
        start local 6 // java.lang.String thatExceptionMessage
        68: .line 850
            aload 5 /* thisExceptionMessage */
            ifnull 69
            aload 5 /* thisExceptionMessage */
            aload 6 /* thatExceptionMessage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 71
            goto 70
      StackMap locals: java.lang.String
      StackMap stack:
        69: aload 6 /* thatExceptionMessage */
            ifnull 71
        70: .line 851
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        71: .line 854
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.String thatExceptionMessage
        end local 5 // java.lang.String thisExceptionMessage
        end local 4 // java.lang.Class thatExceptionClass
        end local 3 // java.lang.Class thisExceptionClass
        end local 2 // com.mongodb.connection.ServerDescription that
        end local 1 // java.lang.Object o
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   72     0                  this  Lcom/mongodb/connection/ServerDescription;
            0   72     1                     o  Ljava/lang/Object;
            5   72     2                  that  Lcom/mongodb/connection/ServerDescription;
           56   72     3    thisExceptionClass  Ljava/lang/Class<*>;
           59   72     4    thatExceptionClass  Ljava/lang/Class<*>;
           65   72     5  thisExceptionMessage  Ljava/lang/String;
           68   72     6  thatExceptionMessage  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 859
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            invokevirtual com.mongodb.ServerAddress.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 860
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            invokevirtual com.mongodb.connection.ServerType.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 861
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            ifnull 3
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 4
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int
         3: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
         4: iadd
            istore 1 /* result */
         5: .line 862
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
            invokeinterface java.util.Set.hashCode:()I
            iadd
            istore 1 /* result */
         6: .line 863
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
            invokeinterface java.util.Set.hashCode:()I
            iadd
            istore 1 /* result */
         7: .line 864
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
            invokeinterface java.util.Set.hashCode:()I
            iadd
            istore 1 /* result */
         8: .line 865
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 10
      StackMap locals:
      StackMap stack: int
         9: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        10: iadd
            istore 1 /* result */
        11: .line 866
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxDocumentSize:I
            iadd
            istore 1 /* result */
        12: .line 867
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            invokevirtual com.mongodb.TagSet.hashCode:()I
            iadd
            istore 1 /* result */
        13: .line 868
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            goto 15
      StackMap locals:
      StackMap stack: int
        14: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        15: iadd
            istore 1 /* result */
        16: .line 869
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            ifnull 17
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            invokevirtual org.bson.types.ObjectId.hashCode:()I
            goto 18
      StackMap locals:
      StackMap stack: int
        17: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        18: iadd
            istore 1 /* result */
        19: .line 870
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            ifnull 20
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.hashCode:()I
            goto 21
      StackMap locals:
      StackMap stack: int
        20: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        21: iadd
            istore 1 /* result */
        22: .line 871
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            ifnull 23
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            invokevirtual java.util.Date.hashCode:()I
            goto 24
      StackMap locals:
      StackMap stack: int
        23: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        24: iadd
            istore 1 /* result */
        25: .line 872
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            bipush 32
            lushr
            lxor
            l2i
            iadd
            istore 1 /* result */
        26: .line 873
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            ifeq 27
            iconst_1
            goto 28
      StackMap locals:
      StackMap stack: int
        27: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        28: iadd
            istore 1 /* result */
        29: .line 874
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            invokevirtual com.mongodb.connection.ServerConnectionState.hashCode:()I
            iadd
            istore 1 /* result */
        30: .line 875
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
            invokevirtual com.mongodb.connection.ServerVersion.hashCode:()I
            iadd
            istore 1 /* result */
        31: .line 876
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.minWireVersion:I
            iadd
            istore 1 /* result */
        32: .line 877
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxWireVersion:I
            iadd
            istore 1 /* result */
        33: .line 878
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            ifnull 34
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.hashCode:()I
            goto 35
      StackMap locals:
      StackMap stack: int
        34: iconst_0
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        35: iadd
            istore 1 /* result */
        36: .line 879
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnonnull 37
            iconst_0
            goto 38
      StackMap locals:
      StackMap stack: int
        37: aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        38: iadd
            istore 1 /* result */
        39: .line 880
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnonnull 40
            iconst_0
            goto 41
      StackMap locals:
      StackMap stack: int
        40: aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
      StackMap locals: com.mongodb.connection.ServerDescription int
      StackMap stack: int int
        41: iadd
            istore 1 /* result */
        42: .line 881
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   43     0    this  Lcom/mongodb/connection/ServerDescription;
            1   43     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 886
            new java.lang.StringBuilder
            dup
            ldc "ServerDescription{address="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 887
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 888
            ldc ", type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 889
            ldc ", state="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 890
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            getstatic com.mongodb.connection.ServerConnectionState.CONNECTED:Lcom/mongodb/connection/ServerConnectionState;
            if_acmpne 14
         5: .line 892
            new java.lang.StringBuilder
            dup
            ldc ", ok="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.ok:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         6: .line 893
            ldc ", version="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 894
            ldc ", minWireVersion="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.minWireVersion:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 895
            ldc ", maxWireVersion="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxWireVersion:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 896
            ldc ", maxDocumentSize="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.maxDocumentSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 897
            ldc ", logicalSessionTimeoutMinutes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        11: .line 898
            ldc ", roundTripTimeNanos="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.roundTripTimeNanos:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        12: .line 892
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 898
            goto 15
        14: .line 899
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        15: .line 890
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 900
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.isReplicaSetMember:()Z
            ifeq 30
        17: .line 902
            new java.lang.StringBuilder
            dup
            ldc ", setName='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setName: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;
        18: .line 903
            ldc ", canonicalAddress="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 904
            ldc ", hosts="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 905
            ldc ", passives="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        21: .line 906
            ldc ", arbiters="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 907
            ldc ", primary='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.primary: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;
        23: .line 908
            ldc ", tagSet="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        24: .line 909
            ldc ", electionId="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        25: .line 910
            ldc ", setVersion="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        26: .line 911
            ldc ", lastWriteDate="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        27: .line 912
            ldc ", lastUpdateTimeNanos="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 902
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 912
            goto 31
        30: .line 913
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        31: .line 900
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 914
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnonnull 33
            ldc ""
            goto 34
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        33: new java.lang.StringBuilder
            dup
            ldc ", exception="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.translateExceptionToString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
        34: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 915
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        36: .line 886
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   37     0  this  Lcom/mongodb/connection/ServerDescription;

  public java.lang.String getShortDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 924
            new java.lang.StringBuilder
            dup
            ldc "{address="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 925
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 926
            ldc ", type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 927
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            invokevirtual com.mongodb.TagSet.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
            ldc ""
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: new java.lang.StringBuilder
            dup
            ldc ", "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 928
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            getstatic com.mongodb.connection.ServerConnectionState.CONNECTED:Lcom/mongodb/connection/ServerConnectionState;
            if_acmpne 7
            new java.lang.StringBuilder
            dup
            ldc ", roundTripTime="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.getRoundTripFormattedInMilliseconds:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 8
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         7: ldc ""
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
         8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 929
            ldc ", state="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        10: .line 930
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            ifnonnull 11
            ldc ""
            goto 12
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        11: new java.lang.StringBuilder
            dup
            ldc ", exception="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.mongodb.connection.ServerDescription.translateExceptionToString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.mongodb.connection.ServerDescription
      StackMap stack: java.lang.StringBuilder java.lang.String
        12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 931
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        14: .line 924
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/mongodb/connection/ServerDescription;

  private java.lang.String translateExceptionToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 935
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 936
            aload 1 /* builder */
            ldc "{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 937
            aload 1 /* builder */
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         3: .line 938
            aload 1 /* builder */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 939
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cur */
        start local 2 // java.lang.Throwable cur
         5: .line 940
            goto 11
         6: .line 941
      StackMap locals: java.lang.StringBuilder java.lang.Throwable
      StackMap stack:
            aload 1 /* builder */
            ldc ", caused by "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 942
            aload 1 /* builder */
            ldc "{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 943
            aload 1 /* builder */
            aload 2 /* cur */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         9: .line 944
            aload 1 /* builder */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 945
            aload 2 /* cur */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cur */
        11: .line 940
      StackMap locals:
      StackMap stack:
            aload 2 /* cur */
            ifnonnull 6
        12: .line 948
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Throwable cur
        end local 1 // java.lang.StringBuilder builder
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/mongodb/connection/ServerDescription;
            1   13     1  builder  Ljava/lang/StringBuilder;
            5   13     2      cur  Ljava/lang/Throwable;

  private java.lang.String getRoundTripFormattedInMilliseconds();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.mongodb.connection.ServerDescription this
         0: .line 953
            ldc "#0.0"
            aload 0 /* this */
            getfield com.mongodb.connection.ServerDescription.roundTripTimeNanos:J
            l2d
            ldc 1000.0
            ddiv
            ldc 1000.0
            ddiv
            invokestatic com.mongodb.internal.connection.DecimalFormatHelper.format:(Ljava/lang/String;D)Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/connection/ServerDescription;

  void <init>(com.mongodb.connection.ServerDescription$Builder);
    descriptor: (Lcom/mongodb/connection/ServerDescription$Builder;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.connection.ServerDescription this
        start local 1 // com.mongodb.connection.ServerDescription$Builder builder
         0: .line 956
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 957
            aload 0 /* this */
            ldc "address"
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.address:Lcom/mongodb/ServerAddress;
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.ServerAddress
            putfield com.mongodb.connection.ServerDescription.address:Lcom/mongodb/ServerAddress;
         2: .line 958
            aload 0 /* this */
            ldc "type"
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.type:Lcom/mongodb/connection/ServerType;
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.ServerType
            putfield com.mongodb.connection.ServerDescription.type:Lcom/mongodb/connection/ServerType;
         3: .line 959
            aload 0 /* this */
            ldc "state"
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.state:Lcom/mongodb/connection/ServerConnectionState;
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.ServerConnectionState
            putfield com.mongodb.connection.ServerDescription.state:Lcom/mongodb/connection/ServerConnectionState;
         4: .line 960
            aload 0 /* this */
            ldc "version"
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.version:Lcom/mongodb/connection/ServerVersion;
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.connection.ServerVersion
            putfield com.mongodb.connection.ServerDescription.version:Lcom/mongodb/connection/ServerVersion;
         5: .line 961
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.canonicalAddress:Ljava/lang/String;
            putfield com.mongodb.connection.ServerDescription.canonicalAddress:Ljava/lang/String;
         6: .line 962
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.hosts:Ljava/util/Set;
            putfield com.mongodb.connection.ServerDescription.hosts:Ljava/util/Set;
         7: .line 963
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.passives:Ljava/util/Set;
            putfield com.mongodb.connection.ServerDescription.passives:Ljava/util/Set;
         8: .line 964
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.arbiters:Ljava/util/Set;
            putfield com.mongodb.connection.ServerDescription.arbiters:Ljava/util/Set;
         9: .line 965
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.primary:Ljava/lang/String;
            putfield com.mongodb.connection.ServerDescription.primary:Ljava/lang/String;
        10: .line 966
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.maxDocumentSize:I
            putfield com.mongodb.connection.ServerDescription.maxDocumentSize:I
        11: .line 967
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.tagSet:Lcom/mongodb/TagSet;
            putfield com.mongodb.connection.ServerDescription.tagSet:Lcom/mongodb/TagSet;
        12: .line 968
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.setName:Ljava/lang/String;
            putfield com.mongodb.connection.ServerDescription.setName:Ljava/lang/String;
        13: .line 969
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.roundTripTimeNanos:J
            putfield com.mongodb.connection.ServerDescription.roundTripTimeNanos:J
        14: .line 970
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.ok:Z
            putfield com.mongodb.connection.ServerDescription.ok:Z
        15: .line 971
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.minWireVersion:I
            putfield com.mongodb.connection.ServerDescription.minWireVersion:I
        16: .line 972
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.maxWireVersion:I
            putfield com.mongodb.connection.ServerDescription.maxWireVersion:I
        17: .line 973
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.electionId:Lorg/bson/types/ObjectId;
            putfield com.mongodb.connection.ServerDescription.electionId:Lorg/bson/types/ObjectId;
        18: .line 974
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.setVersion:Ljava/lang/Integer;
            putfield com.mongodb.connection.ServerDescription.setVersion:Ljava/lang/Integer;
        19: .line 975
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.lastWriteDate:Ljava/util/Date;
            putfield com.mongodb.connection.ServerDescription.lastWriteDate:Ljava/util/Date;
        20: .line 976
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.lastUpdateTimeNanos:J
            putfield com.mongodb.connection.ServerDescription.lastUpdateTimeNanos:J
        21: .line 977
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
            putfield com.mongodb.connection.ServerDescription.logicalSessionTimeoutMinutes:Ljava/lang/Integer;
        22: .line 978
            aload 0 /* this */
            aload 1 /* builder */
            getfield com.mongodb.connection.ServerDescription$Builder.exception:Ljava/lang/Throwable;
            putfield com.mongodb.connection.ServerDescription.exception:Ljava/lang/Throwable;
        23: .line 979
            return
        end local 1 // com.mongodb.connection.ServerDescription$Builder builder
        end local 0 // com.mongodb.connection.ServerDescription this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lcom/mongodb/connection/ServerDescription;
            0   24     1  builder  Lcom/mongodb/connection/ServerDescription$Builder;
    MethodParameters:
         Name  Flags
      builder  final
}
SourceFile: "ServerDescription.java"
NestMembers:
  com.mongodb.connection.ServerDescription$Builder
InnerClasses:
  public Builder = com.mongodb.connection.ServerDescription$Builder of com.mongodb.connection.ServerDescription
    RuntimeVisibleAnnotations: 
      com.mongodb.annotations.Immutable()