public class sun.tools.jconsole.inspector.XTree extends javax.swing.JTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.jconsole.inspector.XTree
  super_class: javax.swing.JTree
{
  private static final java.util.List<java.lang.String> orderedKeyPropertyList;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private sun.tools.jconsole.MBeansTab mbeansTab;
    descriptor: Lsun/tools/jconsole/MBeansTab;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, javax.swing.tree.DefaultMutableTreeNode> nodes;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/swing/tree/DefaultMutableTreeNode;>;

  private static boolean treeView;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean treeViewInit;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private boolean keyValueView;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 43
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         1: .line 42
            putstatic sun.tools.jconsole.inspector.XTree.orderedKeyPropertyList:Ljava/util/List;
         2: .line 47
            ldc "com.sun.tools.jconsole.mbeans.keyPropertyList"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 46
            astore 0 /* keyPropertyList */
        start local 0 // java.lang.String keyPropertyList
         4: .line 48
            aload 0 /* keyPropertyList */
            ifnonnull 8
         5: .line 49
            getstatic sun.tools.jconsole.inspector.XTree.orderedKeyPropertyList:Ljava/util/List;
            ldc "type"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 50
            getstatic sun.tools.jconsole.inspector.XTree.orderedKeyPropertyList:Ljava/util/List;
            ldc "j2eeType"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 51
            goto 12
         8: .line 52
      StackMap locals: java.lang.String
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* keyPropertyList */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* st */
        start local 1 // java.util.StringTokenizer st
         9: .line 53
            goto 11
        10: .line 54
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            getstatic sun.tools.jconsole.inspector.XTree.orderedKeyPropertyList:Ljava/util/List;
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 10
        end local 1 // java.util.StringTokenizer st
        end local 0 // java.lang.String keyPropertyList
        12: .line 673
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic sun.tools.jconsole.inspector.XTree.treeViewInit:Z
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            4   12     0  keyPropertyList  Ljava/lang/String;
            9   12     1               st  Ljava/util/StringTokenizer;

  public void <init>(sun.tools.jconsole.MBeansTab);
    descriptor: (Lsun/tools/jconsole/MBeansTab;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.MBeansTab mbeansTab
         0: .line 63
            aload 0 /* this */
            new javax.swing.tree.DefaultMutableTreeNode
            dup
            ldc "MBeanTreeRootNode"
            invokespecial javax.swing.tree.DefaultMutableTreeNode.<init>:(Ljava/lang/Object;)V
            aload 1 /* mbeansTab */
            invokespecial sun.tools.jconsole.inspector.XTree.<init>:(Ljavax/swing/tree/TreeNode;Lsun/tools/jconsole/MBeansTab;)V
         1: .line 64
            return
        end local 1 // sun.tools.jconsole.MBeansTab mbeansTab
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/tools/jconsole/inspector/XTree;
            0    2     1  mbeansTab  Lsun/tools/jconsole/MBeansTab;
    MethodParameters:
           Name  Flags
      mbeansTab  

  public void <init>(javax.swing.tree.TreeNode, sun.tools.jconsole.MBeansTab);
    descriptor: (Ljavax/swing/tree/TreeNode;Lsun/tools/jconsole/MBeansTab;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.TreeNode root
        start local 2 // sun.tools.jconsole.MBeansTab mbeansTab
         0: .line 67
            aload 0 /* this */
            aload 1 /* root */
            iconst_1
            invokespecial javax.swing.JTree.<init>:(Ljavax/swing/tree/TreeNode;Z)V
         1: .line 59
            aload 0 /* this */
         2: .line 60
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
         3: .line 690
            aload 0 /* this */
            ldc "keyValueView"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putfield sun.tools.jconsole.inspector.XTree.keyValueView:Z
         4: .line 68
            aload 0 /* this */
            aload 2 /* mbeansTab */
            putfield sun.tools.jconsole.inspector.XTree.mbeansTab:Lsun/tools/jconsole/MBeansTab;
         5: .line 69
            aload 0 /* this */
            iconst_0
            invokevirtual sun.tools.jconsole.inspector.XTree.setRootVisible:(Z)V
         6: .line 70
            aload 0 /* this */
            iconst_1
            invokevirtual sun.tools.jconsole.inspector.XTree.setShowsRootHandles:(Z)V
         7: .line 71
            invokestatic javax.swing.ToolTipManager.sharedInstance:()Ljavax/swing/ToolTipManager;
            aload 0 /* this */
            invokevirtual javax.swing.ToolTipManager.registerComponent:(Ljavax/swing/JComponent;)V
         8: .line 72
            return
        end local 2 // sun.tools.jconsole.MBeansTab mbeansTab
        end local 1 // javax.swing.tree.TreeNode root
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lsun/tools/jconsole/inspector/XTree;
            0    9     1       root  Ljavax/swing/tree/TreeNode;
            0    9     2  mbeansTab  Lsun/tools/jconsole/MBeansTab;
    MethodParameters:
           Name  Flags
      root       
      mbeansTab  

  private synchronized void removeChildNode(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode child
         0: .line 79
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 2 /* model */
        start local 2 // javax.swing.tree.DefaultTreeModel model
         1: .line 80
            aload 2 /* model */
            aload 1 /* child */
            invokevirtual javax.swing.tree.DefaultTreeModel.removeNodeFromParent:(Ljavax/swing/tree/MutableTreeNode;)V
         2: .line 81
            return
        end local 2 // javax.swing.tree.DefaultTreeModel model
        end local 1 // javax.swing.tree.DefaultMutableTreeNode child
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/jconsole/inspector/XTree;
            0    3     1  child  Ljavax/swing/tree/DefaultMutableTreeNode;
            1    3     2  model  Ljavax/swing/tree/DefaultTreeModel;
    MethodParameters:
       Name  Flags
      child  

  private synchronized void addChildNode(javax.swing.tree.DefaultMutableTreeNode, javax.swing.tree.DefaultMutableTreeNode, int);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;I)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode parent
        start local 2 // javax.swing.tree.DefaultMutableTreeNode child
        start local 3 // int index
         0: .line 92
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 4 /* model */
        start local 4 // javax.swing.tree.DefaultTreeModel model
         1: .line 93
            aload 4 /* model */
            aload 2 /* child */
            aload 1 /* parent */
            iload 3 /* index */
            invokevirtual javax.swing.tree.DefaultTreeModel.insertNodeInto:(Ljavax/swing/tree/MutableTreeNode;Ljavax/swing/tree/MutableTreeNode;I)V
         2: .line 94
            return
        end local 4 // javax.swing.tree.DefaultTreeModel model
        end local 3 // int index
        end local 2 // javax.swing.tree.DefaultMutableTreeNode child
        end local 1 // javax.swing.tree.DefaultMutableTreeNode parent
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/tools/jconsole/inspector/XTree;
            0    3     1  parent  Ljavax/swing/tree/DefaultMutableTreeNode;
            0    3     2   child  Ljavax/swing/tree/DefaultMutableTreeNode;
            0    3     3   index  I
            1    3     4   model  Ljavax/swing/tree/DefaultTreeModel;
    MethodParameters:
        Name  Flags
      parent  
      child   
      index   

  private synchronized void addChildNode(javax.swing.tree.DefaultMutableTreeNode, javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode parent
        start local 2 // javax.swing.tree.DefaultMutableTreeNode child
         0: .line 106
            aload 1 /* parent */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getChildCount:()I
            istore 3 /* childCount */
        start local 3 // int childCount
         1: .line 107
            iload 3 /* childCount */
            ifne 4
         2: .line 108
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* child */
            iconst_0
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;I)V
         3: .line 109
            return
         4: .line 111
      StackMap locals: int
      StackMap stack:
            aload 2 /* child */
            instanceof sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            ifeq 19
         5: .line 113
            aload 2 /* child */
            checkcast sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
         6: .line 112
            astore 4 /* comparableChild */
        start local 4 // sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode comparableChild
         7: .line 114
            iload 3 /* childCount */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         8: goto 16
         9: .line 116
      StackMap locals: sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode int
      StackMap stack:
            aload 1 /* parent */
            iload 5 /* i */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.DefaultMutableTreeNode
        10: .line 115
            astore 6 /* brother */
        start local 6 // javax.swing.tree.DefaultMutableTreeNode brother
        11: .line 120
            iload 5 /* i */
            iconst_2
            if_icmpgt 12
            aload 0 /* this */
            aload 6 /* brother */
            invokevirtual sun.tools.jconsole.inspector.XTree.isMetadataNode:(Ljavax/swing/tree/DefaultMutableTreeNode;)Z
            ifne 13
        12: .line 121
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode
      StackMap stack:
            aload 4 /* comparableChild */
            aload 6 /* brother */
            invokevirtual sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode.compareTo:(Ljavax/swing/tree/DefaultMutableTreeNode;)I
            iflt 15
        13: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* child */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;I)V
        14: .line 123
            return
        end local 6 // javax.swing.tree.DefaultMutableTreeNode brother
        15: .line 114
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            ifge 9
        end local 5 // int i
        17: .line 127
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* child */
            iconst_0
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;I)V
        18: .line 128
            return
        end local 4 // sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode comparableChild
        19: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* child */
            iload 3 /* childCount */
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;I)V
        20: .line 132
            return
        end local 3 // int childCount
        end local 2 // javax.swing.tree.DefaultMutableTreeNode child
        end local 1 // javax.swing.tree.DefaultMutableTreeNode parent
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0             this  Lsun/tools/jconsole/inspector/XTree;
            0   21     1           parent  Ljavax/swing/tree/DefaultMutableTreeNode;
            0   21     2            child  Ljavax/swing/tree/DefaultMutableTreeNode;
            1   21     3       childCount  I
            7   19     4  comparableChild  Lsun/tools/jconsole/inspector/XTree$ComparableDefaultMutableTreeNode;
            8   17     5                i  I
           11   15     6          brother  Ljavax/swing/tree/DefaultMutableTreeNode;
    MethodParameters:
        Name  Flags
      parent  
      child   

  public synchronized void removeAll();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree this
         0: .line 141
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 1 /* model */
        start local 1 // javax.swing.tree.DefaultTreeModel model
         1: .line 142
            aload 1 /* model */
            invokevirtual javax.swing.tree.DefaultTreeModel.getRoot:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 2 /* root */
        start local 2 // javax.swing.tree.DefaultMutableTreeNode root
         2: .line 143
            aload 2 /* root */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.removeAllChildren:()V
         3: .line 144
            aload 1 /* model */
            aload 2 /* root */
            invokevirtual javax.swing.tree.DefaultTreeModel.nodeStructureChanged:(Ljavax/swing/tree/TreeNode;)V
         4: .line 145
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 146
            return
        end local 2 // javax.swing.tree.DefaultMutableTreeNode root
        end local 1 // javax.swing.tree.DefaultTreeModel model
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/tools/jconsole/inspector/XTree;
            1    6     1  model  Ljavax/swing/tree/DefaultTreeModel;
            2    6     2   root  Ljavax/swing/tree/DefaultMutableTreeNode;

  public synchronized void removeMBeanFromView(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.management.ObjectName mbean
         0: .line 155
            aconst_null
            astore 2 /* node */
        start local 2 // javax.swing.tree.DefaultMutableTreeNode node
         1: .line 156
            new sun.tools.jconsole.inspector.XTree$Dn
            dup
            aload 1 /* mbean */
            invokespecial sun.tools.jconsole.inspector.XTree$Dn.<init>:(Ljavax/management/ObjectName;)V
            astore 3 /* dn */
        start local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
         2: .line 157
            aload 3 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getTokenCount:()I
            ifle 22
         3: .line 158
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 4 /* model */
        start local 4 // javax.swing.tree.DefaultTreeModel model
         4: .line 159
            aload 3 /* dn */
            iconst_0
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getToken:(I)Lsun/tools/jconsole/inspector/XTree$Token;
            astore 5 /* token */
        start local 5 // sun.tools.jconsole.inspector.XTree$Token token
         5: .line 160
            aload 3 /* dn */
            aload 5 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashKey:(Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/String;
            astore 6 /* hashKey */
        start local 6 // java.lang.String hashKey
         6: .line 161
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 6 /* hashKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 2 /* node */
         7: .line 162
            aload 2 /* node */
            ifnull 22
            aload 2 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.isRoot:()Z
            ifne 22
         8: .line 163
            aload 0 /* this */
            aload 2 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.hasNonMetadataNodes:(Ljavax/swing/tree/DefaultMutableTreeNode;)Z
            ifeq 17
         9: .line 164
            aload 0 /* this */
            aload 2 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeMetadataNodes:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
        10: .line 165
            aload 5 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getValue:()Ljava/lang/String;
            astore 7 /* label */
        start local 7 // java.lang.String label
        11: .line 166
            new sun.tools.jconsole.inspector.XNodeInfo
            dup
        12: .line 167
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NONMBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            aload 7 /* label */
        13: .line 168
            aload 7 /* label */
            aload 5 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getTokenValue:()Ljava/lang/String;
        14: .line 166
            invokespecial sun.tools.jconsole.inspector.XNodeInfo.<init>:(Lsun/tools/jconsole/inspector/XNodeInfo$Type;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
            astore 8 /* userObject */
        start local 8 // sun.tools.jconsole.inspector.XNodeInfo userObject
        15: .line 169
            aload 0 /* this */
            aload 2 /* node */
            aload 8 /* userObject */
            invokevirtual sun.tools.jconsole.inspector.XTree.changeNodeValue:(Ljavax/swing/tree/DefaultMutableTreeNode;Lsun/tools/jconsole/inspector/XNodeInfo;)V
        end local 8 // sun.tools.jconsole.inspector.XNodeInfo userObject
        end local 7 // java.lang.String label
        16: .line 170
            goto 22
        17: .line 172
      StackMap locals: sun.tools.jconsole.inspector.XTree javax.management.ObjectName javax.swing.tree.DefaultMutableTreeNode sun.tools.jconsole.inspector.XTree$Dn javax.swing.tree.DefaultTreeModel sun.tools.jconsole.inspector.XTree$Token java.lang.String
      StackMap stack:
            aload 2 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.DefaultMutableTreeNode
        18: .line 171
            astore 7 /* parent */
        start local 7 // javax.swing.tree.DefaultMutableTreeNode parent
        19: .line 173
            aload 4 /* model */
            aload 2 /* node */
            invokevirtual javax.swing.tree.DefaultTreeModel.removeNodeFromParent:(Ljavax/swing/tree/MutableTreeNode;)V
        20: .line 174
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 6 /* hashKey */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 175
            aload 0 /* this */
            aload 3 /* dn */
            iconst_1
            aload 7 /* parent */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeParentFromView:(Lsun/tools/jconsole/inspector/XTree$Dn;ILjavax/swing/tree/DefaultMutableTreeNode;)Ljavax/swing/tree/DefaultMutableTreeNode;
            pop
        end local 7 // javax.swing.tree.DefaultMutableTreeNode parent
        end local 6 // java.lang.String hashKey
        end local 5 // sun.tools.jconsole.inspector.XTree$Token token
        end local 4 // javax.swing.tree.DefaultTreeModel model
        22: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 2 // javax.swing.tree.DefaultMutableTreeNode node
        end local 1 // javax.management.ObjectName mbean
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/tools/jconsole/inspector/XTree;
            0   23     1       mbean  Ljavax/management/ObjectName;
            1   23     2        node  Ljavax/swing/tree/DefaultMutableTreeNode;
            2   23     3          dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            4   22     4       model  Ljavax/swing/tree/DefaultTreeModel;
            5   22     5       token  Lsun/tools/jconsole/inspector/XTree$Token;
            6   22     6     hashKey  Ljava/lang/String;
           11   16     7       label  Ljava/lang/String;
           15   16     8  userObject  Lsun/tools/jconsole/inspector/XNodeInfo;
           19   22     7      parent  Ljavax/swing/tree/DefaultMutableTreeNode;
    MethodParameters:
       Name  Flags
      mbean  

  private boolean hasNonMetadataNodes(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 185
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         1: goto 10
         2: .line 186
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 3 /* n */
        start local 3 // javax.swing.tree.DefaultMutableTreeNode n
         3: .line 187
            aload 3 /* n */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            astore 4 /* uo */
        start local 4 // java.lang.Object uo
         4: .line 188
            aload 4 /* uo */
            instanceof sun.tools.jconsole.inspector.XNodeInfo
            ifeq 9
         5: .line 189
            invokestatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:()[I
            aload 4 /* uo */
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 6
                    4: 6
                    5: 6
              default: 7
          }
         6: .line 193
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode java.lang.Object
      StackMap stack:
            goto 10
         7: .line 195
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 197
      StackMap locals:
      StackMap stack:
            goto 10
         9: .line 198
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Object uo
        end local 3 // javax.swing.tree.DefaultMutableTreeNode n
        10: .line 185
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        end local 2 // java.util.Enumeration e
        11: .line 201
            iconst_0
            ireturn
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/tools/jconsole/inspector/XTree;
            0   12     1  node  Ljavax/swing/tree/DefaultMutableTreeNode;
            1   11     2     e  Ljava/util/Enumeration<*>;
            3   10     3     n  Ljavax/swing/tree/DefaultMutableTreeNode;
            4   10     4    uo  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  public boolean hasMetadataNodes(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 208
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         1: goto 9
         2: .line 209
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 3 /* n */
        start local 3 // javax.swing.tree.DefaultMutableTreeNode n
         3: .line 210
            aload 3 /* n */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            astore 4 /* uo */
        start local 4 // java.lang.Object uo
         4: .line 211
            aload 4 /* uo */
            instanceof sun.tools.jconsole.inspector.XNodeInfo
            ifeq 8
         5: .line 212
            invokestatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:()[I
            aload 4 /* uo */
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 6
                    4: 6
                    5: 6
              default: 7
          }
         6: .line 216
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode java.lang.Object
      StackMap stack:
            iconst_1
            ireturn
         7: .line 220
      StackMap locals:
      StackMap stack:
            goto 9
         8: .line 221
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.lang.Object uo
        end local 3 // javax.swing.tree.DefaultMutableTreeNode n
         9: .line 208
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        end local 2 // java.util.Enumeration e
        10: .line 224
            iconst_0
            ireturn
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/tools/jconsole/inspector/XTree;
            0   11     1  node  Ljavax/swing/tree/DefaultMutableTreeNode;
            1   10     2     e  Ljava/util/Enumeration<*>;
            3    9     3     n  Ljavax/swing/tree/DefaultMutableTreeNode;
            4    9     4    uo  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  public boolean isMetadataNode(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 231
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            astore 2 /* uo */
        start local 2 // java.lang.Object uo
         1: .line 232
            aload 2 /* uo */
            instanceof sun.tools.jconsole.inspector.XNodeInfo
            ifeq 5
         2: .line 233
            invokestatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:()[I
            aload 2 /* uo */
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 3
                    4: 3
                    5: 3
              default: 4
          }
         3: .line 237
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            ireturn
         4: .line 239
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object uo
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/tools/jconsole/inspector/XTree;
            0    6     1  node  Ljavax/swing/tree/DefaultMutableTreeNode;
            1    6     2    uo  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      node  

  private void removeMetadataNodes(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 252
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
         1: .line 251
            astore 2 /* metadataNodes */
        start local 2 // java.util.Set metadataNodes
         2: .line 253
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 3 /* model */
        start local 3 // javax.swing.tree.DefaultTreeModel model
         3: .line 254
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         4: goto 11
         5: .line 255
      StackMap locals: java.util.Set javax.swing.tree.DefaultTreeModel java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 5 /* n */
        start local 5 // javax.swing.tree.DefaultMutableTreeNode n
         6: .line 256
            aload 5 /* n */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            astore 6 /* uo */
        start local 6 // java.lang.Object uo
         7: .line 257
            aload 6 /* uo */
            instanceof sun.tools.jconsole.inspector.XNodeInfo
            ifeq 11
         8: .line 258
            invokestatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:()[I
            aload 6 /* uo */
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 9
                    4: 9
                    5: 9
              default: 11
          }
         9: .line 262
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode java.lang.Object
      StackMap stack:
            aload 2 /* metadataNodes */
            aload 5 /* n */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 263
            goto 11
        end local 6 // java.lang.Object uo
        end local 5 // javax.swing.tree.DefaultMutableTreeNode n
        11: .line 254
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
        end local 4 // java.util.Enumeration e
        12: .line 269
            aload 2 /* metadataNodes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: sun.tools.jconsole.inspector.XTree javax.swing.tree.DefaultMutableTreeNode java.util.Set javax.swing.tree.DefaultTreeModel top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 4 /* n */
        start local 4 // javax.swing.tree.DefaultMutableTreeNode n
        14: .line 270
            aload 3 /* model */
            aload 4 /* n */
            invokevirtual javax.swing.tree.DefaultTreeModel.removeNodeFromParent:(Ljavax/swing/tree/MutableTreeNode;)V
        end local 4 // javax.swing.tree.DefaultMutableTreeNode n
        15: .line 269
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 272
            return
        end local 3 // javax.swing.tree.DefaultTreeModel model
        end local 2 // java.util.Set metadataNodes
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lsun/tools/jconsole/inspector/XTree;
            0   17     1           node  Ljavax/swing/tree/DefaultMutableTreeNode;
            2   17     2  metadataNodes  Ljava/util/Set<Ljavax/swing/tree/DefaultMutableTreeNode;>;
            3   17     3          model  Ljavax/swing/tree/DefaultTreeModel;
            4   12     4              e  Ljava/util/Enumeration<*>;
            6   11     5              n  Ljavax/swing/tree/DefaultMutableTreeNode;
            7   11     6             uo  Ljava/lang/Object;
           14   15     4              n  Ljavax/swing/tree/DefaultMutableTreeNode;
    MethodParameters:
      Name  Flags
      node  

  private javax.swing.tree.DefaultMutableTreeNode removeParentFromView(sun.tools.jconsole.inspector.XTree$Dn, int, javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Dn;ILjavax/swing/tree/DefaultMutableTreeNode;)Ljavax/swing/tree/DefaultMutableTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        start local 2 // int index
        start local 3 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 281
            aload 3 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.isRoot:()Z
            ifne 8
            aload 3 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.isLeaf:()Z
            ifeq 8
         1: .line 282
            aload 3 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.MBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.equals:(Ljava/lang/Object;)Z
            ifne 8
         2: .line 284
            aload 3 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.DefaultMutableTreeNode
         3: .line 283
            astore 4 /* parent */
        start local 4 // javax.swing.tree.DefaultMutableTreeNode parent
         4: .line 285
            aload 0 /* this */
            aload 3 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
         5: .line 286
            aload 1 /* dn */
            aload 1 /* dn */
            iload 2 /* index */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getToken:(I)Lsun/tools/jconsole/inspector/XTree$Token;
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashKey:(Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/String;
            astore 5 /* hashKey */
        start local 5 // java.lang.String hashKey
         6: .line 287
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 5 /* hashKey */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 288
            aload 0 /* this */
            aload 1 /* dn */
            iload 2 /* index */
            iconst_1
            iadd
            aload 4 /* parent */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeParentFromView:(Lsun/tools/jconsole/inspector/XTree$Dn;ILjavax/swing/tree/DefaultMutableTreeNode;)Ljavax/swing/tree/DefaultMutableTreeNode;
            pop
        end local 5 // java.lang.String hashKey
        end local 4 // javax.swing.tree.DefaultMutableTreeNode parent
         8: .line 290
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            areturn
        end local 3 // javax.swing.tree.DefaultMutableTreeNode node
        end local 2 // int index
        end local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/tools/jconsole/inspector/XTree;
            0    9     1       dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    9     2    index  I
            0    9     3     node  Ljavax/swing/tree/DefaultMutableTreeNode;
            4    8     4   parent  Ljavax/swing/tree/DefaultMutableTreeNode;
            6    8     5  hashKey  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      dn     
      index  
      node   

  public synchronized void addMBeansToView(java.util.Set<javax.management.ObjectName>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // java.util.Set mbeans
         0: .line 295
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* dns */
        start local 2 // java.util.Set dns
         1: .line 296
            aload 1 /* mbeans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: sun.tools.jconsole.inspector.XTree java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 3 /* mbean */
        start local 3 // javax.management.ObjectName mbean
         3: .line 297
            new sun.tools.jconsole.inspector.XTree$Dn
            dup
            aload 3 /* mbean */
            invokespecial sun.tools.jconsole.inspector.XTree$Dn.<init>:(Ljavax/management/ObjectName;)V
            astore 5 /* dn */
        start local 5 // sun.tools.jconsole.inspector.XTree$Dn dn
         4: .line 298
            aload 2 /* dns */
            aload 5 /* dn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 3 // javax.management.ObjectName mbean
         5: .line 296
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 300
            aload 2 /* dns */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XTree$Dn
            astore 3 /* dn */
        start local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
         8: .line 301
            aload 3 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getObjectName:()Ljavax/management/ObjectName;
            astore 5 /* mbean */
        start local 5 // javax.management.ObjectName mbean
         9: .line 302
            new sun.tools.jconsole.inspector.XMBean
            dup
            aload 5 /* mbean */
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.mbeansTab:Lsun/tools/jconsole/MBeansTab;
            invokespecial sun.tools.jconsole.inspector.XMBean.<init>:(Ljavax/management/ObjectName;Lsun/tools/jconsole/MBeansTab;)V
            astore 6 /* xmbean */
        start local 6 // sun.tools.jconsole.inspector.XMBean xmbean
        10: .line 303
            aload 0 /* this */
            aload 5 /* mbean */
            aload 6 /* xmbean */
            aload 3 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree.addMBeanToView:(Ljavax/management/ObjectName;Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Dn;)V
        end local 6 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 5 // javax.management.ObjectName mbean
        end local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
        11: .line 300
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 305
            return
        end local 2 // java.util.Set dns
        end local 1 // java.util.Set mbeans
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lsun/tools/jconsole/inspector/XTree;
            0   13     1  mbeans  Ljava/util/Set<Ljavax/management/ObjectName;>;
            1   13     2     dns  Ljava/util/Set<Lsun/tools/jconsole/inspector/XTree$Dn;>;
            3    5     3   mbean  Ljavax/management/ObjectName;
            4    5     5      dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            8   11     3      dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            9   11     5   mbean  Ljavax/management/ObjectName;
           10   11     6  xmbean  Lsun/tools/jconsole/inspector/XMBean;
    Signature: (Ljava/util/Set<Ljavax/management/ObjectName;>;)V
    MethodParameters:
        Name  Flags
      mbeans  

  public synchronized void addMBeanToView(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.management.ObjectName mbean
         0: .line 311
            new sun.tools.jconsole.inspector.XMBean
            dup
            aload 1 /* mbean */
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.mbeansTab:Lsun/tools/jconsole/MBeansTab;
            invokespecial sun.tools.jconsole.inspector.XMBean.<init>:(Ljavax/management/ObjectName;Lsun/tools/jconsole/MBeansTab;)V
            astore 2 /* xmbean */
        start local 2 // sun.tools.jconsole.inspector.XMBean xmbean
         1: .line 314
            new sun.tools.jconsole.inspector.XTree$Dn
            dup
            aload 1 /* mbean */
            invokespecial sun.tools.jconsole.inspector.XTree$Dn.<init>:(Ljavax/management/ObjectName;)V
            astore 3 /* dn */
        start local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
         2: .line 317
            aload 0 /* this */
            aload 1 /* mbean */
            aload 2 /* xmbean */
            aload 3 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree.addMBeanToView:(Ljavax/management/ObjectName;Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Dn;)V
         3: .line 318
            return
        end local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 2 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 1 // javax.management.ObjectName mbean
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/tools/jconsole/inspector/XTree;
            0    4     1   mbean  Ljavax/management/ObjectName;
            1    4     2  xmbean  Lsun/tools/jconsole/inspector/XMBean;
            2    4     3      dn  Lsun/tools/jconsole/inspector/XTree$Dn;
    MethodParameters:
       Name  Flags
      mbean  

  private synchronized void addMBeanToView(javax.management.ObjectName, sun.tools.jconsole.inspector.XMBean, sun.tools.jconsole.inspector.XTree$Dn);
    descriptor: (Ljavax/management/ObjectName;Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Dn;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.management.ObjectName mbean
        start local 2 // sun.tools.jconsole.inspector.XMBean xmbean
        start local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
         0: .line 324
            aconst_null
            astore 4 /* childNode */
        start local 4 // javax.swing.tree.DefaultMutableTreeNode childNode
         1: .line 325
            aconst_null
            astore 5 /* parentNode */
        start local 5 // javax.swing.tree.DefaultMutableTreeNode parentNode
         2: .line 329
            aload 3 /* dn */
            iconst_0
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getToken:(I)Lsun/tools/jconsole/inspector/XTree$Token;
            astore 6 /* token */
        start local 6 // sun.tools.jconsole.inspector.XTree$Token token
         3: .line 330
            aload 3 /* dn */
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashKey:(Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/String;
            astore 7 /* hashKey */
        start local 7 // java.lang.String hashKey
         4: .line 331
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
         5: .line 334
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 4 /* childNode */
         6: .line 337
            aload 0 /* this */
            aload 2 /* xmbean */
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree.createNodeValue:(Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/Object;
            astore 8 /* data */
        start local 8 // java.lang.Object data
         7: .line 338
            aload 8 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 9 /* label */
        start local 9 // java.lang.String label
         8: .line 340
            new sun.tools.jconsole.inspector.XNodeInfo
            dup
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.MBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            aload 8 /* data */
            aload 9 /* label */
            aload 1 /* mbean */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            invokespecial sun.tools.jconsole.inspector.XNodeInfo.<init>:(Lsun/tools/jconsole/inspector/XNodeInfo$Type;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 339
            astore 10 /* userObject */
        start local 10 // sun.tools.jconsole.inspector.XNodeInfo userObject
        10: .line 341
            aload 0 /* this */
            aload 4 /* childNode */
            aload 10 /* userObject */
            invokevirtual sun.tools.jconsole.inspector.XTree.changeNodeValue:(Ljavax/swing/tree/DefaultMutableTreeNode;Lsun/tools/jconsole/inspector/XNodeInfo;)V
        11: .line 342
            return
        end local 10 // sun.tools.jconsole.inspector.XNodeInfo userObject
        end local 9 // java.lang.String label
        end local 8 // java.lang.Object data
        12: .line 347
      StackMap locals: sun.tools.jconsole.inspector.XTree javax.management.ObjectName sun.tools.jconsole.inspector.XMBean sun.tools.jconsole.inspector.XTree$Dn javax.swing.tree.DefaultMutableTreeNode javax.swing.tree.DefaultMutableTreeNode sun.tools.jconsole.inspector.XTree$Token java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* dn */
            aload 6 /* token */
            aload 2 /* xmbean */
            invokevirtual sun.tools.jconsole.inspector.XTree.createDnNode:(Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;Lsun/tools/jconsole/inspector/XMBean;)Ljavax/swing/tree/DefaultMutableTreeNode;
            astore 4 /* childNode */
        13: .line 348
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            aload 4 /* childNode */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 352
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        15: goto 33
        16: .line 353
      StackMap locals: int
      StackMap stack:
            aload 3 /* dn */
            iload 8 /* i */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getToken:(I)Lsun/tools/jconsole/inspector/XTree$Token;
            astore 6 /* token */
        17: .line 354
            aload 3 /* dn */
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getHashKey:(Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/String;
            astore 7 /* hashKey */
        18: .line 355
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
        19: .line 358
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
            astore 5 /* parentNode */
        20: .line 359
            aload 0 /* this */
            aload 5 /* parentNode */
            aload 4 /* childNode */
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;)V
        21: .line 360
            return
        22: .line 364
      StackMap locals:
      StackMap stack:
            ldc "domain"
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getTokenType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        23: .line 365
            aload 0 /* this */
            aload 3 /* dn */
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree.createDomainNode:(Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;)Ljavax/swing/tree/DefaultMutableTreeNode;
            astore 5 /* parentNode */
        24: .line 367
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            invokeinterface javax.swing.tree.TreeModel.getRoot:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
        25: .line 366
            astore 9 /* root */
        start local 9 // javax.swing.tree.DefaultMutableTreeNode root
        26: .line 368
            aload 0 /* this */
            aload 9 /* root */
            aload 5 /* parentNode */
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;)V
        end local 9 // javax.swing.tree.DefaultMutableTreeNode root
        27: .line 369
            goto 29
        28: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* dn */
            aload 6 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree.createSubDnNode:(Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;)Ljavax/swing/tree/DefaultMutableTreeNode;
            astore 5 /* parentNode */
        29: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.nodes:Ljava/util/Map;
            aload 7 /* hashKey */
            aload 5 /* parentNode */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 373
            aload 0 /* this */
            aload 5 /* parentNode */
            aload 4 /* childNode */
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;)V
        31: .line 375
            aload 5 /* parentNode */
            astore 4 /* childNode */
        32: .line 352
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 8 /* i */
            aload 3 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getTokenCount:()I
            if_icmplt 16
        end local 8 // int i
        34: .line 377
            return
        end local 7 // java.lang.String hashKey
        end local 6 // sun.tools.jconsole.inspector.XTree$Token token
        end local 5 // javax.swing.tree.DefaultMutableTreeNode parentNode
        end local 4 // javax.swing.tree.DefaultMutableTreeNode childNode
        end local 3 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 2 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 1 // javax.management.ObjectName mbean
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lsun/tools/jconsole/inspector/XTree;
            0   35     1       mbean  Ljavax/management/ObjectName;
            0   35     2      xmbean  Lsun/tools/jconsole/inspector/XMBean;
            0   35     3          dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            1   35     4   childNode  Ljavax/swing/tree/DefaultMutableTreeNode;
            2   35     5  parentNode  Ljavax/swing/tree/DefaultMutableTreeNode;
            3   35     6       token  Lsun/tools/jconsole/inspector/XTree$Token;
            4   35     7     hashKey  Ljava/lang/String;
            7   12     8        data  Ljava/lang/Object;
            8   12     9       label  Ljava/lang/String;
           10   12    10  userObject  Lsun/tools/jconsole/inspector/XNodeInfo;
           15   34     8           i  I
           26   27     9        root  Ljavax/swing/tree/DefaultMutableTreeNode;
    MethodParameters:
        Name  Flags
      mbean   
      xmbean  
      dn      

  private synchronized void changeNodeValue(javax.swing.tree.DefaultMutableTreeNode, sun.tools.jconsole.inspector.XNodeInfo);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;Lsun/tools/jconsole/inspector/XNodeInfo;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
        start local 2 // sun.tools.jconsole.inspector.XNodeInfo nodeValue
         0: .line 382
            aload 1 /* node */
            instanceof sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            ifeq 15
         1: .line 385
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.clone:()Ljava/lang/Object;
            checkcast javax.swing.tree.DefaultMutableTreeNode
         2: .line 384
            astore 3 /* clone */
        start local 3 // javax.swing.tree.DefaultMutableTreeNode clone
         3: .line 386
            aload 3 /* clone */
            aload 2 /* nodeValue */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         4: .line 387
            aload 1 /* node */
            checkcast sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            aload 3 /* clone */
            invokevirtual sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode.compareTo:(Ljavax/swing/tree/DefaultMutableTreeNode;)I
            ifne 9
         5: .line 389
            aload 1 /* node */
            aload 2 /* nodeValue */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         6: .line 390
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 4 /* model */
        start local 4 // javax.swing.tree.DefaultTreeModel model
         7: .line 391
            aload 4 /* model */
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultTreeModel.nodeChanged:(Ljavax/swing/tree/TreeNode;)V
        end local 4 // javax.swing.tree.DefaultTreeModel model
         8: .line 392
            goto 18
         9: .line 396
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode
      StackMap stack:
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.DefaultMutableTreeNode
        10: .line 395
            astore 4 /* parent */
        start local 4 // javax.swing.tree.DefaultMutableTreeNode parent
        11: .line 397
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
        12: .line 398
            aload 1 /* node */
            aload 2 /* nodeValue */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
        13: .line 399
            aload 0 /* this */
            aload 4 /* parent */
            aload 1 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.addChildNode:(Ljavax/swing/tree/DefaultMutableTreeNode;Ljavax/swing/tree/DefaultMutableTreeNode;)V
        end local 4 // javax.swing.tree.DefaultMutableTreeNode parent
        end local 3 // javax.swing.tree.DefaultMutableTreeNode clone
        14: .line 401
            goto 18
        15: .line 403
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            aload 2 /* nodeValue */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
        16: .line 404
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 3 /* model */
        start local 3 // javax.swing.tree.DefaultTreeModel model
        17: .line 405
            aload 3 /* model */
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultTreeModel.nodeChanged:(Ljavax/swing/tree/TreeNode;)V
        end local 3 // javax.swing.tree.DefaultTreeModel model
        18: .line 408
      StackMap locals:
      StackMap stack:
            aload 2 /* nodeValue */
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getType:()Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.MBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.equals:(Ljava/lang/Object;)Z
            ifeq 24
        19: .line 409
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.removeMetadataNodes:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
        20: .line 410
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getPath:()[Ljavax/swing/tree/TreeNode;
            astore 3 /* treeNodes */
        start local 3 // javax.swing.tree.TreeNode[] treeNodes
        21: .line 411
            new javax.swing.tree.TreePath
            dup
            aload 3 /* treeNodes */
            invokespecial javax.swing.tree.TreePath.<init>:([Ljava/lang/Object;)V
            astore 4 /* path */
        start local 4 // javax.swing.tree.TreePath path
        22: .line 412
            aload 0 /* this */
            aload 4 /* path */
            invokevirtual sun.tools.jconsole.inspector.XTree.isExpanded:(Ljavax/swing/tree/TreePath;)Z
            ifeq 24
        23: .line 413
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual sun.tools.jconsole.inspector.XTree.addMetadataNodes:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
        end local 4 // javax.swing.tree.TreePath path
        end local 3 // javax.swing.tree.TreeNode[] treeNodes
        24: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getLastSelectedPathComponent:()Ljava/lang/Object;
            if_acmpne 28
        25: .line 419
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getSelectionPath:()Ljavax/swing/tree/TreePath;
            astore 3 /* selectionPath */
        start local 3 // javax.swing.tree.TreePath selectionPath
        26: .line 420
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.clearSelection:()V
        27: .line 421
            aload 0 /* this */
            aload 3 /* selectionPath */
            invokevirtual sun.tools.jconsole.inspector.XTree.setSelectionPath:(Ljavax/swing/tree/TreePath;)V
        end local 3 // javax.swing.tree.TreePath selectionPath
        28: .line 423
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.tools.jconsole.inspector.XNodeInfo nodeValue
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lsun/tools/jconsole/inspector/XTree;
            0   29     1           node  Ljavax/swing/tree/DefaultMutableTreeNode;
            0   29     2      nodeValue  Lsun/tools/jconsole/inspector/XNodeInfo;
            3   14     3          clone  Ljavax/swing/tree/DefaultMutableTreeNode;
            7    8     4          model  Ljavax/swing/tree/DefaultTreeModel;
           11   14     4         parent  Ljavax/swing/tree/DefaultMutableTreeNode;
           17   18     3          model  Ljavax/swing/tree/DefaultTreeModel;
           21   24     3      treeNodes  [Ljavax/swing/tree/TreeNode;
           22   24     4           path  Ljavax/swing/tree/TreePath;
           26   28     3  selectionPath  Ljavax/swing/tree/TreePath;
    MethodParameters:
           Name  Flags
      node       
      nodeValue  

  private javax.swing.tree.DefaultMutableTreeNode createDomainNode(sun.tools.jconsole.inspector.XTree$Dn, sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;)Ljavax/swing/tree/DefaultMutableTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 429
            new sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            dup
            invokespecial sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode.<init>:()V
            astore 3 /* node */
        start local 3 // javax.swing.tree.DefaultMutableTreeNode node
         1: .line 430
            aload 1 /* dn */
            invokevirtual sun.tools.jconsole.inspector.XTree$Dn.getDomain:()Ljava/lang/String;
            astore 4 /* label */
        start local 4 // java.lang.String label
         2: .line 432
            new sun.tools.jconsole.inspector.XNodeInfo
            dup
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NONMBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            aload 4 /* label */
            aload 4 /* label */
            aload 4 /* label */
            invokespecial sun.tools.jconsole.inspector.XNodeInfo.<init>:(Lsun/tools/jconsole/inspector/XNodeInfo$Type;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 431
            astore 5 /* userObject */
        start local 5 // sun.tools.jconsole.inspector.XNodeInfo userObject
         4: .line 433
            aload 3 /* node */
            aload 5 /* userObject */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         5: .line 434
            aload 3 /* node */
            areturn
        end local 5 // sun.tools.jconsole.inspector.XNodeInfo userObject
        end local 4 // java.lang.String label
        end local 3 // javax.swing.tree.DefaultMutableTreeNode node
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lsun/tools/jconsole/inspector/XTree;
            0    6     1          dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    6     2       token  Lsun/tools/jconsole/inspector/XTree$Token;
            1    6     3        node  Ljavax/swing/tree/DefaultMutableTreeNode;
            2    6     4       label  Ljava/lang/String;
            4    6     5  userObject  Lsun/tools/jconsole/inspector/XNodeInfo;
    MethodParameters:
       Name  Flags
      dn     
      token  

  private javax.swing.tree.DefaultMutableTreeNode createDnNode(sun.tools.jconsole.inspector.XTree$Dn, sun.tools.jconsole.inspector.XTree$Token, sun.tools.jconsole.inspector.XMBean);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;Lsun/tools/jconsole/inspector/XMBean;)Ljavax/swing/tree/DefaultMutableTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
        start local 3 // sun.tools.jconsole.inspector.XMBean xmbean
         0: .line 442
            new sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            dup
            invokespecial sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode.<init>:()V
            astore 4 /* node */
        start local 4 // javax.swing.tree.DefaultMutableTreeNode node
         1: .line 443
            aload 0 /* this */
            aload 3 /* xmbean */
            aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree.createNodeValue:(Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/Object;
            astore 5 /* data */
        start local 5 // java.lang.Object data
         2: .line 444
            aload 5 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 6 /* label */
        start local 6 // java.lang.String label
         3: .line 445
            new sun.tools.jconsole.inspector.XNodeInfo
            dup
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.MBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            aload 5 /* data */
            aload 6 /* label */
         4: .line 446
            aload 3 /* xmbean */
            invokevirtual sun.tools.jconsole.inspector.XMBean.getObjectName:()Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
         5: .line 445
            invokespecial sun.tools.jconsole.inspector.XNodeInfo.<init>:(Lsun/tools/jconsole/inspector/XNodeInfo$Type;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* userObject */
        start local 7 // sun.tools.jconsole.inspector.XNodeInfo userObject
         6: .line 447
            aload 4 /* node */
            aload 7 /* userObject */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         7: .line 448
            aload 4 /* node */
            areturn
        end local 7 // sun.tools.jconsole.inspector.XNodeInfo userObject
        end local 6 // java.lang.String label
        end local 5 // java.lang.Object data
        end local 4 // javax.swing.tree.DefaultMutableTreeNode node
        end local 3 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lsun/tools/jconsole/inspector/XTree;
            0    8     1          dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    8     2       token  Lsun/tools/jconsole/inspector/XTree$Token;
            0    8     3      xmbean  Lsun/tools/jconsole/inspector/XMBean;
            1    8     4        node  Ljavax/swing/tree/DefaultMutableTreeNode;
            2    8     5        data  Ljava/lang/Object;
            3    8     6       label  Ljava/lang/String;
            6    8     7  userObject  Lsun/tools/jconsole/inspector/XNodeInfo;
    MethodParameters:
        Name  Flags
      dn      
      token   
      xmbean  

  private javax.swing.tree.DefaultMutableTreeNode createSubDnNode(sun.tools.jconsole.inspector.XTree$Dn, sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (Lsun/tools/jconsole/inspector/XTree$Dn;Lsun/tools/jconsole/inspector/XTree$Token;)Ljavax/swing/tree/DefaultMutableTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 456
            new sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode
            dup
            invokespecial sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode.<init>:()V
            astore 3 /* node */
        start local 3 // javax.swing.tree.DefaultMutableTreeNode node
         1: .line 457
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.isKeyValueView:()Z
            ifeq 2
            aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getTokenValue:()Ljava/lang/String;
            goto 3
      StackMap locals: javax.swing.tree.DefaultMutableTreeNode
      StackMap stack:
         2: aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getValue:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 4 /* label */
        start local 4 // java.lang.String label
         4: .line 459
            new sun.tools.jconsole.inspector.XNodeInfo
            dup
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NONMBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            aload 4 /* label */
            aload 4 /* label */
            aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getTokenValue:()Ljava/lang/String;
            invokespecial sun.tools.jconsole.inspector.XNodeInfo.<init>:(Lsun/tools/jconsole/inspector/XNodeInfo$Type;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 458
            astore 5 /* userObject */
        start local 5 // sun.tools.jconsole.inspector.XNodeInfo userObject
         6: .line 460
            aload 3 /* node */
            aload 5 /* userObject */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         7: .line 461
            aload 3 /* node */
            areturn
        end local 5 // sun.tools.jconsole.inspector.XNodeInfo userObject
        end local 4 // java.lang.String label
        end local 3 // javax.swing.tree.DefaultMutableTreeNode node
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // sun.tools.jconsole.inspector.XTree$Dn dn
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lsun/tools/jconsole/inspector/XTree;
            0    8     1          dn  Lsun/tools/jconsole/inspector/XTree$Dn;
            0    8     2       token  Lsun/tools/jconsole/inspector/XTree$Token;
            1    8     3        node  Ljavax/swing/tree/DefaultMutableTreeNode;
            4    8     4       label  Ljava/lang/String;
            6    8     5  userObject  Lsun/tools/jconsole/inspector/XNodeInfo;
    MethodParameters:
       Name  Flags
      dn     
      token  

  private java.lang.Object createNodeValue(sun.tools.jconsole.inspector.XMBean, sun.tools.jconsole.inspector.XTree$Token);
    descriptor: (Lsun/tools/jconsole/inspector/XMBean;Lsun/tools/jconsole/inspector/XTree$Token;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // sun.tools.jconsole.inspector.XMBean xmbean
        start local 2 // sun.tools.jconsole.inspector.XTree$Token token
         0: .line 465
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.isKeyValueView:()Z
            ifeq 1
            aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getTokenValue:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* token */
            invokevirtual sun.tools.jconsole.inspector.XTree$Token.getValue:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* label */
        start local 3 // java.lang.String label
         3: .line 466
            aload 1 /* xmbean */
            aload 3 /* label */
            invokevirtual sun.tools.jconsole.inspector.XMBean.setText:(Ljava/lang/String;)V
         4: .line 467
            aload 1 /* xmbean */
            areturn
        end local 3 // java.lang.String label
        end local 2 // sun.tools.jconsole.inspector.XTree$Token token
        end local 1 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/tools/jconsole/inspector/XTree;
            0    5     1  xmbean  Lsun/tools/jconsole/inspector/XMBean;
            0    5     2   token  Lsun/tools/jconsole/inspector/XTree$Token;
            3    5     3   label  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      xmbean  
      token   

  private static java.util.Map<java.lang.String, java.lang.String> extractKeyValuePairs(java.lang.String, javax.management.ObjectName);
    descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String props
        start local 1 // javax.management.ObjectName mbean
         0: .line 477
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 478
            aload 0 /* props */
            ldc "="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* eq */
        start local 3 // int eq
         2: .line 479
            goto 10
         3: .line 480
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* props */
            iconst_0
            iload 3 /* eq */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
         4: .line 481
            aload 1 /* mbean */
            aload 4 /* key */
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         5: .line 482
            aload 2 /* map */
            aload 4 /* key */
            aload 5 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 483
            aload 0 /* props */
            aload 4 /* key */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            aload 5 /* value */
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* props */
         7: .line 484
            aload 0 /* props */
            ldc ","
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 485
            aload 0 /* props */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* props */
         9: .line 487
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* props */
            ldc "="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* eq */
        end local 5 // java.lang.String value
        end local 4 // java.lang.String key
        10: .line 479
      StackMap locals:
      StackMap stack:
            iload 3 /* eq */
            iconst_m1
            if_icmpne 3
        11: .line 489
            aload 2 /* map */
            areturn
        end local 3 // int eq
        end local 2 // java.util.Map map
        end local 1 // javax.management.ObjectName mbean
        end local 0 // java.lang.String props
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  props  Ljava/lang/String;
            0   12     1  mbean  Ljavax/management/ObjectName;
            1   12     2    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   12     3     eq  I
            4   10     4    key  Ljava/lang/String;
            5   10     5  value  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljavax/management/ObjectName;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      props  
      mbean  

  private static java.lang.String getKeyPropertyListString(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // javax.management.ObjectName mbean
         0: .line 503
            aload 0 /* mbean */
            invokevirtual javax.management.ObjectName.getKeyPropertyListString:()Ljava/lang/String;
            astore 1 /* props */
        start local 1 // java.lang.String props
         1: .line 504
            aload 1 /* props */
            aload 0 /* mbean */
            invokestatic sun.tools.jconsole.inspector.XTree.extractKeyValuePairs:(Ljava/lang/String;Ljavax/management/ObjectName;)Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         2: .line 505
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 508
            getstatic sun.tools.jconsole.inspector.XTree.orderedKeyPropertyList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: javax.management.ObjectName java.lang.String java.util.Map java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         5: .line 509
            aload 2 /* map */
            aload 4 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 510
            aload 3 /* sb */
            new java.lang.StringBuilder
            dup
            aload 4 /* key */
            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 2 /* map */
            aload 4 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 511
            aload 2 /* map */
            aload 4 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String key
         8: .line 508
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 515
            aload 2 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        11: .line 516
            aload 3 /* sb */
            new java.lang.StringBuilder
            dup
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.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 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.util.Map$Entry entry
        12: .line 515
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 518
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* orderedKeyPropertyListString */
        start local 4 // java.lang.String orderedKeyPropertyListString
        14: .line 519
            aload 4 /* orderedKeyPropertyListString */
        15: .line 520
            iconst_0
            aload 4 /* orderedKeyPropertyListString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
        16: .line 519
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* orderedKeyPropertyListString */
        17: .line 521
            aload 4 /* orderedKeyPropertyListString */
            areturn
        end local 4 // java.lang.String orderedKeyPropertyListString
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.util.Map map
        end local 1 // java.lang.String props
        end local 0 // javax.management.ObjectName mbean
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   18     0                         mbean  Ljavax/management/ObjectName;
            1   18     1                         props  Ljava/lang/String;
            2   18     2                           map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   18     3                            sb  Ljava/lang/StringBuilder;
            5    8     4                           key  Ljava/lang/String;
           11   12     4                         entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           14   18     4  orderedKeyPropertyListString  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      mbean  

  public void addMetadataNodes(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XTree this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 526
            aload 1 /* node */
            invokevirtual javax.swing.tree.DefaultMutableTreeNode.getUserObject:()Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XNodeInfo
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo.getData:()Ljava/lang/Object;
            checkcast sun.tools.jconsole.inspector.XMBean
            astore 2 /* mbean */
        start local 2 // sun.tools.jconsole.inspector.XMBean mbean
         1: .line 527
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XTree.getModel:()Ljavax/swing/tree/TreeModel;
            checkcast javax.swing.tree.DefaultTreeModel
            astore 3 /* model */
        start local 3 // javax.swing.tree.DefaultTreeModel model
         2: .line 529
            new sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker
            dup
            aload 3 /* model */
            aload 1 /* node */
            aload 2 /* mbean */
            invokespecial sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker.<init>:(Ljavax/swing/tree/DefaultTreeModel;Ljavax/swing/tree/DefaultMutableTreeNode;Lsun/tools/jconsole/inspector/XMBean;)V
         3: .line 528
            astore 4 /* sw */
        start local 4 // sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker sw
         4: .line 530
            aload 4 /* sw */
            ifnull 6
         5: .line 531
            aload 4 /* sw */
            invokevirtual sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker.execute:()V
         6: .line 533
      StackMap locals: sun.tools.jconsole.inspector.XMBean javax.swing.tree.DefaultTreeModel sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker
      StackMap stack:
            return
        end local 4 // sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker sw
        end local 3 // javax.swing.tree.DefaultTreeModel model
        end local 2 // sun.tools.jconsole.inspector.XMBean mbean
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/tools/jconsole/inspector/XTree;
            0    7     1   node  Ljavax/swing/tree/DefaultMutableTreeNode;
            1    7     2  mbean  Lsun/tools/jconsole/inspector/XMBean;
            2    7     3  model  Ljavax/swing/tree/DefaultTreeModel;
            4    7     4     sw  Lsun/tools/jconsole/inspector/XTree$MBeanInfoNodesSwingWorker;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isTreeView();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 676
            getstatic sun.tools.jconsole.inspector.XTree.treeViewInit:Z
            ifne 3
         1: .line 677
            invokestatic sun.tools.jconsole.inspector.XTree.getTreeViewValue:()Z
            putstatic sun.tools.jconsole.inspector.XTree.treeView:Z
         2: .line 678
            iconst_1
            putstatic sun.tools.jconsole.inspector.XTree.treeViewInit:Z
         3: .line 680
      StackMap locals:
      StackMap stack:
            getstatic sun.tools.jconsole.inspector.XTree.treeView:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean getTreeViewValue();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 684
            ldc "treeView"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* tv */
        start local 0 // java.lang.String tv
         1: .line 685
            aload 0 /* tv */
            ifnonnull 2
            iconst_1
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* tv */
            ldc "false"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 0 // java.lang.String tv
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    5     0    tv  Ljava/lang/String;

  private boolean isKeyValueView();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XTree this
         0: .line 693
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XTree.keyValueView:Z
            ireturn
        end local 0 // sun.tools.jconsole.inspector.XTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XTree;

  static int[] $SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 40
            getstatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic sun.tools.jconsole.inspector.XNodeInfo$Type.values:()[Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.ATTRIBUTE:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.ATTRIBUTES:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.MBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NONMBEAN:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NOTIFICATION:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            bipush 8
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.NOTIFICATIONS:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.OPERATION:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic sun.tools.jconsole.inspector.XNodeInfo$Type.OPERATIONS:Lsun/tools/jconsole/inspector/XNodeInfo$Type;
            invokevirtual sun.tools.jconsole.inspector.XNodeInfo$Type.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic sun.tools.jconsole.inspector.XTree.$SWITCH_TABLE$sun$tools$jconsole$inspector$XNodeInfo$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
SourceFile: "XTree.java"
NestMembers:
  sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode  sun.tools.jconsole.inspector.XTree$Dn  sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker  sun.tools.jconsole.inspector.XTree$Token
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Type = sun.tools.jconsole.inspector.XNodeInfo$Type of sun.tools.jconsole.inspector.XNodeInfo
  private ComparableDefaultMutableTreeNode = sun.tools.jconsole.inspector.XTree$ComparableDefaultMutableTreeNode of sun.tools.jconsole.inspector.XTree
  private Dn = sun.tools.jconsole.inspector.XTree$Dn of sun.tools.jconsole.inspector.XTree
  private MBeanInfoNodesSwingWorker = sun.tools.jconsole.inspector.XTree$MBeanInfoNodesSwingWorker of sun.tools.jconsole.inspector.XTree
  private Token = sun.tools.jconsole.inspector.XTree$Token of sun.tools.jconsole.inspector.XTree