public class com.apple.laf.AquaFocusHandler implements java.awt.event.FocusListener, java.beans.PropertyChangeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.apple.laf.AquaFocusHandler
  super_class: java.lang.Object
{
  private boolean wasTemporary;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  protected static final java.lang.String FRAME_ACTIVE_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "Frame.active"

  static final java.beans.PropertyChangeListener REPAINT_LISTENER;
    descriptor: Ljava/beans/PropertyChangeListener;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            new com.apple.laf.AquaFocusHandler$1
            dup
            invokespecial com.apple.laf.AquaFocusHandler$1.<init>:()V
            putstatic com.apple.laf.AquaFocusHandler.REPAINT_LISTENER:Ljava/beans/PropertyChangeListener;
         1: .line 96
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.apple.laf.AquaFocusHandler this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
         2: .line 44
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaFocusHandler.repaintBorder:Z
         3: .line 39
            return
        end local 0 // com.apple.laf.AquaFocusHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/apple/laf/AquaFocusHandler;

  public void focusGained(java.awt.event.FocusEvent);
    descriptor: (Ljava/awt/event/FocusEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaFocusHandler this
        start local 1 // java.awt.event.FocusEvent ev
         0: .line 51
            aload 0 /* this */
            getfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
            ifeq 1
            aload 0 /* this */
            getfield com.apple.laf.AquaFocusHandler.repaintBorder:Z
            ifeq 3
         1: .line 52
      StackMap locals:
      StackMap stack:
            aload 1 /* ev */
            invokevirtual java.awt.event.FocusEvent.getSource:()Ljava/lang/Object;
            checkcast javax.swing.JComponent
            invokestatic com.apple.laf.AquaBorder.repaintBorder:(Ljavax/swing/JComponent;)V
         2: .line 53
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaFocusHandler.repaintBorder:Z
         3: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
         4: .line 56
            return
        end local 1 // java.awt.event.FocusEvent ev
        end local 0 // com.apple.laf.AquaFocusHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/apple/laf/AquaFocusHandler;
            0    5     1    ev  Ljava/awt/event/FocusEvent;
    MethodParameters:
      Name  Flags
      ev    final

  public void focusLost(java.awt.event.FocusEvent);
    descriptor: (Ljava/awt/event/FocusEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaFocusHandler this
        start local 1 // java.awt.event.FocusEvent ev
         0: .line 59
            aload 0 /* this */
            aload 1 /* ev */
            invokevirtual java.awt.event.FocusEvent.isTemporary:()Z
            putfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
         1: .line 62
            aload 0 /* this */
            getfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
            ifne 3
         2: .line 63
            aload 1 /* ev */
            invokevirtual java.awt.event.FocusEvent.getSource:()Ljava/lang/Object;
            checkcast javax.swing.JComponent
            invokestatic com.apple.laf.AquaBorder.repaintBorder:(Ljavax/swing/JComponent;)V
         3: .line 65
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.event.FocusEvent ev
        end local 0 // com.apple.laf.AquaFocusHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/apple/laf/AquaFocusHandler;
            0    4     1    ev  Ljava/awt/event/FocusEvent;
    MethodParameters:
      Name  Flags
      ev    final

  public void propertyChange(java.beans.PropertyChangeEvent);
    descriptor: (Ljava/beans/PropertyChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaFocusHandler this
        start local 1 // java.beans.PropertyChangeEvent ev
         0: .line 68
            ldc "Frame.active"
            aload 1 /* ev */
            invokevirtual java.beans.PropertyChangeEvent.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            return
         1: .line 70
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 1 /* ev */
            invokevirtual java.beans.PropertyChangeEvent.getNewValue:()Ljava/lang/Object;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 74
            aload 0 /* this */
            iconst_1
            putfield com.apple.laf.AquaFocusHandler.repaintBorder:Z
         3: .line 75
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.apple.laf.AquaFocusHandler.wasTemporary:Z
            ifeq 6
         5: .line 78
            aload 1 /* ev */
            invokevirtual java.beans.PropertyChangeEvent.getSource:()Ljava/lang/Object;
            checkcast javax.swing.JComponent
            invokestatic com.apple.laf.AquaBorder.repaintBorder:(Ljavax/swing/JComponent;)V
         6: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.beans.PropertyChangeEvent ev
        end local 0 // com.apple.laf.AquaFocusHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/apple/laf/AquaFocusHandler;
            0    7     1    ev  Ljava/beans/PropertyChangeEvent;
    MethodParameters:
      Name  Flags
      ev    final

  protected static boolean isActive(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 83
            aload 0 /* c */
            ifnonnull 1
            iconst_1
            ireturn
         1: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            ldc "Frame.active"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* activeObj */
        start local 1 // java.lang.Object activeObj
         2: .line 85
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 1 /* activeObj */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_0
            ireturn
         3: .line 86
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object activeObj
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0          c  Ljavax/swing/JComponent;
            2    4     1  activeObj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      c     final

  protected static void install(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 99
            aload 0 /* c */
            ldc "Frame.active"
            getstatic com.apple.laf.AquaFocusHandler.REPAINT_LISTENER:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JComponent.addPropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
         1: .line 100
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     final

  protected static void uninstall(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 103
            aload 0 /* c */
            ldc "Frame.active"
            getstatic com.apple.laf.AquaFocusHandler.REPAINT_LISTENER:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JComponent.removePropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
         1: .line 104
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     final

  static void swapSelectionColors(java.lang.String, javax.swing.JTree, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljavax/swing/JTree;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // javax.swing.JTree c
        start local 2 // java.lang.Object value
         0: .line 109
            return
        end local 2 // java.lang.Object value
        end local 1 // javax.swing.JTree c
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  prefix  Ljava/lang/String;
            0    1     1       c  Ljavax/swing/JTree;
            0    1     2   value  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      prefix  final
      c       final
      value   final

  static void swapSelectionColors(java.lang.String, javax.swing.JTable, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljavax/swing/JTable;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // javax.swing.JTable c
        start local 2 // java.lang.Object value
         0: .line 112
            aload 1 /* c */
            invokestatic com.apple.laf.AquaFocusHandler.isComponentValid:(Ljavax/swing/JComponent;)Z
            ifne 1
            return
         1: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javax.swing.JTable.getSelectionBackground:()Ljava/awt/Color;
            astore 3 /* bg */
        start local 3 // java.awt.Color bg
         2: .line 115
            aload 1 /* c */
            invokevirtual javax.swing.JTable.getSelectionForeground:()Ljava/awt/Color;
            astore 4 /* fg */
        start local 4 // java.awt.Color fg
         3: .line 116
            aload 3 /* bg */
            instanceof javax.swing.plaf.UIResource
            ifeq 4
            aload 4 /* fg */
            instanceof javax.swing.plaf.UIResource
            ifne 5
      StackMap locals: java.awt.Color java.awt.Color
      StackMap stack:
         4: return
         5: .line 118
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 2 /* value */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 119
            aload 1 /* c */
            ldc "Table.selectionInactiveForeground"
            ldc "Table.selectionInactiveBackground"
            invokestatic com.apple.laf.AquaFocusHandler.setSelectionColors:(Ljavax/swing/JTable;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 120
            return
         8: .line 123
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 2 /* value */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 124
            aload 1 /* c */
            ldc "Table.selectionForeground"
            ldc "Table.selectionBackground"
            invokestatic com.apple.laf.AquaFocusHandler.setSelectionColors:(Ljavax/swing/JTable;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 125
            return
        11: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.awt.Color fg
        end local 3 // java.awt.Color bg
        end local 2 // java.lang.Object value
        end local 1 // javax.swing.JTable c
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  prefix  Ljava/lang/String;
            0   12     1       c  Ljavax/swing/JTable;
            0   12     2   value  Ljava/lang/Object;
            2   12     3      bg  Ljava/awt/Color;
            3   12     4      fg  Ljava/awt/Color;
    MethodParameters:
        Name  Flags
      prefix  final
      c       final
      value   final

  static void setSelectionColors(javax.swing.JTable, java.lang.String, java.lang.String);
    descriptor: (Ljavax/swing/JTable;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.swing.JTable c
        start local 1 // java.lang.String fgName
        start local 2 // java.lang.String bgName
         0: .line 130
            aload 0 /* c */
            aload 1 /* fgName */
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JTable.setSelectionForeground:(Ljava/awt/Color;)V
         1: .line 131
            aload 0 /* c */
            aload 2 /* bgName */
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JTable.setSelectionBackground:(Ljava/awt/Color;)V
         2: .line 132
            return
        end local 2 // java.lang.String bgName
        end local 1 // java.lang.String fgName
        end local 0 // javax.swing.JTable c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       c  Ljavax/swing/JTable;
            0    3     1  fgName  Ljava/lang/String;
            0    3     2  bgName  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      c       final
      fgName  final
      bgName  final

  static void swapSelectionColors(java.lang.String, javax.swing.JList, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljavax/swing/JList;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // javax.swing.JList c
        start local 2 // java.lang.Object value
         0: .line 135
            aload 1 /* c */
            invokestatic com.apple.laf.AquaFocusHandler.isComponentValid:(Ljavax/swing/JComponent;)Z
            ifne 1
            return
         1: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javax.swing.JList.getSelectionBackground:()Ljava/awt/Color;
            astore 3 /* bg */
        start local 3 // java.awt.Color bg
         2: .line 138
            aload 1 /* c */
            invokevirtual javax.swing.JList.getSelectionForeground:()Ljava/awt/Color;
            astore 4 /* fg */
        start local 4 // java.awt.Color fg
         3: .line 139
            aload 3 /* bg */
            instanceof javax.swing.plaf.UIResource
            ifeq 4
            aload 4 /* fg */
            instanceof javax.swing.plaf.UIResource
            ifne 5
      StackMap locals: java.awt.Color java.awt.Color
      StackMap stack:
         4: return
         5: .line 141
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 2 /* value */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 142
            aload 1 /* c */
            ldc "List.selectionInactiveForeground"
            ldc "List.selectionInactiveBackground"
            invokestatic com.apple.laf.AquaFocusHandler.setSelectionColors:(Ljavax/swing/JList;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 143
            return
         8: .line 146
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 2 /* value */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 147
            aload 1 /* c */
            ldc "List.selectionForeground"
            ldc "List.selectionBackground"
            invokestatic com.apple.laf.AquaFocusHandler.setSelectionColors:(Ljavax/swing/JList;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 148
            return
        11: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.awt.Color fg
        end local 3 // java.awt.Color bg
        end local 2 // java.lang.Object value
        end local 1 // javax.swing.JList c
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  prefix  Ljava/lang/String;
            0   12     1       c  Ljavax/swing/JList;
            0   12     2   value  Ljava/lang/Object;
            2   12     3      bg  Ljava/awt/Color;
            3   12     4      fg  Ljava/awt/Color;
    MethodParameters:
        Name  Flags
      prefix  final
      c       final
      value   final

  static void setSelectionColors(javax.swing.JList, java.lang.String, java.lang.String);
    descriptor: (Ljavax/swing/JList;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.swing.JList c
        start local 1 // java.lang.String fgName
        start local 2 // java.lang.String bgName
         0: .line 153
            aload 0 /* c */
            aload 1 /* fgName */
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JList.setSelectionForeground:(Ljava/awt/Color;)V
         1: .line 154
            aload 0 /* c */
            aload 2 /* bgName */
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            invokevirtual javax.swing.JList.setSelectionBackground:(Ljava/awt/Color;)V
         2: .line 155
            return
        end local 2 // java.lang.String bgName
        end local 1 // java.lang.String fgName
        end local 0 // javax.swing.JList c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0       c  Ljavax/swing/JList;
            0    3     1  fgName  Ljava/lang/String;
            0    3     2  bgName  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      c       final
      fgName  final
      bgName  final

  static boolean isComponentValid(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 158
            aload 0 /* c */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokestatic javax.swing.SwingUtilities.getWindowAncestor:(Ljava/awt/Component;)Ljava/awt/Window;
            astore 1 /* window */
        start local 1 // java.awt.Window window
         2: .line 160
            aload 1 /* window */
            ifnonnull 3
            iconst_0
            ireturn
         3: .line 161
      StackMap locals: java.awt.Window
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.awt.Window window
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       c  Ljavax/swing/JComponent;
            2    4     1  window  Ljava/awt/Window;
    MethodParameters:
      Name  Flags
      c     final
}
SourceFile: "AquaFocusHandler.java"
NestMembers:
  com.apple.laf.AquaFocusHandler$1
InnerClasses:
  com.apple.laf.AquaFocusHandler$1