abstract class com.apple.laf.AquaPainter<T extends apple.laf.JRSUIState>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.apple.laf.AquaPainter
  super_class: java.lang.Object
{
  final java.awt.Rectangle boundsRect;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0010) ACC_FINAL

  final apple.laf.JRSUIControl control;
    descriptor: Lapple/laf/JRSUIControl;
    flags: (0x0010) ACC_FINAL

  T state;
    descriptor: Lapple/laf/JRSUIState;
    flags: (0x0000) 
    Signature: TT;

  static <T extends apple.laf.JRSUIState> com.apple.laf.AquaPainter<T> create(T);
    descriptor: (Lapple/laf/JRSUIState;)Lcom/apple/laf/AquaPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // apple.laf.JRSUIState state
         0: .line 44
            new com.apple.laf.AquaPainter$AquaSingleImagePainter
            dup
            aload 0 /* state */
            invokespecial com.apple.laf.AquaPainter$AquaSingleImagePainter.<init>:(Lapple/laf/JRSUIState;)V
            areturn
        end local 0 // apple.laf.JRSUIState state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  state  TT;
    Signature: <T:Lapple/laf/JRSUIState;>(TT;)Lcom/apple/laf/AquaPainter<TT;>;
    MethodParameters:
       Name  Flags
      state  final

  static <T extends apple.laf.JRSUIState> com.apple.laf.AquaPainter<T> create(T, int, int, int, int, int, int);
    descriptor: (Lapple/laf/JRSUIState;IIIIII)Lcom/apple/laf/AquaPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // apple.laf.JRSUIState state
        start local 1 // int minWidth
        start local 2 // int minHeight
        start local 3 // int westCut
        start local 4 // int eastCut
        start local 5 // int northCut
        start local 6 // int southCut
         0: .line 48
            aload 0 /* state */
            iload 1 /* minWidth */
            iload 2 /* minHeight */
            iload 3 /* westCut */
            iload 4 /* eastCut */
            iload 5 /* northCut */
            iload 6 /* southCut */
            iconst_1
            invokestatic com.apple.laf.AquaPainter.create:(Lapple/laf/JRSUIState;IIIIIIZ)Lcom/apple/laf/AquaPainter;
            areturn
        end local 6 // int southCut
        end local 5 // int northCut
        end local 4 // int eastCut
        end local 3 // int westCut
        end local 2 // int minHeight
        end local 1 // int minWidth
        end local 0 // apple.laf.JRSUIState state
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      state  TT;
            0    1     1   minWidth  I
            0    1     2  minHeight  I
            0    1     3    westCut  I
            0    1     4    eastCut  I
            0    1     5   northCut  I
            0    1     6   southCut  I
    Signature: <T:Lapple/laf/JRSUIState;>(TT;IIIIII)Lcom/apple/laf/AquaPainter<TT;>;
    MethodParameters:
           Name  Flags
      state      final
      minWidth   final
      minHeight  final
      westCut    final
      eastCut    final
      northCut   final
      southCut   final

  static <T extends apple.laf.JRSUIState> com.apple.laf.AquaPainter<T> create(T, int, int, int, int, int, int, boolean);
    descriptor: (Lapple/laf/JRSUIState;IIIIIIZ)Lcom/apple/laf/AquaPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // apple.laf.JRSUIState state
        start local 1 // int minWidth
        start local 2 // int minHeight
        start local 3 // int westCut
        start local 4 // int eastCut
        start local 5 // int northCut
        start local 6 // int southCut
        start local 7 // boolean useMiddle
         0: .line 52
            aload 0 /* state */
            iload 1 /* minWidth */
            iload 2 /* minHeight */
            iload 3 /* westCut */
            iload 4 /* eastCut */
            iload 5 /* northCut */
            iload 6 /* southCut */
            iload 7 /* useMiddle */
            iconst_1
            iconst_1
            invokestatic com.apple.laf.AquaPainter.create:(Lapple/laf/JRSUIState;IIIIIIZZZ)Lcom/apple/laf/AquaPainter;
            areturn
        end local 7 // boolean useMiddle
        end local 6 // int southCut
        end local 5 // int northCut
        end local 4 // int eastCut
        end local 3 // int westCut
        end local 2 // int minHeight
        end local 1 // int minWidth
        end local 0 // apple.laf.JRSUIState state
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      state  TT;
            0    1     1   minWidth  I
            0    1     2  minHeight  I
            0    1     3    westCut  I
            0    1     4    eastCut  I
            0    1     5   northCut  I
            0    1     6   southCut  I
            0    1     7  useMiddle  Z
    Signature: <T:Lapple/laf/JRSUIState;>(TT;IIIIIIZ)Lcom/apple/laf/AquaPainter<TT;>;
    MethodParameters:
           Name  Flags
      state      final
      minWidth   final
      minHeight  final
      westCut    final
      eastCut    final
      northCut   final
      southCut   final
      useMiddle  final

  static <T extends apple.laf.JRSUIState> com.apple.laf.AquaPainter<T> create(T, int, int, int, int, int, int, boolean, boolean, boolean);
    descriptor: (Lapple/laf/JRSUIState;IIIIIIZZZ)Lcom/apple/laf/AquaPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=10, args_size=10
        start local 0 // apple.laf.JRSUIState state
        start local 1 // int minWidth
        start local 2 // int minHeight
        start local 3 // int westCut
        start local 4 // int eastCut
        start local 5 // int northCut
        start local 6 // int southCut
        start local 7 // boolean useMiddle
        start local 8 // boolean stretchHorizontally
        start local 9 // boolean stretchVertically
         0: .line 56
            aload 0 /* state */
            new com.apple.laf.AquaPainter$1
            dup
            iload 1 /* minWidth */
            iload 2 /* minHeight */
            iload 3 /* westCut */
            iload 4 /* eastCut */
            iload 5 /* northCut */
            iload 6 /* southCut */
            iload 7 /* useMiddle */
            iload 8 /* stretchHorizontally */
            iload 9 /* stretchVertically */
            invokespecial com.apple.laf.AquaPainter$1.<init>:(IIIIIIZZZ)V
            invokestatic com.apple.laf.AquaPainter.create:(Lapple/laf/JRSUIState;Lapple/laf/JRSUIUtils$NineSliceMetricsProvider;)Lcom/apple/laf/AquaPainter;
            areturn
        end local 9 // boolean stretchVertically
        end local 8 // boolean stretchHorizontally
        end local 7 // boolean useMiddle
        end local 6 // int southCut
        end local 5 // int northCut
        end local 4 // int eastCut
        end local 3 // int westCut
        end local 2 // int minHeight
        end local 1 // int minWidth
        end local 0 // apple.laf.JRSUIState state
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                state  TT;
            0    1     1             minWidth  I
            0    1     2            minHeight  I
            0    1     3              westCut  I
            0    1     4              eastCut  I
            0    1     5             northCut  I
            0    1     6             southCut  I
            0    1     7            useMiddle  Z
            0    1     8  stretchHorizontally  Z
            0    1     9    stretchVertically  Z
    Signature: <T:Lapple/laf/JRSUIState;>(TT;IIIIIIZZZ)Lcom/apple/laf/AquaPainter<TT;>;
    MethodParameters:
                     Name  Flags
      state                final
      minWidth             final
      minHeight            final
      westCut              final
      eastCut              final
      northCut             final
      southCut             final
      useMiddle            final
      stretchHorizontally  final
      stretchVertically    final

  static <T extends apple.laf.JRSUIState> com.apple.laf.AquaPainter<T> create(T, apple.laf.JRSUIUtils$NineSliceMetricsProvider);
    descriptor: (Lapple/laf/JRSUIState;Lapple/laf/JRSUIUtils$NineSliceMetricsProvider;)Lcom/apple/laf/AquaPainter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // apple.laf.JRSUIState state
        start local 1 // apple.laf.JRSUIUtils$NineSliceMetricsProvider metricsProvider
         0: .line 65
            new com.apple.laf.AquaPainter$AquaNineSlicingImagePainter
            dup
            aload 0 /* state */
            aload 1 /* metricsProvider */
            invokespecial com.apple.laf.AquaPainter$AquaNineSlicingImagePainter.<init>:(Lapple/laf/JRSUIState;Lapple/laf/JRSUIUtils$NineSliceMetricsProvider;)V
            areturn
        end local 1 // apple.laf.JRSUIUtils$NineSliceMetricsProvider metricsProvider
        end local 0 // apple.laf.JRSUIState state
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0            state  TT;
            0    1     1  metricsProvider  Lapple/laf/JRSUIUtils$NineSliceMetricsProvider;
    Signature: <T:Lapple/laf/JRSUIState;>(TT;Lapple/laf/JRSUIUtils$NineSliceMetricsProvider;)Lcom/apple/laf/AquaPainter<TT;>;
    MethodParameters:
                 Name  Flags
      state            final
      metricsProvider  final

  abstract void paint(java.awt.Graphics2D, );
    descriptor: (Ljava/awt/Graphics2D;Lapple/laf/JRSUIState;)V
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/awt/Graphics2D;TT;)V
    MethodParameters:
              Name  Flags
      g             
      stateToPaint  

  void <init>(apple.laf.JRSUIControl, );
    descriptor: (Lapple/laf/JRSUIControl;Lapple/laf/JRSUIState;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.apple.laf.AquaPainter this
        start local 1 // apple.laf.JRSUIControl control
        start local 2 // apple.laf.JRSUIState state
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            putfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
         2: .line 74
            aload 0 /* this */
            aload 1 /* control */
            putfield com.apple.laf.AquaPainter.control:Lapple/laf/JRSUIControl;
         3: .line 75
            aload 0 /* this */
            aload 2 /* state */
            putfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
         4: .line 76
            return
        end local 2 // apple.laf.JRSUIState state
        end local 1 // apple.laf.JRSUIControl control
        end local 0 // com.apple.laf.AquaPainter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/apple/laf/AquaPainter<TT;>;
            0    5     1  control  Lapple/laf/JRSUIControl;
            0    5     2    state  TT;
    Signature: (Lapple/laf/JRSUIControl;TT;)V
    MethodParameters:
         Name  Flags
      control  final
      state    final

  final apple.laf.JRSUIControl getControl();
    descriptor: ()Lapple/laf/JRSUIControl;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.apple.laf.AquaPainter this
         0: .line 79
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.control:Lapple/laf/JRSUIControl;
            aload 0 /* this */
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            invokevirtual apple.laf.JRSUIState.derive:()Lapple/laf/JRSUIState;
            dup_x1
            putfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            invokevirtual apple.laf.JRSUIControl.set:(Lapple/laf/JRSUIState;)V
         1: .line 80
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.control:Lapple/laf/JRSUIControl;
            areturn
        end local 0 // com.apple.laf.AquaPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/apple/laf/AquaPainter<TT;>;

  final void paint(java.awt.Graphics, java.awt.Component, int, int, int, int);
    descriptor: (Ljava/awt/Graphics;Ljava/awt/Component;IIII)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // com.apple.laf.AquaPainter this
        start local 1 // java.awt.Graphics g
        start local 2 // java.awt.Component c
        start local 3 // int x
        start local 4 // int y
        start local 5 // int w
        start local 6 // int h
         0: .line 85
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
            iload 3 /* x */
            iload 4 /* y */
            iload 5 /* w */
            iload 6 /* h */
            invokevirtual java.awt.Rectangle.setBounds:(IIII)V
         1: .line 87
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
            invokevirtual apple.laf.JRSUIState.derive:()Lapple/laf/JRSUIState;
            astore 7 /* nextState */
        start local 7 // apple.laf.JRSUIState nextState
         2: .line 88
            aload 0 /* this */
            aload 1 /* g */
            invokevirtual com.apple.laf.AquaPainter.getGraphics2D:(Ljava/awt/Graphics;)Ljava/awt/Graphics2D;
            astore 8 /* g2d */
        start local 8 // java.awt.Graphics2D g2d
         3: .line 89
            aload 8 /* g2d */
            ifnull 4
            aload 0 /* this */
            aload 8 /* g2d */
            aload 7 /* nextState */
            invokevirtual com.apple.laf.AquaPainter.paint:(Ljava/awt/Graphics2D;Lapple/laf/JRSUIState;)V
         4: .line 90
      StackMap locals: apple.laf.JRSUIState java.awt.Graphics2D
      StackMap stack:
            aload 0 /* this */
            aload 7 /* nextState */
            putfield com.apple.laf.AquaPainter.state:Lapple/laf/JRSUIState;
         5: .line 91
            return
        end local 8 // java.awt.Graphics2D g2d
        end local 7 // apple.laf.JRSUIState nextState
        end local 6 // int h
        end local 5 // int w
        end local 4 // int y
        end local 3 // int x
        end local 2 // java.awt.Component c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaPainter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/apple/laf/AquaPainter<TT;>;
            0    6     1          g  Ljava/awt/Graphics;
            0    6     2          c  Ljava/awt/Component;
            0    6     3          x  I
            0    6     4          y  I
            0    6     5          w  I
            0    6     6          h  I
            2    6     7  nextState  TT;
            3    6     8        g2d  Ljava/awt/Graphics2D;
    MethodParameters:
      Name  Flags
      g     final
      c     final
      x     final
      y     final
      w     final
      h     final

  private java.awt.Graphics2D getGraphics2D(java.awt.Graphics);
    descriptor: (Ljava/awt/Graphics;)Ljava/awt/Graphics2D;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.apple.laf.AquaPainter this
        start local 1 // java.awt.Graphics g
         0: .line 205
            aload 1 /* g */
            checkcast sun.java2d.SunGraphics2D
         1: areturn
         2: .line 206
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         3: .line 207
            aload 1 /* g */
            instanceof sun.print.PeekGraphics
            ifeq 6
         4: .line 209
            aload 1 /* g */
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            aload 0 /* this */
            getfield com.apple.laf.AquaPainter.boundsRect:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         5: .line 210
            goto 13
      StackMap locals:
      StackMap stack:
         6: aload 1 /* g */
            instanceof sun.print.ProxyGraphics2D
            ifeq 11
         7: .line 211
            aload 1 /* g */
            checkcast sun.print.ProxyGraphics2D
            astore 2 /* pg */
        start local 2 // sun.print.ProxyGraphics2D pg
         8: .line 212
            aload 2 /* pg */
            invokevirtual sun.print.ProxyGraphics2D.getDelegate:()Ljava/awt/Graphics2D;
            astore 3 /* g2d */
        start local 3 // java.awt.Graphics2D g2d
         9: .line 213
            aload 3 /* g2d */
            instanceof sun.java2d.SunGraphics2D
            ifeq 13
        10: .line 214
            aload 3 /* g2d */
            areturn
        end local 3 // java.awt.Graphics2D g2d
        end local 2 // sun.print.ProxyGraphics2D pg
        11: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            instanceof java.awt.Graphics2D
            ifeq 13
        12: .line 217
            aload 1 /* g */
            checkcast java.awt.Graphics2D
            areturn
        13: .line 221
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/apple/laf/AquaPainter<TT;>;
            0   14     1     g  Ljava/awt/Graphics;
            8   11     2    pg  Lsun/print/ProxyGraphics2D;
            9   11     3   g2d  Ljava/awt/Graphics2D;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      g     final
}
Signature: <T:Lapple/laf/JRSUIState;>Ljava/lang/Object;
SourceFile: "AquaPainter.java"
NestMembers:
  com.apple.laf.AquaPainter$1  com.apple.laf.AquaPainter$AquaNineSlicingImagePainter  com.apple.laf.AquaPainter$AquaSingleImagePainter  com.apple.laf.AquaPainter$RecyclableJRSUISlicedImageControl
InnerClasses:
  public abstract NineSliceMetricsProvider = apple.laf.JRSUIUtils$NineSliceMetricsProvider of apple.laf.JRSUIUtils
  com.apple.laf.AquaPainter$1
  private AquaNineSlicingImagePainter = com.apple.laf.AquaPainter$AquaNineSlicingImagePainter of com.apple.laf.AquaPainter
  private final AquaSingleImagePainter = com.apple.laf.AquaPainter$AquaSingleImagePainter of com.apple.laf.AquaPainter
  private RecyclableJRSUISlicedImageControl = com.apple.laf.AquaPainter$RecyclableJRSUISlicedImageControl of com.apple.laf.AquaPainter