public class com.mongodb.DBAddress extends com.mongodb.ServerAddress
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.DBAddress
  super_class: com.mongodb.ServerAddress
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -813211264765778133

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

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.DBAddress this
        start local 1 // java.lang.String urlFormat
         0: .line 51
            aload 0 /* this */
            aload 1 /* urlFormat */
            invokestatic com.mongodb.DBAddress._getHostSection:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial com.mongodb.ServerAddress.<init>:(Ljava/lang/String;)V
         1: .line 53
            aload 1 /* urlFormat */
            ldc "urlFormat"
            invokestatic com.mongodb.DBAddress._check:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 54
            aload 0 /* this */
            aload 1 /* urlFormat */
            invokestatic com.mongodb.DBAddress._getDBSection:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.mongodb.DBAddress._fixName:(Ljava/lang/String;)Ljava/lang/String;
            putfield com.mongodb.DBAddress._db:Ljava/lang/String;
         3: .line 56
            aload 0 /* this */
            invokevirtual com.mongodb.DBAddress.getHost:()Ljava/lang/String;
            ldc "host"
            invokestatic com.mongodb.DBAddress._check:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 57
            aload 0 /* this */
            getfield com.mongodb.DBAddress._db:Ljava/lang/String;
            ldc "db"
            invokestatic com.mongodb.DBAddress._check:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 58
            return
        end local 1 // java.lang.String urlFormat
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/mongodb/DBAddress;
            0    6     1  urlFormat  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      urlFormat  final

  static java.lang.String _getHostSection(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String urlFormat
         0: .line 62
            ldc "urlFormat"
            aload 0 /* urlFormat */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 64
            aload 0 /* urlFormat */
            ldc "/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 1 /* idx */
        start local 1 // int idx
         2: .line 65
            iload 1 /* idx */
            iflt 4
         3: .line 66
            aload 0 /* urlFormat */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         4: .line 68
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String urlFormat
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  urlFormat  Ljava/lang/String;
            2    5     1        idx  I
    RuntimeVisibleAnnotations: 
      com.mongodb.lang.Nullable()
    MethodParameters:
           Name  Flags
      urlFormat  final

  static java.lang.String _getDBSection(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String urlFormat
         0: .line 72
            ldc "urlFormat"
            aload 0 /* urlFormat */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 74
            aload 0 /* urlFormat */
            ldc "/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 1 /* idx */
        start local 1 // int idx
         2: .line 75
            iload 1 /* idx */
            iflt 4
         3: .line 76
            aload 0 /* urlFormat */
            iload 1 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         4: .line 78
      StackMap locals: int
      StackMap stack:
            aload 0 /* urlFormat */
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String urlFormat
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  urlFormat  Ljava/lang/String;
            2    5     1        idx  I
    MethodParameters:
           Name  Flags
      urlFormat  final

  static java.lang.String _fixName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 82
            aload 0 /* name */
            bipush 46
            bipush 45
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public void <init>(com.mongodb.DBAddress, java.lang.String);
    descriptor: (Lcom/mongodb/DBAddress;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.mongodb.DBAddress this
        start local 1 // com.mongodb.DBAddress other
        start local 2 // java.lang.String databaseName
         0: .line 92
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual com.mongodb.DBAddress.getHost:()Ljava/lang/String;
            aload 1 /* other */
            invokevirtual com.mongodb.DBAddress.getPort:()I
            aload 2 /* databaseName */
            invokespecial com.mongodb.DBAddress.<init>:(Ljava/lang/String;ILjava/lang/String;)V
         1: .line 93
            return
        end local 2 // java.lang.String databaseName
        end local 1 // com.mongodb.DBAddress other
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/mongodb/DBAddress;
            0    2     1         other  Lcom/mongodb/DBAddress;
            0    2     2  databaseName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      other         final
      databaseName  final

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.mongodb.DBAddress this
        start local 1 // java.lang.String host
        start local 2 // java.lang.String databaseName
         0: .line 102
            aload 0 /* this */
            aload 1 /* host */
            invokestatic com.mongodb.DBAddress.defaultPort:()I
            aload 2 /* databaseName */
            invokespecial com.mongodb.DBAddress.<init>:(Ljava/lang/String;ILjava/lang/String;)V
         1: .line 103
            return
        end local 2 // java.lang.String databaseName
        end local 1 // java.lang.String host
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/mongodb/DBAddress;
            0    2     1          host  Ljava/lang/String;
            0    2     2  databaseName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      host          final
      databaseName  final

  public void <init>(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.mongodb.DBAddress this
        start local 1 // java.lang.String host
        start local 2 // int port
        start local 3 // java.lang.String databaseName
         0: .line 113
            aload 0 /* this */
            aload 1 /* host */
            iload 2 /* port */
            invokespecial com.mongodb.ServerAddress.<init>:(Ljava/lang/String;I)V
         1: .line 114
            aload 0 /* this */
            aload 3 /* databaseName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield com.mongodb.DBAddress._db:Ljava/lang/String;
         2: .line 115
            return
        end local 3 // java.lang.String databaseName
        end local 2 // int port
        end local 1 // java.lang.String host
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/mongodb/DBAddress;
            0    3     1          host  Ljava/lang/String;
            0    3     2          port  I
            0    3     3  databaseName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      host          final
      port          final
      databaseName  final

  public void <init>(java.net.InetAddress, int, java.lang.String);
    descriptor: (Ljava/net/InetAddress;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.mongodb.DBAddress this
        start local 1 // java.net.InetAddress inetAddress
        start local 2 // int port
        start local 3 // java.lang.String databaseName
         0: .line 123
            aload 0 /* this */
            aload 1 /* inetAddress */
            iload 2 /* port */
            invokespecial com.mongodb.ServerAddress.<init>:(Ljava/net/InetAddress;I)V
         1: .line 124
            aload 3 /* databaseName */
            ldc "name"
            invokestatic com.mongodb.DBAddress._check:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 125
            aload 0 /* this */
            aload 3 /* databaseName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield com.mongodb.DBAddress._db:Ljava/lang/String;
         3: .line 126
            return
        end local 3 // java.lang.String databaseName
        end local 2 // int port
        end local 1 // java.net.InetAddress inetAddress
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/mongodb/DBAddress;
            0    4     1   inetAddress  Ljava/net/InetAddress;
            0    4     2          port  I
            0    4     3  databaseName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      inetAddress   final
      port          final
      databaseName  final

  static void _check(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String thing
        start local 1 // java.lang.String name
         0: .line 129
            ldc "thing"
            aload 0 /* thing */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 131
            aload 0 /* thing */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* trimmedThing */
        start local 2 // java.lang.String trimmedThing
         2: .line 132
            aload 2 /* trimmedThing */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 133
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " can't be empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 135
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String trimmedThing
        end local 1 // java.lang.String name
        end local 0 // java.lang.String thing
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0         thing  Ljava/lang/String;
            0    5     1          name  Ljava/lang/String;
            2    5     2  trimmedThing  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      thing  final
      name   final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.DBAddress this
         0: .line 139
            aload 0 /* this */
            invokespecial com.mongodb.ServerAddress.hashCode:()I
            aload 0 /* this */
            getfield com.mongodb.DBAddress._db:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            ireturn
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DBAddress;

  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.DBAddress this
        start local 1 // java.lang.Object other
         0: .line 144
            aload 1 /* other */
            instanceof com.mongodb.DBAddress
            ifeq 7
         1: .line 145
            aload 1 /* other */
            checkcast com.mongodb.DBAddress
            astore 2 /* a */
        start local 2 // com.mongodb.DBAddress a
         2: .line 146
            aload 2 /* a */
            invokevirtual com.mongodb.DBAddress.getPort:()I
            aload 0 /* this */
            invokevirtual com.mongodb.DBAddress.getPort:()I
            if_icmpne 6
         3: .line 147
            aload 2 /* a */
            getfield com.mongodb.DBAddress._db:Ljava/lang/String;
            aload 0 /* this */
            getfield com.mongodb.DBAddress._db:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 148
            aload 2 /* a */
            invokevirtual com.mongodb.DBAddress.getHost:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual com.mongodb.DBAddress.getHost:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 146
            iconst_1
            ireturn
      StackMap locals: com.mongodb.DBAddress
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // com.mongodb.DBAddress a
         7: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof com.mongodb.ServerAddress
            ifeq 9
         8: .line 150
            aload 1 /* other */
            aload 0 /* this */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
         9: .line 152
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/mongodb/DBAddress;
            0   10     1  other  Ljava/lang/Object;
            2    7     2      a  Lcom/mongodb/DBAddress;
    MethodParameters:
       Name  Flags
      other  final

  public com.mongodb.DBAddress getSister(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/mongodb/DBAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.mongodb.DBAddress this
        start local 1 // java.lang.String name
         0: .line 163
            new com.mongodb.DBAddress
            dup
            aload 0 /* this */
            invokevirtual com.mongodb.DBAddress.getHost:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual com.mongodb.DBAddress.getPort:()I
            aload 1 /* name */
            invokespecial com.mongodb.DBAddress.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DBAddress;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

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

  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.DBAddress this
         0: .line 182
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial com.mongodb.ServerAddress.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.mongodb.DBAddress._db:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.mongodb.DBAddress this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/DBAddress;
}
SourceFile: "DBAddress.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()