public class org.apache.cassandra.locator.TokenMetadata$Topology
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.locator.TokenMetadata$Topology
  super_class: java.lang.Object
{
  private final com.google.common.collect.ImmutableMultimap<java.lang.String, java.net.InetAddress> dcEndpoints;
    descriptor: Lcom/google/common/collect/ImmutableMultimap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableMultimap<Ljava/lang/String;Ljava/net/InetAddress;>;

  private final com.google.common.collect.ImmutableMap<java.lang.String, com.google.common.collect.ImmutableMultimap<java.lang.String, java.net.InetAddress>> dcRacks;
    descriptor: Lcom/google/common/collect/ImmutableMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Lcom/google/common/collect/ImmutableMultimap<Ljava/lang/String;Ljava/net/InetAddress;>;>;

  private final com.google.common.collect.ImmutableMap<java.net.InetAddress, org.apache.cassandra.utils.Pair<java.lang.String, java.lang.String>> currentLocations;
    descriptor: Lcom/google/common/collect/ImmutableMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableMap<Ljava/net/InetAddress;Lorg/apache/cassandra/utils/Pair<Ljava/lang/String;Ljava/lang/String;>;>;

  private void <init>(org.apache.cassandra.locator.TokenMetadata$Topology$Builder);
    descriptor: (Lorg/apache/cassandra/locator/TokenMetadata$Topology$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
        start local 1 // org.apache.cassandra.locator.TokenMetadata$Topology$Builder builder
         0: .line 1311
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1313
            aload 0 /* this */
            aload 1 /* builder */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology$Builder.dcEndpoints:Lcom/google/common/collect/Multimap;
            invokestatic com.google.common.collect.ImmutableMultimap.copyOf:(Lcom/google/common/collect/Multimap;)Lcom/google/common/collect/ImmutableMultimap;
            putfield org.apache.cassandra.locator.TokenMetadata$Topology.dcEndpoints:Lcom/google/common/collect/ImmutableMultimap;
         2: .line 1315
            invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
            astore 2 /* dcRackBuilder */
        start local 2 // com.google.common.collect.ImmutableMap$Builder dcRackBuilder
         3: .line 1316
            aload 1 /* builder */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology$Builder.dcRacks:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.apache.cassandra.locator.TokenMetadata$Topology org.apache.cassandra.locator.TokenMetadata$Topology$Builder com.google.common.collect.ImmutableMap$Builder top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         5: .line 1317
            aload 2 /* dcRackBuilder */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.google.common.collect.Multimap
            invokestatic com.google.common.collect.ImmutableMultimap.copyOf:(Lcom/google/common/collect/Multimap;)Lcom/google/common/collect/ImmutableMultimap;
            invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
            pop
        end local 3 // java.util.Map$Entry entry
         6: .line 1316
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1318
            aload 0 /* this */
            aload 2 /* dcRackBuilder */
            invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
            putfield org.apache.cassandra.locator.TokenMetadata$Topology.dcRacks:Lcom/google/common/collect/ImmutableMap;
         8: .line 1320
            aload 0 /* this */
            aload 1 /* builder */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology$Builder.currentLocations:Ljava/util/Map;
            invokestatic com.google.common.collect.ImmutableMap.copyOf:(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap;
            putfield org.apache.cassandra.locator.TokenMetadata$Topology.currentLocations:Lcom/google/common/collect/ImmutableMap;
         9: .line 1321
            return
        end local 2 // com.google.common.collect.ImmutableMap$Builder dcRackBuilder
        end local 1 // org.apache.cassandra.locator.TokenMetadata$Topology$Builder builder
        end local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/apache/cassandra/locator/TokenMetadata$Topology;
            0   10     1        builder  Lorg/apache/cassandra/locator/TokenMetadata$Topology$Builder;
            3   10     2  dcRackBuilder  Lcom/google/common/collect/ImmutableMap$Builder<Ljava/lang/String;Lcom/google/common/collect/ImmutableMultimap<Ljava/lang/String;Ljava/net/InetAddress;>;>;
            5    6     3          entry  Ljava/util/Map$Entry<Ljava/lang/String;Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/net/InetAddress;>;>;
    MethodParameters:
         Name  Flags
      builder  

  public com.google.common.collect.Multimap<java.lang.String, java.net.InetAddress> getDatacenterEndpoints();
    descriptor: ()Lcom/google/common/collect/Multimap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
         0: .line 1328
            aload 0 /* this */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology.dcEndpoints:Lcom/google/common/collect/ImmutableMultimap;
            areturn
        end local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/locator/TokenMetadata$Topology;
    Signature: ()Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/net/InetAddress;>;

  public com.google.common.collect.ImmutableMap<java.lang.String, com.google.common.collect.ImmutableMultimap<java.lang.String, java.net.InetAddress>> getDatacenterRacks();
    descriptor: ()Lcom/google/common/collect/ImmutableMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
         0: .line 1336
            aload 0 /* this */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology.dcRacks:Lcom/google/common/collect/ImmutableMap;
            areturn
        end local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/locator/TokenMetadata$Topology;
    Signature: ()Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Lcom/google/common/collect/ImmutableMultimap<Ljava/lang/String;Ljava/net/InetAddress;>;>;

  public org.apache.cassandra.utils.Pair<java.lang.String, java.lang.String> getLocation(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
        start local 1 // java.net.InetAddress addr
         0: .line 1344
            aload 0 /* this */
            getfield org.apache.cassandra.locator.TokenMetadata$Topology.currentLocations:Lcom/google/common/collect/ImmutableMap;
            aload 1 /* addr */
            invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Pair
            areturn
        end local 1 // java.net.InetAddress addr
        end local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/locator/TokenMetadata$Topology;
            0    1     1  addr  Ljava/net/InetAddress;
    Signature: (Ljava/net/InetAddress;)Lorg/apache/cassandra/utils/Pair<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      addr  

  org.apache.cassandra.locator.TokenMetadata$Topology$Builder unbuild();
    descriptor: ()Lorg/apache/cassandra/locator/TokenMetadata$Topology$Builder;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
         0: .line 1349
            new org.apache.cassandra.locator.TokenMetadata$Topology$Builder
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.locator.TokenMetadata$Topology$Builder.<init>:(Lorg/apache/cassandra/locator/TokenMetadata$Topology;)V
            areturn
        end local 0 // org.apache.cassandra.locator.TokenMetadata$Topology this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/locator/TokenMetadata$Topology;

  static org.apache.cassandra.locator.TokenMetadata$Topology$Builder builder();
    descriptor: ()Lorg/apache/cassandra/locator/TokenMetadata$Topology$Builder;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1354
            new org.apache.cassandra.locator.TokenMetadata$Topology$Builder
            dup
            invokespecial org.apache.cassandra.locator.TokenMetadata$Topology$Builder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.apache.cassandra.locator.TokenMetadata$Topology empty();
    descriptor: ()Lorg/apache/cassandra/locator/TokenMetadata$Topology;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1359
            invokestatic org.apache.cassandra.locator.TokenMetadata$Topology.builder:()Lorg/apache/cassandra/locator/TokenMetadata$Topology$Builder;
            invokevirtual org.apache.cassandra.locator.TokenMetadata$Topology$Builder.build:()Lorg/apache/cassandra/locator/TokenMetadata$Topology;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TokenMetadata.java"
NestHost: org.apache.cassandra.locator.TokenMetadata
InnerClasses:
  public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Topology = org.apache.cassandra.locator.TokenMetadata$Topology of org.apache.cassandra.locator.TokenMetadata
  private Builder = org.apache.cassandra.locator.TokenMetadata$Topology$Builder of org.apache.cassandra.locator.TokenMetadata$Topology