public class sun.awt.X11.XKeyboardFocusManagerPeer extends sun.awt.KeyboardFocusManagerPeerImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.X11.XKeyboardFocusManagerPeer
  super_class: sun.awt.KeyboardFocusManagerPeerImpl
{
  private static final sun.util.logging.PlatformLogger focusLog;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.awt.X11.XKeyboardFocusManagerPeer inst;
    descriptor: Lsun/awt/X11/XKeyboardFocusManagerPeer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.awt.Component currentFocusOwner;
    descriptor: Ljava/awt/Component;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Window currentFocusedWindow;
    descriptor: Ljava/awt/Window;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 36
            ldc "sun.awt.X11.focus.XKeyboardFocusManagerPeer"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.X11.XKeyboardFocusManagerPeer.focusLog:Lsun/util/logging/PlatformLogger;
         1: .line 37
            new sun.awt.X11.XKeyboardFocusManagerPeer
            dup
            invokespecial sun.awt.X11.XKeyboardFocusManagerPeer.<init>:()V
            putstatic sun.awt.X11.XKeyboardFocusManagerPeer.inst:Lsun/awt/X11/XKeyboardFocusManagerPeer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.awt.X11.XKeyboardFocusManagerPeer getInstance();
    descriptor: ()Lsun/awt/X11/XKeyboardFocusManagerPeer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            getstatic sun.awt.X11.XKeyboardFocusManagerPeer.inst:Lsun/awt/X11/XKeyboardFocusManagerPeer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
         0: .line 46
            aload 0 /* this */
            invokespecial sun.awt.KeyboardFocusManagerPeerImpl.<init>:()V
         1: .line 47
            return
        end local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/X11/XKeyboardFocusManagerPeer;

  public void setCurrentFocusOwner(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
        start local 1 // java.awt.Component comp
         0: .line 51
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 52
            aload 0 /* this */
            aload 1 /* comp */
            putfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusOwner:Ljava/awt/Component;
         2: .line 51
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: sun.awt.X11.XKeyboardFocusManagerPeer java.awt.Component sun.awt.X11.XKeyboardFocusManagerPeer
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 54
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Component comp
        end local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/X11/XKeyboardFocusManagerPeer;
            0    7     1  comp  Ljava/awt/Component;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      comp  

  public java.awt.Component getCurrentFocusOwner();
    descriptor: ()Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
         0: .line 58
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 59
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusOwner:Ljava/awt/Component;
            aload 1
            monitorexit
         2: areturn
         3: .line 58
      StackMap locals: sun.awt.X11.XKeyboardFocusManagerPeer sun.awt.X11.XKeyboardFocusManagerPeer
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/XKeyboardFocusManagerPeer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void setCurrentFocusedWindow(java.awt.Window);
    descriptor: (Ljava/awt/Window;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
        start local 1 // java.awt.Window win
         0: .line 65
            getstatic sun.awt.X11.XKeyboardFocusManagerPeer.focusLog:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINER:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 2
         1: .line 66
            getstatic sun.awt.X11.XKeyboardFocusManagerPeer.focusLog:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Setting current focused window "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* win */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;)V
         2: .line 69
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* from */
        start local 2 // sun.awt.X11.XWindowPeer from
         3: aconst_null
            astore 3 /* to */
        start local 3 // sun.awt.X11.XWindowPeer to
         4: .line 71
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         5: .line 72
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
            ifnull 7
         6: .line 73
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.X11.XWindowPeer
            astore 2 /* from */
         7: .line 76
      StackMap locals: sun.awt.X11.XWindowPeer sun.awt.X11.XWindowPeer sun.awt.X11.XKeyboardFocusManagerPeer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* win */
            putfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
         8: .line 78
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
            ifnull 10
         9: .line 79
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
            checkcast sun.awt.X11.XWindowPeer
            astore 3 /* to */
        10: .line 71
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        14: .line 83
      StackMap locals:
      StackMap stack:
            aload 2 /* from */
            ifnull 16
        15: .line 84
            aload 2 /* from */
            invokevirtual sun.awt.X11.XWindowPeer.updateSecurityWarningVisibility:()V
        16: .line 86
      StackMap locals:
      StackMap stack:
            aload 3 /* to */
            ifnull 18
        17: .line 87
            aload 3 /* to */
            invokevirtual sun.awt.X11.XWindowPeer.updateSecurityWarningVisibility:()V
        18: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.awt.X11.XWindowPeer to
        end local 2 // sun.awt.X11.XWindowPeer from
        end local 1 // java.awt.Window win
        end local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lsun/awt/X11/XKeyboardFocusManagerPeer;
            0   19     1   win  Ljava/awt/Window;
            3   19     2  from  Lsun/awt/X11/XWindowPeer;
            4   19     3    to  Lsun/awt/X11/XWindowPeer;
      Exception table:
        from    to  target  type
           5    11      12  any
          12    13      12  any
    MethodParameters:
      Name  Flags
      win   

  public java.awt.Window getCurrentFocusedWindow();
    descriptor: ()Ljava/awt/Window;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
         0: .line 93
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 94
            aload 0 /* this */
            getfield sun.awt.X11.XKeyboardFocusManagerPeer.currentFocusedWindow:Ljava/awt/Window;
            aload 1
            monitorexit
         2: areturn
         3: .line 93
      StackMap locals: sun.awt.X11.XKeyboardFocusManagerPeer sun.awt.X11.XKeyboardFocusManagerPeer
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // sun.awt.X11.XKeyboardFocusManagerPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/X11/XKeyboardFocusManagerPeer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public static boolean deliverFocus(java.awt.Component, java.awt.Component, boolean, boolean, long, java.awt.event.FocusEvent$Cause);
    descriptor: (Ljava/awt/Component;Ljava/awt/Component;ZZJLjava/awt/event/FocusEvent$Cause;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // java.awt.Component lightweightChild
        start local 1 // java.awt.Component target
        start local 2 // boolean temporary
        start local 3 // boolean focusedWindowChangeAllowed
        start local 4 // long time
        start local 6 // java.awt.event.FocusEvent$Cause cause
         0: .line 106
            aload 0 /* lightweightChild */
         1: .line 107
            aload 1 /* target */
         2: .line 108
            iload 2 /* temporary */
         3: .line 109
            iload 3 /* focusedWindowChangeAllowed */
         4: .line 110
            lload 4 /* time */
         5: .line 111
            aload 6 /* cause */
         6: .line 112
            invokestatic sun.awt.X11.XKeyboardFocusManagerPeer.getInstance:()Lsun/awt/X11/XKeyboardFocusManagerPeer;
            invokevirtual sun.awt.X11.XKeyboardFocusManagerPeer.getCurrentFocusOwner:()Ljava/awt/Component;
         7: .line 106
            invokestatic sun.awt.KeyboardFocusManagerPeerImpl.deliverFocus:(Ljava/awt/Component;Ljava/awt/Component;ZZJLjava/awt/event/FocusEvent$Cause;Ljava/awt/Component;)Z
            ireturn
        end local 6 // java.awt.event.FocusEvent$Cause cause
        end local 4 // long time
        end local 3 // boolean focusedWindowChangeAllowed
        end local 2 // boolean temporary
        end local 1 // java.awt.Component target
        end local 0 // java.awt.Component lightweightChild
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    8     0            lightweightChild  Ljava/awt/Component;
            0    8     1                      target  Ljava/awt/Component;
            0    8     2                   temporary  Z
            0    8     3  focusedWindowChangeAllowed  Z
            0    8     4                        time  J
            0    8     6                       cause  Ljava/awt/event/FocusEvent$Cause;
    MethodParameters:
                            Name  Flags
      lightweightChild            
      target                      
      temporary                   
      focusedWindowChangeAllowed  
      time                        
      cause                       
}
SourceFile: "XKeyboardFocusManagerPeer.java"
InnerClasses:
  public final Cause = java.awt.event.FocusEvent$Cause of java.awt.event.FocusEvent
  public abstract ComponentAccessor = sun.awt.AWTAccessor$ComponentAccessor of sun.awt.AWTAccessor
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger