public class sun.tools.jconsole.inspector.XTree$Dn
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.jconsole.inspector.XTree$Dn
  super_class: java.lang.Object
{
  private java.lang.String domain;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String dn;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String hashDn;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList<sun.tools.jconsole.inspector.XTree$Token> tokens;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/tools/jconsole/inspector/XTree$Token;>;

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // java.lang.String domain
        start local 2 // java.lang.String dn
         0: .line 579
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 577
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
         2: .line 580
            aload 0 /* this */
            aload 1 /* domain */
            putfield sun.tools.jconsole.inspector.XTree$Dn.domain:Ljava/lang/String;
         3: .line 581
            aload 0 /* this */
            aload 2 /* dn */
            putfield sun.tools.jconsole.inspector.XTree$Dn.dn:Ljava/lang/String;
         4: .line 582
            return
        end local 2 // java.lang.String dn
        end local 1 // java.lang.String domain
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    5     1  domain  Ljava/lang/String;
            0    5     2      dn  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      domain  
      dn      

  public void clearTokens();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 585
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 586
            return
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public void addToken(sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 589
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            aload 1 /* token */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 590
            return
        end local 1 // sun.tools.jconsole.inspector.XTree$Token token
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    2     1  token  Lsun/tools/jconsole/inspector/XTree$Token;
    MethodParameters:
       Name  Flags
      token  

  public void addToken(int, sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (ILsun/tools/jconsole/inspector/XTree$Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // int index
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 593
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 1 /* index */
            aload 2 /* token */
            invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
         1: .line 594
            return
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // int index
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    2     1  index  I
            0    2     2  token  Lsun/tools/jconsole/inspector/XTree$Token;
    MethodParameters:
       Name  Flags
      index  
      token  

  public void setToken(int, sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (ILsun/tools/jconsole/inspector/XTree$Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // int index
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 597
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 1 /* index */
            aload 2 /* token */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 598
            return
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // int index
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    2     1  index  I
            0    2     2  token  Lsun/tools/jconsole/inspector/XTree$Token;
    MethodParameters:
       Name  Flags
      index  
      token  

  public void removeToken(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // int index
         0: .line 601
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            pop
         1: .line 602
            return
        end local 1 // int index
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public sun.tools.jconsole.inspector.XTree$Token getToken(int);
    descriptor: (I)Lsun/tools/jconsole/inspector/XTree$Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // int index
         0: .line 605
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 1 /* index */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XTree$Token
            areturn
        end local 1 // int index
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void reverseOrder();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 609
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* newOrder */
        start local 1 // java.util.ArrayList newOrder
         1: .line 610
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 611
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 1 /* newOrder */
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XTree$Token
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 610
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            ifge 3
        end local 2 // int i
         6: .line 613
            aload 0 /* this */
            aload 1 /* newOrder */
            putfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
         7: .line 614
            return
        end local 1 // java.util.ArrayList newOrder
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/tools/jconsole/inspector/XTree$Dn;
            1    8     1  newOrder  Ljava/util/ArrayList<Lsun/tools/jconsole/inspector/XTree$Token;>;
            2    6     2         i  I

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 617
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public java.lang.String getDomain();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 621
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.domain:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public java.lang.String getDn();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 625
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.dn:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public java.lang.String getHashDn();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 629
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.hashDn:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public java.lang.String getHashKey(sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
        start local 1 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 633
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashDn:()Ljava/lang/String;
            aload 1 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getHashToken:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* begin */
        start local 2 // int begin
         1: .line 634
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashDn:()Ljava/lang/String;
            iload 2 /* begin */
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashDn:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int begin
        end local 1 // sun.tools.jconsole.inspector.XTree$Token token
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    2     1  token  Lsun/tools/jconsole/inspector/XTree$Token;
            1    2     2  begin  I
    MethodParameters:
       Name  Flags
      token  

  public void computeHashDn();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 638
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* hashDn */
        start local 1 // java.lang.StringBuilder hashDn
         1: .line 639
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* tokensSize */
        start local 2 // int tokensSize
         2: .line 640
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 12
         4: .line 641
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XTree$Token
            astore 4 /* token */
        start local 4 // sun.tools.jconsole.inspector.XTree$Token token
         5: .line 642
            aload 4 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getHashToken:()Ljava/lang/String;
            astore 5 /* hashToken */
        start local 5 // java.lang.String hashToken
         6: .line 643
            aload 5 /* hashToken */
            ifnonnull 9
         7: .line 644
            new java.lang.StringBuilder
            dup
            aload 4 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getToken:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* tokensSize */
            iload 3 /* i */
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* hashToken */
         8: .line 645
            aload 4 /* token */
            aload 5 /* hashToken */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.setHashToken:(Ljava/lang/String;)V
         9: .line 647
      StackMap locals: sun.tools.jconsole.inspector.XTree$Token java.lang.String
      StackMap stack:
            aload 1 /* hashDn */
            aload 5 /* hashToken */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 648
            aload 1 /* hashDn */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String hashToken
        end local 4 // sun.tools.jconsole.inspector.XTree$Token token
        11: .line 640
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* tokensSize */
            if_icmplt 4
        end local 3 // int i
        13: .line 650
            iload 2 /* tokensSize */
            ifle 16
        14: .line 651
            aload 0 /* this */
            aload 1 /* hashDn */
            iconst_0
            aload 1 /* hashDn */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            putfield sun.tools.jconsole.inspector.XTree$Dn.hashDn:Ljava/lang/String;
        15: .line 652
            goto 17
        16: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield sun.tools.jconsole.inspector.XTree$Dn.hashDn:Ljava/lang/String;
        17: .line 655
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int tokensSize
        end local 1 // java.lang.StringBuilder hashDn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lsun/tools/jconsole/inspector/XTree$Dn;
            1   18     1      hashDn  Ljava/lang/StringBuilder;
            2   18     2  tokensSize  I
            3   13     3           i  I
            5   11     4       token  Lsun/tools/jconsole/inspector/XTree$Token;
            6   11     5   hashToken  Ljava/lang/String;

  public void updateDn();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 661
            aload 0 /* this */
            iconst_0
            new sun.tools.jconsole.inspector.XTree$Token
            dup
            ldc "domain"
            new java.lang.StringBuilder
            dup
            ldc "domain="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getDomain:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.tools.jconsole.inspector.XTree$Token.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.addToken:(ILsun/tools/jconsole/inspector/XTree$Token;)V
         1: .line 662
            return
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree$Dn this
         0: .line 665
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree$Dn.tokens:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.inspector.XTree$Dn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree$Dn;
}
SourceFile: "XTree.java"
NestHost: sun.tools.jconsole.inspector.XTree
InnerClasses:
  public Dn = sun.tools.jconsole.inspector.XTree$Dn of sun.tools.jconsole.inspector.XTree
  public Token = sun.tools.jconsole.inspector.XTree$Token of sun.tools.jconsole.inspector.XTree