public class javax.swing.plaf.metal.MetalTreeUI extends javax.swing.plaf.basic.BasicTreeUI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.plaf.metal.MetalTreeUI
  super_class: javax.swing.plaf.basic.BasicTreeUI
{
  private static java.awt.Color lineColor;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String LINE_STYLE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JTree.lineStyle"

  private static final java.lang.String LEG_LINE_STYLE_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Angled"

  private static final java.lang.String HORIZ_STYLE_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Horizontal"

  private static final java.lang.String NO_STYLE_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "None"

  private static final int LEG_LINE_STYLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int HORIZ_LINE_STYLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int NO_LINE_STYLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private int lineStyle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.beans.PropertyChangeListener lineStyleListener;
    descriptor: Ljava/beans/PropertyChangeListener;
    flags: (0x0002) ACC_PRIVATE

  public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent x
         0: .line 106
            new javax.swing.plaf.metal.MetalTreeUI
            dup
            invokespecial javax.swing.plaf.metal.MetalTreeUI.<init>:()V
            areturn
        end local 0 // javax.swing.JComponent x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      x     

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
         0: .line 113
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicTreeUI.<init>:()V
         1: .line 96
            aload 0 /* this */
            iconst_2
            putfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
         2: .line 97
            aload 0 /* this */
            new javax.swing.plaf.metal.MetalTreeUI$LineListener
            dup
            aload 0 /* this */
            invokespecial javax.swing.plaf.metal.MetalTreeUI$LineListener.<init>:(Ljavax/swing/plaf/metal/MetalTreeUI;)V
            putfield javax.swing.plaf.metal.MetalTreeUI.lineStyleListener:Ljava/beans/PropertyChangeListener;
         3: .line 114
            return
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/metal/MetalTreeUI;

  protected int getHorizontalLegBuffer();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
         0: .line 117
            iconst_3
            ireturn
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalTreeUI;

  public void installUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // javax.swing.JComponent c
         0: .line 121
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicTreeUI.installUI:(Ljavax/swing/JComponent;)V
         1: .line 122
            ldc "Tree.line"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalTreeUI.lineColor:Ljava/awt/Color;
         2: .line 124
            aload 1 /* c */
            ldc "JTree.lineStyle"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* lineStyleFlag */
        start local 2 // java.lang.Object lineStyleFlag
         3: .line 125
            aload 0 /* this */
            aload 2 /* lineStyleFlag */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.decodeLineStyle:(Ljava/lang/Object;)V
         4: .line 126
            aload 1 /* c */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.lineStyleListener:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JComponent.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         5: .line 128
            return
        end local 2 // java.lang.Object lineStyleFlag
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0    6     1              c  Ljavax/swing/JComponent;
            3    6     2  lineStyleFlag  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      c     

  public void uninstallUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // javax.swing.JComponent c
         0: .line 131
            aload 1 /* c */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.lineStyleListener:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JComponent.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         1: .line 132
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicTreeUI.uninstallUI:(Ljavax/swing/JComponent;)V
         2: .line 133
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0    3     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected void decodeLineStyle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // java.lang.Object lineStyleFlag
         0: .line 142
            aload 1 /* lineStyleFlag */
            ifnull 2
         1: .line 143
            aload 1 /* lineStyleFlag */
            ldc "Angled"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
         3: .line 145
            goto 9
         4: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* lineStyleFlag */
            ldc "None"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 147
            aload 0 /* this */
            iconst_0
            putfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
         6: .line 148
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 1 /* lineStyleFlag */
            ldc "Horizontal"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 149
            aload 0 /* this */
            iconst_1
            putfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
         9: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object lineStyleFlag
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0   10     1  lineStyleFlag  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      lineStyleFlag  

  protected boolean isLocationInExpandControl(int, int, int, int);
    descriptor: (IIII)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // int row
        start local 2 // int rowLevel
        start local 3 // int mouseX
        start local 4 // int mouseY
         0: .line 167
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            ifnull 17
            aload 0 /* this */
            iload 1 /* row */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.isLeaf:(I)Z
            ifne 17
         1: .line 170
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getExpandedIcon:()Ljavax/swing/Icon;
            ifnull 4
         2: .line 171
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getExpandedIcon:()Ljavax/swing/Icon;
            invokeinterface javax.swing.Icon.getIconWidth:()I
            bipush 6
            iadd
            istore 5 /* boxWidth */
        start local 5 // int boxWidth
         3: goto 5
        end local 5 // int boxWidth
         4: .line 173
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 5 /* boxWidth */
        start local 5 // int boxWidth
         5: .line 175
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            invokevirtual javax.swing.JTree.getInsets:()Ljava/awt/Insets;
            astore 6 /* i */
        start local 6 // java.awt.Insets i
         6: .line 176
            aload 6 /* i */
            ifnull 7
            aload 6 /* i */
            getfield java.awt.Insets.left:I
            goto 8
      StackMap locals: java.awt.Insets
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* boxLeftX */
        start local 7 // int boxLeftX
         9: .line 179
            iload 7 /* boxLeftX */
            iload 2 /* rowLevel */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.depthOffset:I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.totalChildIndent:I
            imul
        10: .line 180
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getLeftChildIndent:()I
        11: .line 179
            iadd
        12: .line 180
            iload 5 /* boxWidth */
            iconst_2
            idiv
        13: .line 179
            isub
            iadd
            istore 7 /* boxLeftX */
        14: .line 182
            iload 7 /* boxLeftX */
            iload 5 /* boxWidth */
            iadd
            istore 8 /* boxRightX */
        start local 8 // int boxRightX
        15: .line 184
            iload 3 /* mouseX */
            iload 7 /* boxLeftX */
            if_icmplt 16
            iload 3 /* mouseX */
            iload 8 /* boxRightX */
            if_icmpgt 16
            iconst_1
            ireturn
      StackMap locals: int int
      StackMap stack:
        16: iconst_0
            ireturn
        end local 8 // int boxRightX
        end local 7 // int boxLeftX
        end local 6 // java.awt.Insets i
        end local 5 // int boxWidth
        17: .line 186
      StackMap locals: javax.swing.plaf.metal.MetalTreeUI int int int int
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int mouseY
        end local 3 // int mouseX
        end local 2 // int rowLevel
        end local 1 // int row
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0   18     1        row  I
            0   18     2   rowLevel  I
            0   18     3     mouseX  I
            0   18     4     mouseY  I
            3    4     5   boxWidth  I
            5   17     5   boxWidth  I
            6   17     6          i  Ljava/awt/Insets;
            9   17     7   boxLeftX  I
           15   17     8  boxRightX  I
    MethodParameters:
          Name  Flags
      row       
      rowLevel  
      mouseX    
      mouseY    

  public void paint(java.awt.Graphics, javax.swing.JComponent);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
         0: .line 190
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            invokespecial javax.swing.plaf.basic.BasicTreeUI.paint:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
         1: .line 194
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
            iconst_1
            if_icmpne 3
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.largeModel:Z
            ifne 3
         2: .line 195
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.paintHorizontalSeparators:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
         3: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0    4     1     g  Ljava/awt/Graphics;
            0    4     2     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      g     
      c     

  protected void paintHorizontalSeparators(java.awt.Graphics, javax.swing.JComponent);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
         0: .line 206
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalTreeUI.lineColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         1: .line 208
            aload 1 /* g */
            invokevirtual java.awt.Graphics.getClipBounds:()Ljava/awt/Rectangle;
            astore 3 /* clipBounds */
        start local 3 // java.awt.Rectangle clipBounds
         2: .line 210
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            aload 0 /* this */
         3: .line 211
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            iconst_0
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.y:I
         4: .line 210
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getClosestPathForLocation:(Ljavax/swing/JTree;II)Ljavax/swing/tree/TreePath;
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getRowForPath:(Ljavax/swing/JTree;Ljavax/swing/tree/TreePath;)I
            istore 4 /* beginRow */
        start local 4 // int beginRow
         5: .line 212
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            aload 0 /* this */
         6: .line 213
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            iconst_0
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.y:I
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            iconst_1
            isub
         7: .line 212
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getClosestPathForLocation:(Ljavax/swing/JTree;II)Ljavax/swing/tree/TreePath;
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getRowForPath:(Ljavax/swing/JTree;Ljavax/swing/tree/TreePath;)I
            istore 5 /* endRow */
        start local 5 // int endRow
         8: .line 215
            iload 4 /* beginRow */
            iconst_m1
            if_icmple 9
            iload 5 /* endRow */
            iconst_m1
            if_icmpgt 10
         9: .line 216
      StackMap locals: java.awt.Rectangle int int
      StackMap stack:
            return
        10: .line 219
      StackMap locals:
      StackMap stack:
            iload 4 /* beginRow */
            istore 6 /* i */
        start local 6 // int i
        11: goto 22
        12: .line 220
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            iload 6 /* i */
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getPathForRow:(Ljavax/swing/JTree;I)Ljavax/swing/tree/TreePath;
            astore 7 /* path */
        start local 7 // javax.swing.tree.TreePath path
        13: .line 222
            aload 7 /* path */
            ifnull 21
            aload 7 /* path */
            invokevirtual javax.swing.tree.TreePath.getPathCount:()I
            iconst_2
            if_icmpne 21
        14: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            aload 0 /* this */
        15: .line 224
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.tree:Ljavax/swing/JTree;
            iload 6 /* i */
        16: .line 223
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getPathForRow:(Ljavax/swing/JTree;I)Ljavax/swing/tree/TreePath;
            invokevirtual javax.swing.plaf.metal.MetalTreeUI.getPathBounds:(Ljavax/swing/JTree;Ljavax/swing/tree/TreePath;)Ljava/awt/Rectangle;
            astore 8 /* rowBounds */
        start local 8 // java.awt.Rectangle rowBounds
        17: .line 227
            aload 8 /* rowBounds */
            ifnull 21
        18: .line 228
            aload 1 /* g */
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.x:I
            aload 8 /* rowBounds */
            getfield java.awt.Rectangle.y:I
        19: .line 229
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.x:I
            aload 3 /* clipBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            aload 8 /* rowBounds */
            getfield java.awt.Rectangle.y:I
        20: .line 228
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        end local 8 // java.awt.Rectangle rowBounds
        end local 7 // javax.swing.tree.TreePath path
        21: .line 219
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 5 /* endRow */
            if_icmple 12
        end local 6 // int i
        23: .line 233
            return
        end local 5 // int endRow
        end local 4 // int beginRow
        end local 3 // java.awt.Rectangle clipBounds
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0   24     1           g  Ljava/awt/Graphics;
            0   24     2           c  Ljavax/swing/JComponent;
            2   24     3  clipBounds  Ljava/awt/Rectangle;
            5   24     4    beginRow  I
            8   24     5      endRow  I
           11   23     6           i  I
           13   21     7        path  Ljavax/swing/tree/TreePath;
           17   21     8   rowBounds  Ljava/awt/Rectangle;
    MethodParameters:
      Name  Flags
      g     
      c     

  protected void paintVerticalPartOfLeg(java.awt.Graphics, java.awt.Rectangle, java.awt.Insets, javax.swing.tree.TreePath);
    descriptor: (Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Insets;Ljavax/swing/tree/TreePath;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // java.awt.Graphics g
        start local 2 // java.awt.Rectangle clipBounds
        start local 3 // java.awt.Insets insets
        start local 4 // javax.swing.tree.TreePath path
         0: .line 237
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
            iconst_2
            if_icmpne 2
         1: .line 238
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* clipBounds */
            aload 3 /* insets */
            aload 4 /* path */
            invokespecial javax.swing.plaf.basic.BasicTreeUI.paintVerticalPartOfLeg:(Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Insets;Ljavax/swing/tree/TreePath;)V
         2: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.swing.tree.TreePath path
        end local 3 // java.awt.Insets insets
        end local 2 // java.awt.Rectangle clipBounds
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0    3     1           g  Ljava/awt/Graphics;
            0    3     2  clipBounds  Ljava/awt/Rectangle;
            0    3     3      insets  Ljava/awt/Insets;
            0    3     4        path  Ljavax/swing/tree/TreePath;
    MethodParameters:
            Name  Flags
      g           
      clipBounds  
      insets      
      path        

  protected void paintHorizontalPartOfLeg(java.awt.Graphics, java.awt.Rectangle, java.awt.Insets, java.awt.Rectangle, javax.swing.tree.TreePath, int, boolean, boolean, boolean);
    descriptor: (Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Insets;Ljava/awt/Rectangle;Ljavax/swing/tree/TreePath;IZZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=10
        start local 0 // javax.swing.plaf.metal.MetalTreeUI this
        start local 1 // java.awt.Graphics g
        start local 2 // java.awt.Rectangle clipBounds
        start local 3 // java.awt.Insets insets
        start local 4 // java.awt.Rectangle bounds
        start local 5 // javax.swing.tree.TreePath path
        start local 6 // int row
        start local 7 // boolean isExpanded
        start local 8 // boolean hasBeenExpanded
        start local 9 // boolean isLeaf
         0: .line 248
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalTreeUI.lineStyle:I
            iconst_2
            if_icmpne 5
         1: .line 249
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* clipBounds */
            aload 3 /* insets */
            aload 4 /* bounds */
         2: .line 250
            aload 5 /* path */
            iload 6 /* row */
            iload 7 /* isExpanded */
         3: .line 251
            iload 8 /* hasBeenExpanded */
            iload 9 /* isLeaf */
         4: .line 249
            invokespecial javax.swing.plaf.basic.BasicTreeUI.paintHorizontalPartOfLeg:(Ljava/awt/Graphics;Ljava/awt/Rectangle;Ljava/awt/Insets;Ljava/awt/Rectangle;Ljavax/swing/tree/TreePath;IZZZ)V
         5: .line 253
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean isLeaf
        end local 8 // boolean hasBeenExpanded
        end local 7 // boolean isExpanded
        end local 6 // int row
        end local 5 // javax.swing.tree.TreePath path
        end local 4 // java.awt.Rectangle bounds
        end local 3 // java.awt.Insets insets
        end local 2 // java.awt.Rectangle clipBounds
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalTreeUI this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Ljavax/swing/plaf/metal/MetalTreeUI;
            0    6     1                g  Ljava/awt/Graphics;
            0    6     2       clipBounds  Ljava/awt/Rectangle;
            0    6     3           insets  Ljava/awt/Insets;
            0    6     4           bounds  Ljava/awt/Rectangle;
            0    6     5             path  Ljavax/swing/tree/TreePath;
            0    6     6              row  I
            0    6     7       isExpanded  Z
            0    6     8  hasBeenExpanded  Z
            0    6     9           isLeaf  Z
    MethodParameters:
                 Name  Flags
      g                
      clipBounds       
      insets           
      bounds           
      path             
      row              
      isExpanded       
      hasBeenExpanded  
      isLeaf           
}
SourceFile: "MetalTreeUI.java"
NestMembers:
  javax.swing.plaf.metal.MetalTreeUI$LineListener
InnerClasses:
  LineListener = javax.swing.plaf.metal.MetalTreeUI$LineListener of javax.swing.plaf.metal.MetalTreeUI