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

  private static java.awt.Color highlightColor;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.Color darkShadowColor;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.Color thumbColor;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.Color thumbShadow;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.Color thumbHighlightColor;
    descriptor: Ljava/awt/Color;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected javax.swing.plaf.metal.MetalBumps bumps;
    descriptor: Ljavax/swing/plaf/metal/MetalBumps;
    flags: (0x0004) ACC_PROTECTED

  protected javax.swing.plaf.metal.MetalScrollButton increaseButton;
    descriptor: Ljavax/swing/plaf/metal/MetalScrollButton;
    flags: (0x0004) ACC_PROTECTED

  protected javax.swing.plaf.metal.MetalScrollButton decreaseButton;
    descriptor: Ljavax/swing/plaf/metal/MetalScrollButton;
    flags: (0x0004) ACC_PROTECTED

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

  public static final java.lang.String FREE_STANDING_PROP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "JScrollBar.isFreeStanding"

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 64
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicScrollBarUI.<init>:()V
         1: .line 82
            aload 0 /* this */
            iconst_1
            putfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
         2: .line 64
            return
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  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 c
         0: .line 86
            new javax.swing.plaf.metal.MetalScrollBarUI
            dup
            invokespecial javax.swing.plaf.metal.MetalScrollBarUI.<init>:()V
            areturn
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected void installDefaults();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 90
            aload 0 /* this */
            ldc "ScrollBar.width"
            invokestatic javax.swing.UIManager.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
         1: .line 91
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicScrollBarUI.installDefaults:()V
         2: .line 92
            aload 0 /* this */
            new javax.swing.plaf.metal.MetalBumps
            dup
            bipush 10
            bipush 10
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            invokespecial javax.swing.plaf.metal.MetalBumps.<init>:(IILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
            putfield javax.swing.plaf.metal.MetalScrollBarUI.bumps:Ljavax/swing/plaf/metal/MetalBumps;
         3: .line 93
            return
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  protected void installListeners();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 96
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicScrollBarUI.installListeners:()V
         1: .line 97
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.propertyChangeListener:Ljava/beans/PropertyChangeListener;
            checkcast javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            ldc "JScrollBar.isFreeStanding"
            invokevirtual javax.swing.JScrollBar.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener.handlePropertyChange:(Ljava/lang/Object;)V
         2: .line 98
            return
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  protected java.beans.PropertyChangeListener createPropertyChangeListener();
    descriptor: ()Ljava/beans/PropertyChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 101
            new javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener
            dup
            aload 0 /* this */
            invokespecial javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener.<init>:(Ljavax/swing/plaf/metal/MetalScrollBarUI;)V
            areturn
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  protected void configureScrollBarColors();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 106
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicScrollBarUI.configureScrollBarColors:()V
         1: .line 107
            ldc "ScrollBar.shadow"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.shadowColor:Ljava/awt/Color;
         2: .line 108
            ldc "ScrollBar.highlight"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.highlightColor:Ljava/awt/Color;
         3: .line 109
            ldc "ScrollBar.darkShadow"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.darkShadowColor:Ljava/awt/Color;
         4: .line 110
            ldc "ScrollBar.thumb"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
         5: .line 111
            ldc "ScrollBar.thumbShadow"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
         6: .line 112
            ldc "ScrollBar.thumbHighlight"
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
         7: .line 115
            return
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  public java.awt.Dimension getPreferredSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // javax.swing.JComponent c
         0: .line 119
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getOrientation:()I
            iconst_1
            if_icmpne 2
         1: .line 121
            new java.awt.Dimension
            dup
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            iconst_3
            imul
            bipush 10
            iadd
            invokespecial java.awt.Dimension.<init>:(II)V
            areturn
         2: .line 125
      StackMap locals:
      StackMap stack:
            new java.awt.Dimension
            dup
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            iconst_3
            imul
            bipush 10
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            invokespecial java.awt.Dimension.<init>:(II)V
            areturn
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0    3     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected javax.swing.JButton createDecreaseButton(int);
    descriptor: (I)Ljavax/swing/JButton;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // int orientation
         0: .line 134
            aload 0 /* this */
            new javax.swing.plaf.metal.MetalScrollButton
            dup
            iload 1 /* orientation */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            invokespecial javax.swing.plaf.metal.MetalScrollButton.<init>:(IIZ)V
            putfield javax.swing.plaf.metal.MetalScrollBarUI.decreaseButton:Ljavax/swing/plaf/metal/MetalScrollButton;
         1: .line 135
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.decreaseButton:Ljavax/swing/plaf/metal/MetalScrollButton;
            areturn
        end local 1 // int orientation
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0    2     1  orientation  I
    MethodParameters:
             Name  Flags
      orientation  

  protected javax.swing.JButton createIncreaseButton(int);
    descriptor: (I)Ljavax/swing/JButton;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // int orientation
         0: .line 141
            aload 0 /* this */
            new javax.swing.plaf.metal.MetalScrollButton
            dup
            iload 1 /* orientation */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            invokespecial javax.swing.plaf.metal.MetalScrollButton.<init>:(IIZ)V
            putfield javax.swing.plaf.metal.MetalScrollBarUI.increaseButton:Ljavax/swing/plaf/metal/MetalScrollButton;
         1: .line 142
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.increaseButton:Ljavax/swing/plaf/metal/MetalScrollButton;
            areturn
        end local 1 // int orientation
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0    2     1  orientation  I
    MethodParameters:
             Name  Flags
      orientation  

  protected void paintTrack(java.awt.Graphics, javax.swing.JComponent, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
        start local 3 // java.awt.Rectangle trackBounds
         0: .line 147
            aload 1 /* g */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.x:I
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.y:I
            invokevirtual java.awt.Graphics.translate:(II)V
         1: .line 149
            aload 2 /* c */
            invokestatic javax.swing.plaf.metal.MetalUtils.isLeftToRight:(Ljava/awt/Component;)Z
            istore 4 /* leftToRight */
        start local 4 // boolean leftToRight
         2: .line 151
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getOrientation:()I
            iconst_1
            if_icmpne 28
         3: .line 153
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 7
         4: .line 154
            aload 3 /* trackBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.width:I
         5: .line 155
            iload 4 /* leftToRight */
            ifne 7
         6: .line 156
            aload 1 /* g */
            iconst_m1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
         7: .line 160
      StackMap locals: int
      StackMap stack:
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.isEnabled:()Z
            ifeq 22
         8: .line 161
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.darkShadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         9: .line 162
            aload 1 /* g */
            iconst_0
            iconst_0
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        10: .line 163
            aload 1 /* g */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        11: .line 164
            aload 1 /* g */
            iconst_2
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        12: .line 165
            aload 1 /* g */
            iconst_2
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        13: .line 167
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.shadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        14: .line 169
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        15: .line 170
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        16: .line 171
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getValue:()I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getMaximum:()I
            if_icmpeq 19
        17: .line 172
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iadd
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.y:I
            isub
            istore 5 /* y */
        start local 5 // int y
        18: .line 173
            aload 1 /* g */
            iconst_1
            iload 5 /* y */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            iload 5 /* y */
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        end local 5 // int y
        19: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.highlightColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        20: .line 176
            aload 1 /* g */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        21: .line 177
            goto 23
        22: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            invokestatic javax.swing.plaf.metal.MetalUtils.drawDisabledBorder:(Ljava/awt/Graphics;IIII)V
        23: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 47
        24: .line 182
            aload 3 /* trackBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            putfield java.awt.Rectangle.width:I
        25: .line 183
            iload 4 /* leftToRight */
            ifne 47
        26: .line 184
            aload 1 /* g */
            iconst_1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
        27: .line 187
            goto 47
        28: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 30
        29: .line 191
            aload 3 /* trackBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.height:I
        30: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.isEnabled:()Z
            ifeq 44
        31: .line 195
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.darkShadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        32: .line 196
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        33: .line 197
            aload 1 /* g */
            iconst_0
            iconst_2
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        34: .line 198
            aload 1 /* g */
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        35: .line 199
            aload 1 /* g */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            iconst_2
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        36: .line 201
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.shadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        37: .line 203
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        38: .line 204
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        39: .line 205
            aload 1 /* g */
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        40: .line 206
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getValue:()I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getMaximum:()I
            if_icmpeq 45
        41: .line 207
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            iadd
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.x:I
            isub
            istore 5 /* x */
        start local 5 // int x
        42: .line 208
            aload 1 /* g */
            iload 5 /* x */
            iconst_1
            iload 5 /* x */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        end local 5 // int x
        43: .line 210
            goto 45
        44: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.width:I
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.height:I
            invokestatic javax.swing.plaf.metal.MetalUtils.drawDisabledBorder:(Ljava/awt/Graphics;IIII)V
        45: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 47
        46: .line 215
            aload 3 /* trackBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            putfield java.awt.Rectangle.height:I
        47: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.x:I
            ineg
            aload 3 /* trackBounds */
            getfield java.awt.Rectangle.y:I
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        48: .line 220
            return
        end local 4 // boolean leftToRight
        end local 3 // java.awt.Rectangle trackBounds
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   49     0         this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0   49     1            g  Ljava/awt/Graphics;
            0   49     2            c  Ljavax/swing/JComponent;
            0   49     3  trackBounds  Ljava/awt/Rectangle;
            2   49     4  leftToRight  Z
           18   19     5            y  I
           42   43     5            x  I
    MethodParameters:
             Name  Flags
      g            
      c            
      trackBounds  

  protected void paintThumb(java.awt.Graphics, javax.swing.JComponent, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
        start local 3 // java.awt.Rectangle thumbBounds
         0: .line 224
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.isEnabled:()Z
            ifne 2
         1: .line 225
            return
         2: .line 228
      StackMap locals:
      StackMap stack:
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.usingOcean:()Z
            ifeq 5
         3: .line 229
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            aload 3 /* thumbBounds */
            invokevirtual javax.swing.plaf.metal.MetalScrollBarUI.oceanPaintThumb:(Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;)V
         4: .line 230
            return
         5: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokestatic javax.swing.plaf.metal.MetalUtils.isLeftToRight:(Ljava/awt/Component;)Z
            istore 4 /* leftToRight */
        start local 4 // boolean leftToRight
         6: .line 235
            aload 1 /* g */
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.x:I
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.y:I
            invokevirtual java.awt.Graphics.translate:(II)V
         7: .line 237
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getOrientation:()I
            iconst_1
            if_icmpne 26
         8: .line 239
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 12
         9: .line 240
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.width:I
        10: .line 241
            iload 4 /* leftToRight */
            ifne 12
        11: .line 242
            aload 1 /* g */
            iconst_m1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
        12: .line 246
      StackMap locals: int
      StackMap stack:
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        13: .line 247
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        14: .line 249
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        15: .line 250
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        16: .line 252
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        17: .line 253
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        18: .line 254
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        19: .line 256
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.bumps:Ljavax/swing/plaf/metal/MetalBumps;
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            bipush 6
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            bipush 7
            isub
            invokevirtual javax.swing.plaf.metal.MetalBumps.setBumpArea:(II)V
        20: .line 257
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.bumps:Ljavax/swing/plaf/metal/MetalBumps;
            aload 2 /* c */
            aload 1 /* g */
            iconst_3
            iconst_4
            invokevirtual javax.swing.plaf.metal.MetalBumps.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
        21: .line 259
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 39
        22: .line 260
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            putfield java.awt.Rectangle.width:I
        23: .line 261
            iload 4 /* leftToRight */
            ifne 39
        24: .line 262
            aload 1 /* g */
            iconst_1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
        25: .line 265
            goto 39
        26: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 28
        27: .line 269
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.height:I
        28: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        29: .line 273
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        30: .line 275
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        31: .line 276
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        32: .line 278
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        33: .line 279
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        34: .line 280
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        35: .line 282
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.bumps:Ljavax/swing/plaf/metal/MetalBumps;
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            bipush 7
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            bipush 6
            isub
            invokevirtual javax.swing.plaf.metal.MetalBumps.setBumpArea:(II)V
        36: .line 283
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.bumps:Ljavax/swing/plaf/metal/MetalBumps;
            aload 2 /* c */
            aload 1 /* g */
            iconst_4
            iconst_3
            invokevirtual javax.swing.plaf.metal.MetalBumps.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
        37: .line 285
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 39
        38: .line 286
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            putfield java.awt.Rectangle.height:I
        39: .line 290
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.x:I
            ineg
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.y:I
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        40: .line 291
            return
        end local 4 // boolean leftToRight
        end local 3 // java.awt.Rectangle thumbBounds
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   41     0         this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0   41     1            g  Ljava/awt/Graphics;
            0   41     2            c  Ljavax/swing/JComponent;
            0   41     3  thumbBounds  Ljava/awt/Rectangle;
            6   41     4  leftToRight  Z
    MethodParameters:
             Name  Flags
      g            
      c            
      thumbBounds  

  private void oceanPaintThumb(java.awt.Graphics, javax.swing.JComponent, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
        start local 3 // java.awt.Rectangle thumbBounds
         0: .line 295
            aload 2 /* c */
            invokestatic javax.swing.plaf.metal.MetalUtils.isLeftToRight:(Ljava/awt/Component;)Z
            istore 4 /* leftToRight */
        start local 4 // boolean leftToRight
         1: .line 297
            aload 1 /* g */
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.x:I
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.y:I
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 299
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            invokevirtual javax.swing.JScrollBar.getOrientation:()I
            iconst_1
            if_icmpne 40
         3: .line 300
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 7
         4: .line 301
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.width:I
         5: .line 302
            iload 4 /* leftToRight */
            ifne 7
         6: .line 303
            aload 1 /* g */
            iconst_m1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
         7: .line 307
      StackMap locals: int
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            ifnull 10
         8: .line 308
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         9: .line 309
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        10: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        11: .line 313
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        12: .line 315
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        13: .line 316
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        14: .line 317
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        15: .line 319
            aload 2 /* c */
            aload 1 /* g */
            ldc "ScrollBar.gradient"
            iconst_2
            iconst_2
        16: .line 320
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_4
            isub
        17: .line 321
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_3
            isub
            iconst_0
        18: .line 319
            invokestatic javax.swing.plaf.metal.MetalUtils.drawGradient:(Ljava/awt/Component;Ljava/awt/Graphics;Ljava/lang/String;IIIIZ)Z
            pop
        19: .line 323
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            bipush 8
            isub
            istore 5 /* gripSize */
        start local 5 // int gripSize
        20: .line 324
            iload 5 /* gripSize */
            iconst_2
            if_icmple 35
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            bipush 10
            if_icmplt 35
        21: .line 325
            aload 1 /* g */
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlDarkShadow:()Ljavax/swing/plaf/ColorUIResource;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        22: .line 326
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            idiv
            iconst_2
            isub
            istore 6 /* gripY */
        start local 6 // int gripY
        23: .line 327
            iconst_0
            istore 7 /* counter */
        start local 7 // int counter
        24: goto 27
        25: .line 328
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* g */
            iconst_4
            iload 7 /* counter */
            iload 6 /* gripY */
            iadd
            iload 5 /* gripSize */
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        26: .line 327
            iinc 7 /* counter */ 2
      StackMap locals:
      StackMap stack:
        27: iload 7 /* counter */
            bipush 6
            if_icmplt 25
        end local 7 // int counter
        28: .line 331
            aload 1 /* g */
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.getWhite:()Ljavax/swing/plaf/ColorUIResource;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        29: .line 332
            iinc 6 /* gripY */ 1
        30: .line 333
            iconst_0
            istore 7 /* counter */
        start local 7 // int counter
        31: goto 34
        32: .line 334
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            iconst_5
            iload 7 /* counter */
            iload 6 /* gripY */
            iadd
            iload 5 /* gripSize */
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        33: .line 333
            iinc 7 /* counter */ 2
      StackMap locals:
      StackMap stack:
        34: iload 7 /* counter */
            bipush 6
            if_icmplt 32
        end local 7 // int counter
        end local 6 // int gripY
        35: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 72
        36: .line 338
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            putfield java.awt.Rectangle.width:I
        37: .line 339
            iload 4 /* leftToRight */
            ifne 72
        38: .line 340
            aload 1 /* g */
            iconst_1
            iconst_0
            invokevirtual java.awt.Graphics.translate:(II)V
        end local 5 // int gripSize
        39: .line 343
            goto 72
        40: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 42
        41: .line 346
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            iadd
            putfield java.awt.Rectangle.height:I
        42: .line 349
      StackMap locals:
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            ifnull 45
        43: .line 350
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        44: .line 351
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        45: .line 354
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbShadow:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        46: .line 355
            aload 1 /* g */
            iconst_0
            iconst_0
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_1
            isub
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        47: .line 357
            aload 1 /* g */
            getstatic javax.swing.plaf.metal.MetalScrollBarUI.thumbHighlightColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        48: .line 358
            aload 1 /* g */
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        49: .line 359
            aload 1 /* g */
            iconst_1
            iconst_1
            iconst_1
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        50: .line 361
            aload 2 /* c */
            aload 1 /* g */
            ldc "ScrollBar.gradient"
            iconst_2
            iconst_2
        51: .line 362
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_3
            isub
        52: .line 363
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            iconst_4
            isub
            iconst_1
        53: .line 361
            invokestatic javax.swing.plaf.metal.MetalUtils.drawGradient:(Ljava/awt/Component;Ljava/awt/Graphics;Ljava/lang/String;IIIIZ)Z
            pop
        54: .line 365
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.height:I
            bipush 8
            isub
            istore 5 /* gripSize */
        start local 5 // int gripSize
        55: .line 366
            iload 5 /* gripSize */
            iconst_2
            if_icmple 70
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            bipush 10
            if_icmplt 70
        56: .line 367
            aload 1 /* g */
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.getPrimaryControlDarkShadow:()Ljavax/swing/plaf/ColorUIResource;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        57: .line 368
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.width:I
            iconst_2
            idiv
            iconst_2
            isub
            istore 6 /* gripX */
        start local 6 // int gripX
        58: .line 369
            iconst_0
            istore 7 /* counter */
        start local 7 // int counter
        59: goto 62
        60: .line 370
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* g */
            iload 6 /* gripX */
            iload 7 /* counter */
            iadd
            iconst_4
            iconst_1
            iload 5 /* gripSize */
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        61: .line 369
            iinc 7 /* counter */ 2
      StackMap locals:
      StackMap stack:
        62: iload 7 /* counter */
            bipush 6
            if_icmplt 60
        end local 7 // int counter
        63: .line 373
            aload 1 /* g */
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.getWhite:()Ljavax/swing/plaf/ColorUIResource;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        64: .line 374
            iinc 6 /* gripX */ 1
        65: .line 375
            iconst_0
            istore 7 /* counter */
        start local 7 // int counter
        66: goto 69
        67: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            iload 6 /* gripX */
            iload 7 /* counter */
            iadd
            iconst_5
            iconst_1
            iload 5 /* gripSize */
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        68: .line 375
            iinc 7 /* counter */ 2
      StackMap locals:
      StackMap stack:
        69: iload 7 /* counter */
            bipush 6
            if_icmplt 67
        end local 7 // int counter
        end local 6 // int gripX
        70: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.isFreeStanding:Z
            ifne 72
        71: .line 381
            aload 3 /* thumbBounds */
            dup
            getfield java.awt.Rectangle.height:I
            iconst_2
            isub
            putfield java.awt.Rectangle.height:I
        end local 5 // int gripSize
        72: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.x:I
            ineg
            aload 3 /* thumbBounds */
            getfield java.awt.Rectangle.y:I
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        73: .line 386
            return
        end local 4 // boolean leftToRight
        end local 3 // java.awt.Rectangle thumbBounds
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   74     0         this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0   74     1            g  Ljava/awt/Graphics;
            0   74     2            c  Ljavax/swing/JComponent;
            0   74     3  thumbBounds  Ljava/awt/Rectangle;
            1   74     4  leftToRight  Z
           20   39     5     gripSize  I
           23   35     6        gripY  I
           24   28     7      counter  I
           31   35     7      counter  I
           55   72     5     gripSize  I
           58   70     6        gripX  I
           59   63     7      counter  I
           66   70     7      counter  I
    MethodParameters:
             Name  Flags
      g            
      c            
      thumbBounds  

  protected java.awt.Dimension getMinimumThumbSize();
    descriptor: ()Ljava/awt/Dimension;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
         0: .line 390
            new java.awt.Dimension
            dup
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollBarWidth:I
            invokespecial java.awt.Dimension.<init>:(II)V
            areturn
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalScrollBarUI;

  protected void setThumbBounds(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int width
        start local 4 // int height
         0: .line 401
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            iload 1 /* x */
            if_icmpne 5
         1: .line 402
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            iload 2 /* y */
            if_icmpne 5
         2: .line 403
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            iload 3 /* width */
            if_icmpne 5
         3: .line 404
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iload 4 /* height */
            if_icmpne 5
         4: .line 405
            return
         5: .line 411
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* minX */
        start local 5 // int minX
         6: .line 412
            iload 2 /* y */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* minY */
        start local 6 // int minY
         7: .line 413
            iload 1 /* x */
            iload 3 /* width */
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* maxX */
        start local 7 // int maxX
         8: .line 414
            iload 2 /* y */
            iload 4 /* height */
            iadd
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* maxY */
        start local 8 // int maxY
         9: .line 416
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.thumbRect:Ljava/awt/Rectangle;
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* width */
            iload 4 /* height */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
        10: .line 417
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalScrollBarUI.scrollbar:Ljavax/swing/JScrollBar;
            iload 5 /* minX */
            iload 6 /* minY */
            iload 7 /* maxX */
            iload 5 /* minX */
            isub
            iconst_1
            iadd
            iload 8 /* maxY */
            iload 6 /* minY */
            isub
            iconst_1
            iadd
            invokevirtual javax.swing.JScrollBar.repaint:(IIII)V
        11: .line 418
            return
        end local 8 // int maxY
        end local 7 // int maxX
        end local 6 // int minY
        end local 5 // int minX
        end local 4 // int height
        end local 3 // int width
        end local 2 // int y
        end local 1 // int x
        end local 0 // javax.swing.plaf.metal.MetalScrollBarUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljavax/swing/plaf/metal/MetalScrollBarUI;
            0   12     1       x  I
            0   12     2       y  I
            0   12     3   width  I
            0   12     4  height  I
            6   12     5    minX  I
            7   12     6    minY  I
            8   12     7    maxX  I
            9   12     8    maxY  I
    MethodParameters:
        Name  Flags
      x       
      y       
      width   
      height  
}
SourceFile: "MetalScrollBarUI.java"
NestMembers:
  javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener
InnerClasses:
  ScrollBarListener = javax.swing.plaf.metal.MetalScrollBarUI$ScrollBarListener of javax.swing.plaf.metal.MetalScrollBarUI