class javax.swing.tree.VariableHeightLayoutCache$TreeStateNode extends javax.swing.tree.DefaultMutableTreeNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
  super_class: javax.swing.tree.DefaultMutableTreeNode
{
  protected int preferredWidth;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int preferredHeight;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int xOrigin;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int yOrigin;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected boolean expanded;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean hasBeenExpanded;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected javax.swing.tree.TreePath path;
    descriptor: Ljavax/swing/tree/TreePath;
    flags: (0x0004) ACC_PROTECTED

  final javax.swing.tree.VariableHeightLayoutCache this$0;
    descriptor: Ljavax/swing/tree/VariableHeightLayoutCache;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(javax.swing.tree.VariableHeightLayoutCache, java.lang.Object);
    descriptor: (Ljavax/swing/tree/VariableHeightLayoutCache;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 2 // java.lang.Object value
         0: .line 1049
            aload 0 /* this */
            aload 1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
         1: .line 1050
            aload 0 /* this */
            aload 2 /* value */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.<init>:(Ljava/lang/Object;)V
         2: .line 1051
            return
        end local 2 // java.lang.Object value
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    3     2  value  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      this$0  final
      value   

  public void setParent(javax.swing.tree.MutableTreeNode);
    descriptor: (Ljavax/swing/tree/MutableTreeNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // javax.swing.tree.MutableTreeNode parent
         0: .line 1062
            aload 0 /* this */
            aload 1 /* parent */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.setParent:(Ljavax/swing/tree/MutableTreeNode;)V
         1: .line 1063
            aload 1 /* parent */
            ifnull 6
         2: .line 1064
            aload 0 /* this */
            aload 1 /* parent */
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getTreePath:()Ljavax/swing/tree/TreePath;
         3: .line 1065
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getUserObject:()Ljava/lang/Object;
            invokevirtual javax.swing.tree.TreePath.pathByAddingChild:(Ljava/lang/Object;)Ljavax/swing/tree/TreePath;
         4: .line 1064
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
         5: .line 1066
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.addMapping:(Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;)V
         6: .line 1068
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.tree.MutableTreeNode parent
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    7     1  parent  Ljavax/swing/tree/MutableTreeNode;
    MethodParameters:
        Name  Flags
      parent  

  public void remove(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // int childIndex
         0: .line 1075
            aload 0 /* this */
            iload 1 /* childIndex */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 2 /* node */
        start local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
         1: .line 1077
            aload 2 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.removeFromMapping:()V
         2: .line 1078
            aload 0 /* this */
            iload 1 /* childIndex */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.remove:(I)V
         3: .line 1079
            return
        end local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        end local 1 // int childIndex
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    4     1  childIndex  I
            1    4     2        node  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
    MethodParameters:
            Name  Flags
      childIndex  

  public void setUserObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // java.lang.Object o
         0: .line 1085
            aload 0 /* this */
            aload 1 /* o */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.setUserObject:(Ljava/lang/Object;)V
         1: .line 1086
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
            ifnull 6
         2: .line 1087
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 2 /* parent */
        start local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
         3: .line 1089
            aload 2 /* parent */
            ifnull 5
         4: .line 1090
            aload 0 /* this */
            aload 2 /* parent */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getTreePath:()Ljavax/swing/tree/TreePath;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.resetChildrenPaths:(Ljavax/swing/tree/TreePath;)V
            goto 6
         5: .line 1092
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.resetChildrenPaths:(Ljavax/swing/tree/TreePath;)V
        end local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
         6: .line 1094
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object o
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    7     1       o  Ljava/lang/Object;
            3    6     2  parent  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
    MethodParameters:
      Name  Flags
      o     

  public java.util.Enumeration children();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1102
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifne 2
         1: .line 1103
            getstatic javax.swing.tree.DefaultMutableTreeNode.EMPTY_ENUMERATION:Ljava/util/Enumeration;
            areturn
         2: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            areturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public boolean isLeaf();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1113
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getModel:()Ljavax/swing/tree/TreeModel;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getValue:()Ljava/lang/Object;
            invokeinterface javax.swing.tree.TreeModel.isLeaf:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public java.awt.Rectangle getNodeBounds(java.awt.Rectangle);
    descriptor: (Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // java.awt.Rectangle placeIn
         0: .line 1124
            aload 1 /* placeIn */
            ifnonnull 6
         1: .line 1125
            new java.awt.Rectangle
            dup
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin:()I
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
         2: .line 1126
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth:()I
         3: .line 1127
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
         4: .line 1125
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 1 /* placeIn */
         5: .line 1127
            goto 10
         6: .line 1129
      StackMap locals:
      StackMap stack:
            aload 1 /* placeIn */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getXOrigin:()I
            putfield java.awt.Rectangle.x:I
         7: .line 1130
            aload 1 /* placeIn */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
            putfield java.awt.Rectangle.y:I
         8: .line 1131
            aload 1 /* placeIn */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth:()I
            putfield java.awt.Rectangle.width:I
         9: .line 1132
            aload 1 /* placeIn */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            putfield java.awt.Rectangle.height:I
        10: .line 1134
      StackMap locals:
      StackMap stack:
            aload 1 /* placeIn */
            areturn
        end local 1 // java.awt.Rectangle placeIn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   11     1  placeIn  Ljava/awt/Rectangle;
    MethodParameters:
         Name  Flags
      placeIn  

  public int getXOrigin();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1141
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasValidSize:()Z
            ifne 2
         1: .line 1142
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
         2: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.xOrigin:I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public int getYOrigin();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1150
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isFixedRowHeight:()Z
            ifeq 5
         1: .line 1151
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            istore 1 /* aRow */
        start local 1 // int aRow
         2: .line 1153
            iload 1 /* aRow */
            iconst_m1
            if_icmpne 4
         3: .line 1154
            iconst_m1
            ireturn
         4: .line 1155
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getRowHeight:()I
            iload 1 /* aRow */
            imul
            ireturn
        end local 1 // int aRow
         5: .line 1157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.yOrigin:I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            2    5     1  aRow  I

  public int getPreferredHeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1164
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isFixedRowHeight:()Z
            ifeq 2
         1: .line 1165
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getRowHeight:()I
            ireturn
         2: .line 1166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasValidSize:()Z
            ifne 4
         3: .line 1167
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
         4: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public int getPreferredWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1175
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasValidSize:()Z
            ifne 2
         1: .line 1176
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
         2: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredWidth:I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public boolean hasValidSize();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1184
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public int getRow();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1191
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            aload 0 /* this */
            invokevirtual java.util.Vector.indexOf:(Ljava/lang/Object;)I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public boolean hasBeenExpanded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1198
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public boolean isExpanded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1205
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expanded:Z
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public javax.swing.tree.VariableHeightLayoutCache$TreeStateNode getLastVisibleNode();
    descriptor: ()Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1213
            aload 0 /* this */
            astore 1 /* node */
        start local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
         1: .line 1215
            goto 3
         2: .line 1216
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
            aload 1 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getLastChild:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 1 /* node */
         3: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifeq 4
            aload 1 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildCount:()I
            ifgt 2
         4: .line 1217
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            1    5     1  node  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public boolean isVisible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1224
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.root:Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            if_acmpne 2
         1: .line 1225
            iconst_1
            ireturn
         2: .line 1227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 1 /* parent */
        start local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
         3: .line 1229
            aload 1 /* parent */
            ifnull 6
            aload 1 /* parent */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifeq 6
         4: .line 1230
            aload 1 /* parent */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isVisible:()Z
            ifeq 6
         5: .line 1229
            iconst_1
            ireturn
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            3    7     1  parent  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public int getModelChildCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1238
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
            ifeq 2
         1: .line 1239
            aload 0 /* this */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.getChildCount:()I
            ireturn
         2: .line 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getModel:()Ljavax/swing/tree/TreeModel;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getValue:()Ljava/lang/Object;
            invokeinterface javax.swing.tree.TreeModel.getChildCount:(Ljava/lang/Object;)I
            ireturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public int getVisibleChildCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1248
            iconst_0
            istore 1 /* childCount */
        start local 1 // int childCount
         1: .line 1250
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifeq 10
         2: .line 1251
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildCount:()I
            istore 2 /* maxCounter */
        start local 2 // int maxCounter
         3: .line 1253
            iload 1 /* childCount */
            iload 2 /* maxCounter */
            iadd
            istore 1 /* childCount */
         4: .line 1254
            iconst_0
            istore 3 /* counter */
        start local 3 // int counter
         5: goto 9
         6: .line 1255
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* childCount */
            aload 0 /* this */
            iload 3 /* counter */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
         7: .line 1256
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getVisibleChildCount:()I
            iadd
            istore 1 /* childCount */
         8: .line 1254
            iinc 3 /* counter */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* counter */
            iload 2 /* maxCounter */
            if_icmplt 6
        end local 3 // int counter
        end local 2 // int maxCounter
        10: .line 1258
      StackMap locals:
      StackMap stack:
            iload 1 /* childCount */
            ireturn
        end local 1 // int childCount
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            1   11     1  childCount  I
            3   10     2  maxCounter  I
            5   10     3     counter  I

  public void toggleExpanded();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1265
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifeq 3
         1: .line 1266
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse:()V
         2: .line 1267
            goto 4
         3: .line 1268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand:()V
         4: .line 1270
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public void makeVisible();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1277
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 1 /* parent */
        start local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
         1: .line 1279
            aload 1 /* parent */
            ifnull 3
         2: .line 1280
            aload 1 /* parent */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expandParentAndReceiver:()V
         3: .line 1281
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
            return
        end local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            1    4     1  parent  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public void expand();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1287
            aload 0 /* this */
            iconst_1
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand:(Z)V
         1: .line 1288
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public void collapse();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1294
            aload 0 /* this */
            iconst_1
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.collapse:(Z)V
         1: .line 1295
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1302
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getUserObject:()Ljava/lang/Object;
            areturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  public javax.swing.tree.TreePath getTreePath();
    descriptor: ()Ljavax/swing/tree/TreePath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1309
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
            areturn
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  protected void resetChildrenPaths(javax.swing.tree.TreePath);
    descriptor: (Ljavax/swing/tree/TreePath;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // javax.swing.tree.TreePath parentPath
         0: .line 1320
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.removeMapping:(Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;)V
         1: .line 1321
            aload 1 /* parentPath */
            ifnonnull 3
         2: .line 1322
            aload 0 /* this */
            new javax.swing.tree.TreePath
            dup
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getUserObject:()Ljava/lang/Object;
            invokespecial javax.swing.tree.TreePath.<init>:(Ljava/lang/Object;)V
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
            goto 4
         3: .line 1324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parentPath */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getUserObject:()Ljava/lang/Object;
            invokevirtual javax.swing.tree.TreePath.pathByAddingChild:(Ljava/lang/Object;)Ljavax/swing/tree/TreePath;
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
         4: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.addMapping:(Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;)V
         5: .line 1326
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildCount:()I
            iconst_1
            isub
            istore 2 /* counter */
        start local 2 // int counter
         6: goto 9
         7: .line 1327
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* counter */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.resetChildrenPaths:(Ljavax/swing/tree/TreePath;)V
         8: .line 1326
            iinc 2 /* counter */ -1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* counter */
            ifge 7
        end local 2 // int counter
        10: .line 1328
            return
        end local 1 // javax.swing.tree.TreePath parentPath
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   11     1  parentPath  Ljavax/swing/tree/TreePath;
            6   10     2     counter  I
    MethodParameters:
            Name  Flags
      parentPath  

  protected void setYOrigin(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // int newYOrigin
         0: .line 1335
            aload 0 /* this */
            iload 1 /* newYOrigin */
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.yOrigin:I
         1: .line 1336
            return
        end local 1 // int newYOrigin
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    2     1  newYOrigin  I
    MethodParameters:
            Name  Flags
      newYOrigin  

  protected void shiftYOriginBy(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // int offset
         0: .line 1342
            aload 0 /* this */
            dup
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.yOrigin:I
            iload 1 /* offset */
            iadd
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.yOrigin:I
         1: .line 1343
            return
        end local 1 // int offset
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0    2     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  protected void updatePreferredSize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1350
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
         1: .line 1351
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  protected void updatePreferredSize(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // int index
         0: .line 1359
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getUserObject:()Ljava/lang/Object;
         1: .line 1360
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getLevel:()I
         2: .line 1361
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
         3: .line 1362
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.boundsBuffer:Ljava/awt/Rectangle;
         4: .line 1359
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getNodeDimensions:(Ljava/lang/Object;IIZLjava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 2 /* bounds */
        start local 2 // java.awt.Rectangle bounds
         5: .line 1364
            aload 2 /* bounds */
            ifnonnull 10
         6: .line 1365
            aload 0 /* this */
            iconst_0
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.xOrigin:I
         7: .line 1366
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredWidth:I
         8: .line 1367
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            iconst_1
            putfield javax.swing.tree.VariableHeightLayoutCache.updateNodeSizes:Z
         9: .line 1368
            goto 20
        10: .line 1369
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 2 /* bounds */
            getfield java.awt.Rectangle.height:I
            ifne 15
        11: .line 1370
            aload 0 /* this */
            iconst_0
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.xOrigin:I
        12: .line 1371
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredWidth:I
        13: .line 1372
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            iconst_1
            putfield javax.swing.tree.VariableHeightLayoutCache.updateNodeSizes:Z
        14: .line 1373
            goto 20
        15: .line 1375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* bounds */
            getfield java.awt.Rectangle.x:I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.xOrigin:I
        16: .line 1376
            aload 0 /* this */
            aload 2 /* bounds */
            getfield java.awt.Rectangle.width:I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredWidth:I
        17: .line 1377
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isFixedRowHeight:()Z
            ifeq 19
        18: .line 1378
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getRowHeight:()I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
            goto 20
        19: .line 1380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* bounds */
            getfield java.awt.Rectangle.height:I
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
        20: .line 1382
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.Rectangle bounds
        end local 1 // int index
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   21     1   index  I
            5   21     2  bounds  Ljava/awt/Rectangle;
    MethodParameters:
       Name  Flags
      index  

  protected void markSizeInvalid();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1389
            aload 0 /* this */
            iconst_0
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preferredHeight:I
         1: .line 1390
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  protected void deepMarkSizeInvalid();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1396
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.markSizeInvalid:()V
         1: .line 1397
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildCount:()I
            iconst_1
            isub
            istore 1 /* counter */
        start local 1 // int counter
         2: goto 5
         3: .line 1398
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* counter */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.deepMarkSizeInvalid:()V
         4: .line 1397
            iinc 1 /* counter */ -1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* counter */
            ifge 3
        end local 1 // int counter
         6: .line 1399
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            2    6     1  counter  I

  protected java.util.Enumeration getLoadedChildren(boolean);
    descriptor: (Z)Ljava/util/Enumeration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // boolean createIfNeeded
         0: .line 1408
            iload 1 /* createIfNeeded */
            ifeq 1
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
            ifeq 2
         1: .line 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            areturn
         2: .line 1412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getValue:()Ljava/lang/Object;
            astore 3 /* realNode */
        start local 3 // java.lang.Object realNode
         3: .line 1413
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getModel:()Ljavax/swing/tree/TreeModel;
            astore 4 /* treeModel */
        start local 4 // javax.swing.tree.TreeModel treeModel
         4: .line 1414
            aload 4 /* treeModel */
            aload 3 /* realNode */
            invokeinterface javax.swing.tree.TreeModel.getChildCount:(Ljava/lang/Object;)I
            istore 5 /* count */
        start local 5 // int count
         5: .line 1416
            aload 0 /* this */
            iconst_1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
         6: .line 1418
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            istore 6 /* childRow */
        start local 6 // int childRow
         7: .line 1420
            iload 6 /* childRow */
            iconst_m1
            if_icmpne 18
         8: .line 1421
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 16
        10: .line 1422
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int top java.lang.Object javax.swing.tree.TreeModel int int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
        11: .line 1423
            aload 4 /* treeModel */
            aload 3 /* realNode */
            iload 7 /* i */
            invokeinterface javax.swing.tree.TreeModel.getChild:(Ljava/lang/Object;I)Ljava/lang/Object;
        12: .line 1422
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.createNodeForValue:(Ljava/lang/Object;)Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            astore 2 /* newNode */
        start local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
        13: .line 1424
            aload 0 /* this */
            aload 2 /* newNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.add:(Ljavax/swing/tree/MutableTreeNode;)V
        14: .line 1425
            aload 2 /* newNode */
            iconst_m1
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        15: .line 1421
            iinc 7 /* i */ 1
        end local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            iload 5 /* count */
            if_icmplt 10
        end local 7 // int i
        17: .line 1427
            goto 28
        18: .line 1429
      StackMap locals:
      StackMap stack:
            iinc 6 /* childRow */ 1
        19: .line 1430
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        20: goto 27
        21: .line 1431
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
        22: .line 1432
            aload 4 /* treeModel */
            aload 3 /* realNode */
            iload 7 /* i */
            invokeinterface javax.swing.tree.TreeModel.getChild:(Ljava/lang/Object;I)Ljava/lang/Object;
        23: .line 1431
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.createNodeForValue:(Ljava/lang/Object;)Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            astore 2 /* newNode */
        start local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
        24: .line 1433
            aload 0 /* this */
            aload 2 /* newNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.add:(Ljavax/swing/tree/MutableTreeNode;)V
        25: .line 1434
            aload 2 /* newNode */
            iload 6 /* childRow */
            iinc 6 /* childRow */ 1
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        26: .line 1430
            iinc 7 /* i */ 1
        end local 2 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
      StackMap locals:
      StackMap stack:
        27: iload 7 /* i */
            iload 5 /* count */
            if_icmplt 21
        end local 7 // int i
        28: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.swing.tree.DefaultMutableTreeNode.children:()Ljava/util/Enumeration;
            areturn
        end local 6 // int childRow
        end local 5 // int count
        end local 4 // javax.swing.tree.TreeModel treeModel
        end local 3 // java.lang.Object realNode
        end local 1 // boolean createIfNeeded
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   29     1  createIfNeeded  Z
           13   16     2         newNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           24   27     2         newNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            3   29     3        realNode  Ljava/lang/Object;
            4   29     4       treeModel  Ljavax/swing/tree/TreeModel;
            5   29     5           count  I
            7   29     6        childRow  I
            9   17     7               i  I
           20   28     7               i  I
    MethodParameters:
                Name  Flags
      createIfNeeded  

  protected void didAdjustTree();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1445
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  protected void expandParentAndReceiver();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1452
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getParent:()Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 1 /* parent */
        start local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
         1: .line 1454
            aload 1 /* parent */
            ifnull 3
         2: .line 1455
            aload 1 /* parent */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expandParentAndReceiver:()V
         3: .line 1456
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand:()V
         4: .line 1457
            return
        end local 1 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode parent
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            1    5     1  parent  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;

  protected void expand(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // boolean adjustTree
         0: .line 1466
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifne 73
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isLeaf:()Z
            ifne 73
         1: .line 1467
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isFixedRowHeight:()Z
            istore 2 /* isFixed */
        start local 2 // boolean isFixed
         2: .line 1468
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            istore 3 /* startHeight */
        start local 3 // int startHeight
         3: .line 1469
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            istore 4 /* originalRow */
        start local 4 // int originalRow
         4: .line 1471
            aload 0 /* this */
            iconst_1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expanded:Z
         5: .line 1472
            aload 0 /* this */
            iload 4 /* originalRow */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
         6: .line 1474
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
            ifne 32
         7: .line 1476
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getValue:()Ljava/lang/Object;
            astore 6 /* realNode */
        start local 6 // java.lang.Object realNode
         8: .line 1477
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getModel:()Ljavax/swing/tree/TreeModel;
            astore 7 /* treeModel */
        start local 7 // javax.swing.tree.TreeModel treeModel
         9: .line 1478
            aload 7 /* treeModel */
            aload 6 /* realNode */
            invokeinterface javax.swing.tree.TreeModel.getChildCount:(Ljava/lang/Object;)I
            istore 8 /* count */
        start local 8 // int count
        10: .line 1480
            aload 0 /* this */
            iconst_1
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasBeenExpanded:Z
        11: .line 1481
            iload 4 /* originalRow */
            iconst_m1
            if_icmpne 22
        12: .line 1482
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        13: goto 20
        14: .line 1483
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int int int int top java.lang.Object javax.swing.tree.TreeModel int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 7 /* treeModel */
        15: .line 1484
            aload 6 /* realNode */
            iload 9 /* i */
        16: .line 1483
            invokeinterface javax.swing.tree.TreeModel.getChild:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.createNodeForValue:(Ljava/lang/Object;)Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            astore 5 /* newNode */
        start local 5 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
        17: .line 1485
            aload 0 /* this */
            aload 5 /* newNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.add:(Ljavax/swing/tree/MutableTreeNode;)V
        18: .line 1486
            aload 5 /* newNode */
            iconst_m1
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        19: .line 1482
            iinc 9 /* i */ 1
        end local 5 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            iload 8 /* count */
            if_icmplt 14
        end local 9 // int i
        21: .line 1488
            goto 32
        22: .line 1490
      StackMap locals:
      StackMap stack:
            iload 4 /* originalRow */
            iconst_1
            iadd
            istore 9 /* offset */
        start local 9 // int offset
        23: .line 1491
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        24: goto 31
        25: .line 1492
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 7 /* treeModel */
        26: .line 1493
            aload 6 /* realNode */
            iload 10 /* i */
        27: .line 1492
            invokeinterface javax.swing.tree.TreeModel.getChild:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.createNodeForValue:(Ljava/lang/Object;)Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            astore 5 /* newNode */
        start local 5 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
        28: .line 1494
            aload 0 /* this */
            aload 5 /* newNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.add:(Ljavax/swing/tree/MutableTreeNode;)V
        29: .line 1495
            aload 5 /* newNode */
            iload 9 /* offset */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        30: .line 1491
            iinc 10 /* i */ 1
        end local 5 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode newNode
      StackMap locals:
      StackMap stack:
        31: iload 10 /* i */
            iload 8 /* count */
            if_icmplt 25
        end local 10 // int i
        end local 9 // int offset
        end local 8 // int count
        end local 7 // javax.swing.tree.TreeModel treeModel
        end local 6 // java.lang.Object realNode
        32: .line 1500
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int int int int
      StackMap stack:
            iload 4 /* originalRow */
            istore 5 /* i */
        start local 5 // int i
        33: .line 1501
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preorderEnumeration:()Ljava/util/Enumeration;
            astore 6 /* cursor */
        start local 6 // java.util.Enumeration cursor
        34: .line 1502
            aload 6 /* cursor */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            pop
        35: .line 1506
            iload 2 /* isFixed */
            ifeq 38
        36: .line 1507
            iconst_0
            istore 7 /* newYOrigin */
        start local 7 // int newYOrigin
        37: goto 42
        end local 7 // int newYOrigin
        38: .line 1508
      StackMap locals: int java.util.Enumeration
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.root:Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            if_acmpne 41
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isRootVisible:()Z
            ifne 41
        39: .line 1509
            iconst_0
            istore 7 /* newYOrigin */
        start local 7 // int newYOrigin
        40: goto 42
        end local 7 // int newYOrigin
        41: .line 1511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iadd
            istore 7 /* newYOrigin */
        start local 7 // int newYOrigin
        42: .line 1513
      StackMap locals: int
      StackMap stack:
            iload 2 /* isFixed */
            ifne 54
        43: .line 1514
            goto 50
        44: .line 1515
      StackMap locals:
      StackMap stack:
            aload 6 /* cursor */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 8 /* aNode */
        start local 8 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode aNode
        45: .line 1516
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.updateNodeSizes:Z
            ifne 47
            aload 8 /* aNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.hasValidSize:()Z
            ifne 47
        46: .line 1517
            aload 8 /* aNode */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        47: .line 1518
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
      StackMap stack:
            aload 8 /* aNode */
            iload 7 /* newYOrigin */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.setYOrigin:(I)V
        48: .line 1519
            iload 7 /* newYOrigin */
            aload 8 /* aNode */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iadd
            istore 7 /* newYOrigin */
        49: .line 1520
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            aload 8 /* aNode */
            iinc 5 /* i */ 1
            iload 5 /* i */
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
        end local 8 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode aNode
        50: .line 1514
      StackMap locals:
      StackMap stack:
            aload 6 /* cursor */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 44
        51: .line 1522
            goto 55
        52: .line 1525
      StackMap locals:
      StackMap stack:
            aload 6 /* cursor */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            astore 8 /* aNode */
        start local 8 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode aNode
        53: .line 1526
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            aload 8 /* aNode */
            iinc 5 /* i */ 1
            iload 5 /* i */
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
        end local 8 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode aNode
        54: .line 1524
      StackMap locals:
      StackMap stack:
            aload 6 /* cursor */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 52
        55: .line 1530
      StackMap locals:
      StackMap stack:
            iload 1 /* adjustTree */
            ifeq 71
            iload 4 /* originalRow */
            iload 5 /* i */
            if_icmpne 57
        56: .line 1531
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iload 3 /* startHeight */
            if_icmpeq 71
        57: .line 1533
      StackMap locals:
      StackMap stack:
            iload 2 /* isFixed */
            ifne 69
            iinc 5 /* i */ 1
            iload 5 /* i */
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getRowCount:()I
            if_icmpge 69
        58: .line 1535
            iload 7 /* newYOrigin */
        59: .line 1536
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iadd
        60: .line 1535
            isub
        61: .line 1537
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iload 3 /* startHeight */
            isub
        62: .line 1535
            iadd
            istore 10 /* heightDiff */
        start local 10 // int heightDiff
        63: .line 1539
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            iconst_1
            isub
            istore 9 /* counter */
        start local 9 // int counter
        64: goto 68
        65: .line 1541
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int int int int int java.util.Enumeration int top int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            iload 9 /* counter */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
        66: .line 1542
            iload 10 /* heightDiff */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.shiftYOriginBy:(I)V
        67: .line 1540
            iinc 9 /* counter */ -1
        68: .line 1539
      StackMap locals:
      StackMap stack:
            iload 9 /* counter */
            iload 5 /* i */
            if_icmpge 65
        end local 10 // int heightDiff
        end local 9 // int counter
        69: .line 1544
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int int int int int java.util.Enumeration int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.didAdjustTree:()V
        70: .line 1545
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.visibleNodesChanged:()V
        71: .line 1549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.treeSelectionModel:Ljavax/swing/tree/TreeSelectionModel;
            ifnull 73
        72: .line 1550
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.treeSelectionModel:Ljavax/swing/tree/TreeSelectionModel;
            invokeinterface javax.swing.tree.TreeSelectionModel.resetRowSelection:()V
        end local 7 // int newYOrigin
        end local 6 // java.util.Enumeration cursor
        end local 5 // int i
        end local 4 // int originalRow
        end local 3 // int startHeight
        end local 2 // boolean isFixed
        73: .line 1553
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int
      StackMap stack:
            return
        end local 1 // boolean adjustTree
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   74     0         this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   74     1   adjustTree  Z
            2   73     2      isFixed  Z
            3   73     3  startHeight  I
            4   73     4  originalRow  I
           17   20     5      newNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           28   31     5      newNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            8   32     6     realNode  Ljava/lang/Object;
            9   32     7    treeModel  Ljavax/swing/tree/TreeModel;
           10   32     8        count  I
           13   21     9            i  I
           23   32     9       offset  I
           24   32    10            i  I
           33   73     5            i  I
           34   73     6       cursor  Ljava/util/Enumeration;
           37   38     7   newYOrigin  I
           40   41     7   newYOrigin  I
           42   73     7   newYOrigin  I
           45   50     8        aNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           53   54     8        aNode  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           64   69     9      counter  I
           63   69    10   heightDiff  I
    MethodParameters:
            Name  Flags
      adjustTree  

  protected void collapse(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
        start local 1 // boolean adjustTree
         0: .line 1560
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isExpanded:()Z
            ifeq 60
         1: .line 1561
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.preorderEnumeration:()Ljava/util/Enumeration;
            astore 2 /* cursor */
        start local 2 // java.util.Enumeration cursor
         2: .line 1562
            aload 2 /* cursor */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            pop
         3: .line 1563
            iconst_0
            istore 3 /* rowsDeleted */
        start local 3 // int rowsDeleted
         4: .line 1564
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.isFixedRowHeight:()Z
            istore 4 /* isFixed */
        start local 4 // boolean isFixed
         5: .line 1566
            iload 4 /* isFixed */
            ifeq 8
         6: .line 1567
            iconst_0
            istore 5 /* lastYEnd */
        start local 5 // int lastYEnd
         7: goto 9
        end local 5 // int lastYEnd
         8: .line 1569
      StackMap locals: java.util.Enumeration int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
            iadd
            istore 5 /* lastYEnd */
        start local 5 // int lastYEnd
         9: .line 1570
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            istore 6 /* startHeight */
        start local 6 // int startHeight
        10: .line 1571
            iload 5 /* lastYEnd */
            istore 7 /* startYEnd */
        start local 7 // int startYEnd
        11: .line 1572
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getRow:()I
            istore 8 /* myRow */
        start local 8 // int myRow
        12: .line 1574
            iload 4 /* isFixed */
            ifne 29
        13: .line 1575
            goto 22
        14: .line 1576
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* cursor */
        15: .line 1577
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
        16: .line 1576
            astore 9 /* node */
        start local 9 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        17: .line 1578
            aload 9 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isVisible:()Z
            ifeq 22
        18: .line 1579
            iinc 3 /* rowsDeleted */ 1
        19: .line 1581
            aload 9 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getYOrigin:()I
        20: .line 1582
            aload 9 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
        21: .line 1581
            iadd
            istore 5 /* lastYEnd */
        end local 9 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        22: .line 1575
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 14
        23: .line 1585
            goto 30
        24: .line 1588
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
        25: .line 1589
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
        26: .line 1588
            astore 9 /* node */
        start local 9 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        27: .line 1590
            aload 9 /* node */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.isVisible:()Z
            ifeq 29
        28: .line 1591
            iinc 3 /* rowsDeleted */ 1
        end local 9 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode node
        29: .line 1587
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 24
        30: .line 1598
      StackMap locals:
      StackMap stack:
            iload 3 /* rowsDeleted */
            iload 8 /* myRow */
            iadd
            istore 9 /* counter */
        start local 9 // int counter
        31: goto 34
        32: .line 1600
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            iload 9 /* counter */
            invokevirtual java.util.Vector.removeElementAt:(I)V
        33: .line 1599
            iinc 9 /* counter */ -1
        34: .line 1598
      StackMap locals:
      StackMap stack:
            iload 9 /* counter */
            iload 8 /* myRow */
            if_icmpgt 32
        end local 9 // int counter
        35: .line 1603
            aload 0 /* this */
            iconst_0
            putfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expanded:Z
        36: .line 1605
            iload 8 /* myRow */
            iconst_m1
            if_icmpne 38
        37: .line 1606
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.markSizeInvalid:()V
            goto 40
        38: .line 1607
      StackMap locals:
      StackMap stack:
            iload 1 /* adjustTree */
            ifeq 40
        39: .line 1608
            aload 0 /* this */
            iload 8 /* myRow */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize:(I)V
        40: .line 1610
      StackMap locals:
      StackMap stack:
            iload 8 /* myRow */
            iconst_m1
            if_icmpeq 57
            iload 1 /* adjustTree */
            ifeq 57
        41: .line 1611
            iload 3 /* rowsDeleted */
            ifgt 42
            iload 6 /* startHeight */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            if_icmpeq 57
        42: .line 1613
      StackMap locals:
      StackMap stack:
            iload 7 /* startYEnd */
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredHeight:()I
            iload 6 /* startHeight */
            isub
            iadd
            istore 7 /* startYEnd */
        43: .line 1614
            iload 4 /* isFixed */
            ifne 55
            iload 8 /* myRow */
            iconst_1
            iadd
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.getRowCount:()I
            if_icmpge 55
        44: .line 1615
            iload 7 /* startYEnd */
            iload 5 /* lastYEnd */
            if_icmpeq 55
        45: .line 1618
            iload 7 /* startYEnd */
            iload 5 /* lastYEnd */
            isub
            istore 11 /* shiftAmount */
        start local 11 // int shiftAmount
        46: .line 1619
            iload 8 /* myRow */
            iconst_1
            iadd
            istore 9 /* counter */
        start local 9 // int counter
        47: .line 1620
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
        48: .line 1619
            istore 10 /* maxCounter */
        start local 10 // int maxCounter
        49: .line 1621
            goto 53
        50: .line 1622
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.visibleNodes:Ljava/util/Vector;
            iload 9 /* counter */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
        51: .line 1623
            iload 11 /* shiftAmount */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.shiftYOriginBy:(I)V
        52: .line 1621
            iinc 9 /* counter */ 1
      StackMap locals:
      StackMap stack:
        53: iload 9 /* counter */
            iload 10 /* maxCounter */
        54: .line 1619
            if_icmplt 50
        end local 11 // int shiftAmount
        end local 10 // int maxCounter
        end local 9 // int counter
        55: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.didAdjustTree:()V
        56: .line 1626
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.visibleNodesChanged:()V
        57: .line 1628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.treeSelectionModel:Ljavax/swing/tree/TreeSelectionModel;
            ifnull 60
            iload 3 /* rowsDeleted */
            ifle 60
        58: .line 1629
            iload 8 /* myRow */
            iconst_m1
            if_icmpeq 60
        59: .line 1630
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            getfield javax.swing.tree.VariableHeightLayoutCache.treeSelectionModel:Ljavax/swing/tree/TreeSelectionModel;
            invokeinterface javax.swing.tree.TreeSelectionModel.resetRowSelection:()V
        end local 8 // int myRow
        end local 7 // int startYEnd
        end local 6 // int startHeight
        end local 5 // int lastYEnd
        end local 4 // boolean isFixed
        end local 3 // int rowsDeleted
        end local 2 // java.util.Enumeration cursor
        60: .line 1633
      StackMap locals: javax.swing.tree.VariableHeightLayoutCache$TreeStateNode int
      StackMap stack:
            return
        end local 1 // boolean adjustTree
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   61     0         this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            0   61     1   adjustTree  Z
            2   60     2       cursor  Ljava/util/Enumeration;
            4   60     3  rowsDeleted  I
            5   60     4      isFixed  Z
            7    8     5     lastYEnd  I
            9   60     5     lastYEnd  I
           10   60     6  startHeight  I
           11   60     7    startYEnd  I
           12   60     8        myRow  I
           17   22     9         node  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           27   29     9         node  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
           31   35     9      counter  I
           47   55     9      counter  I
           49   55    10   maxCounter  I
           46   55    11  shiftAmount  I
    MethodParameters:
            Name  Flags
      adjustTree  

  protected void removeFromMapping();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
         0: .line 1640
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.path:Ljavax/swing/tree/TreePath;
            ifnull 7
         1: .line 1641
            aload 0 /* this */
            getfield javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.this$0:Ljavax/swing/tree/VariableHeightLayoutCache;
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache.removeMapping:(Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;)V
         2: .line 1642
            aload 0 /* this */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildCount:()I
            iconst_1
            isub
            istore 1 /* counter */
        start local 1 // int counter
         3: goto 6
         4: .line 1643
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* counter */
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getChildAt:(I)Ljavax/swing/tree/TreeNode;
            checkcast javax.swing.tree.VariableHeightLayoutCache$TreeStateNode
            invokevirtual javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.removeFromMapping:()V
         5: .line 1642
            iinc 1 /* counter */ -1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* counter */
            ifge 4
        end local 1 // int counter
         7: .line 1645
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.tree.VariableHeightLayoutCache$TreeStateNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Ljavax/swing/tree/VariableHeightLayoutCache$TreeStateNode;
            3    7     1  counter  I
}
SourceFile: "VariableHeightLayoutCache.java"
NestHost: javax.swing.tree.VariableHeightLayoutCache
InnerClasses:
  private TreeStateNode = javax.swing.tree.VariableHeightLayoutCache$TreeStateNode of javax.swing.tree.VariableHeightLayoutCache