class javafx.stage.PopupWindow$PopupEventRedirector extends com.sun.javafx.event.EventRedirector
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.stage.PopupWindow$PopupEventRedirector
  super_class: com.sun.javafx.event.EventRedirector
{
  private static final javafx.scene.input.KeyCombination ESCAPE_KEY_COMBINATION;
    descriptor: Ljavafx/scene/input/KeyCombination;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final javafx.stage.PopupWindow popupWindow;
    descriptor: Ljavafx/stage/PopupWindow;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 961
            ldc "Esc"
            invokestatic javafx.scene.input.KeyCombination.keyCombination:(Ljava/lang/String;)Ljavafx/scene/input/KeyCombination;
         1: .line 960
            putstatic javafx.stage.PopupWindow$PopupEventRedirector.ESCAPE_KEY_COMBINATION:Ljavafx/scene/input/KeyCombination;
         2: .line 961
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javafx.stage.PopupWindow);
    descriptor: (Ljavafx/stage/PopupWindow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // javafx.stage.PopupWindow popupWindow
         0: .line 965
            aload 0 /* this */
            aload 1 /* popupWindow */
            invokespecial com.sun.javafx.event.EventRedirector.<init>:(Ljava/lang/Object;)V
         1: .line 966
            aload 0 /* this */
            aload 1 /* popupWindow */
            putfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
         2: .line 967
            return
        end local 1 // javafx.stage.PopupWindow popupWindow
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0    3     1  popupWindow  Ljavafx/stage/PopupWindow;
    MethodParameters:
             Name  Flags
      popupWindow  final

  protected void handleRedirectedEvent(java.lang.Object, javafx.event.Event);
    descriptor: (Ljava/lang/Object;Ljavafx/event/Event;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // java.lang.Object eventSource
        start local 2 // javafx.event.Event event
         0: .line 972
            aload 2 /* event */
            instanceof javafx.scene.input.KeyEvent
            ifeq 3
         1: .line 973
            aload 0 /* this */
            aload 2 /* event */
            checkcast javafx.scene.input.KeyEvent
            invokevirtual javafx.stage.PopupWindow$PopupEventRedirector.handleKeyEvent:(Ljavafx/scene/input/KeyEvent;)V
         2: .line 974
            return
         3: .line 977
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokevirtual javafx.event.Event.getEventType:()Ljavafx/event/EventType;
            astore 3 /* eventType */
        start local 3 // javafx.event.EventType eventType
         4: .line 979
            aload 3 /* eventType */
            getstatic javafx.scene.input.MouseEvent.MOUSE_PRESSED:Ljavafx/event/EventType;
            if_acmpeq 6
         5: .line 980
            aload 3 /* eventType */
            getstatic javafx.scene.input.ScrollEvent.SCROLL:Ljavafx/event/EventType;
            if_acmpne 8
         6: .line 981
      StackMap locals: javafx.event.EventType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* eventSource */
            aload 2 /* event */
            invokevirtual javafx.stage.PopupWindow$PopupEventRedirector.handleAutoHidingEvents:(Ljava/lang/Object;Ljavafx/event/Event;)V
         7: .line 982
            return
         8: .line 985
      StackMap locals:
      StackMap stack:
            aload 3 /* eventType */
            getstatic com.sun.javafx.stage.FocusUngrabEvent.FOCUS_UNGRAB:Ljavafx/event/EventType;
            if_acmpne 11
         9: .line 986
            aload 0 /* this */
            invokevirtual javafx.stage.PopupWindow$PopupEventRedirector.handleFocusUngrabEvent:()V
        10: .line 987
            return
        11: .line 989
      StackMap locals:
      StackMap stack:
            return
        end local 3 // javafx.event.EventType eventType
        end local 2 // javafx.event.Event event
        end local 1 // java.lang.Object eventSource
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0   12     1  eventSource  Ljava/lang/Object;
            0   12     2        event  Ljavafx/event/Event;
            4   12     3    eventType  Ljavafx/event/EventType<*>;
    MethodParameters:
             Name  Flags
      eventSource  final
      event        final

  private void handleKeyEvent(javafx.scene.input.KeyEvent);
    descriptor: (Ljavafx/scene/input/KeyEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // javafx.scene.input.KeyEvent event
         0: .line 992
            aload 1 /* event */
            invokevirtual javafx.scene.input.KeyEvent.isConsumed:()Z
            ifeq 2
         1: .line 993
            return
         2: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.getScene:()Ljavafx/scene/Scene;
            astore 2 /* scene */
        start local 2 // javafx.scene.Scene scene
         3: .line 997
            aload 2 /* scene */
            ifnull 11
         4: .line 998
            aload 2 /* scene */
            invokevirtual javafx.scene.Scene.getFocusOwner:()Ljavafx/scene/Node;
            astore 3 /* sceneFocusOwner */
        start local 3 // javafx.scene.Node sceneFocusOwner
         5: .line 1000
            aload 3 /* sceneFocusOwner */
            ifnull 6
            aload 3 /* sceneFocusOwner */
            goto 7
      StackMap locals: javafx.scene.Scene javafx.scene.Node
      StackMap stack:
         6: aload 2 /* scene */
         7: .line 999
      StackMap locals:
      StackMap stack: javafx.event.EventTarget
            astore 4 /* eventTarget */
        start local 4 // javafx.event.EventTarget eventTarget
         8: .line 1001
            aload 4 /* eventTarget */
            new com.sun.javafx.event.DirectEvent
            dup
            aload 1 /* event */
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            aload 4 /* eventTarget */
            invokevirtual javafx.scene.input.KeyEvent.copyFor:(Ljava/lang/Object;Ljavafx/event/EventTarget;)Ljavafx/scene/input/KeyEvent;
            invokespecial com.sun.javafx.event.DirectEvent.<init>:(Ljavafx/event/Event;)V
            invokestatic com.sun.javafx.event.EventUtil.fireEvent:(Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
            ifnonnull 11
         9: .line 1003
            aload 1 /* event */
            invokevirtual javafx.scene.input.KeyEvent.consume:()V
        10: .line 1004
            return
        end local 4 // javafx.event.EventTarget eventTarget
        end local 3 // javafx.scene.Node sceneFocusOwner
        11: .line 1008
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual javafx.scene.input.KeyEvent.getEventType:()Ljavafx/event/EventType;
            getstatic javafx.scene.input.KeyEvent.KEY_PRESSED:Ljavafx/event/EventType;
            if_acmpne 14
        12: .line 1009
            getstatic javafx.stage.PopupWindow$PopupEventRedirector.ESCAPE_KEY_COMBINATION:Ljavafx/scene/input/KeyCombination;
            aload 1 /* event */
            invokevirtual javafx.scene.input.KeyCombination.match:(Ljavafx/scene/input/KeyEvent;)Z
            ifeq 14
        13: .line 1010
            aload 0 /* this */
            aload 1 /* event */
            invokevirtual javafx.stage.PopupWindow$PopupEventRedirector.handleEscapeKeyPressedEvent:(Ljavafx/event/Event;)V
        14: .line 1012
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javafx.scene.Scene scene
        end local 1 // javafx.scene.input.KeyEvent event
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0   15     1            event  Ljavafx/scene/input/KeyEvent;
            3   15     2            scene  Ljavafx/scene/Scene;
            5   11     3  sceneFocusOwner  Ljavafx/scene/Node;
            8   11     4      eventTarget  Ljavafx/event/EventTarget;
    MethodParameters:
       Name  Flags
      event  final

  private void handleEscapeKeyPressedEvent(javafx.event.Event);
    descriptor: (Ljavafx/event/Event;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // javafx.event.Event event
         0: .line 1015
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.isHideOnEscape:()Z
            ifeq 4
         1: .line 1016
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.doAutoHide:()V
         2: .line 1018
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.getConsumeAutoHidingEvents:()Z
            ifeq 4
         3: .line 1019
            aload 1 /* event */
            invokevirtual javafx.event.Event.consume:()V
         4: .line 1022
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.event.Event event
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0    5     1  event  Ljavafx/event/Event;
    MethodParameters:
       Name  Flags
      event  final

  private void handleAutoHidingEvents(java.lang.Object, javafx.event.Event);
    descriptor: (Ljava/lang/Object;Ljavafx/event/Event;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // java.lang.Object eventSource
        start local 2 // javafx.event.Event event
         0: .line 1030
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.getOwnerWindow:()Ljavafx/stage/Window;
            aload 1 /* eventSource */
            if_acmpeq 2
         1: .line 1031
            return
         2: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.isAutoHide:()Z
            ifeq 7
            aload 0 /* this */
            aload 2 /* event */
            invokevirtual javafx.stage.PopupWindow$PopupEventRedirector.isOwnerNodeEvent:(Ljavafx/event/Event;)Z
            ifne 7
         3: .line 1037
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            new com.sun.javafx.stage.FocusUngrabEvent
            dup
            invokespecial com.sun.javafx.stage.FocusUngrabEvent.<init>:()V
            invokestatic javafx.event.Event.fireEvent:(Ljavafx/event/EventTarget;Ljavafx/event/Event;)V
         4: .line 1039
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.doAutoHide:()V
         5: .line 1041
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.getConsumeAutoHidingEvents:()Z
            ifeq 7
         6: .line 1042
            aload 2 /* event */
            invokevirtual javafx.event.Event.consume:()V
         7: .line 1045
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javafx.event.Event event
        end local 1 // java.lang.Object eventSource
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0    8     1  eventSource  Ljava/lang/Object;
            0    8     2        event  Ljavafx/event/Event;
    MethodParameters:
             Name  Flags
      eventSource  final
      event        final

  private void handleFocusUngrabEvent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
         0: .line 1048
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.isAutoHide:()Z
            ifeq 2
         1: .line 1049
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.doAutoHide:()V
         2: .line 1051
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavafx/stage/PopupWindow$PopupEventRedirector;

  private boolean isOwnerNodeEvent(javafx.event.Event);
    descriptor: (Ljavafx/event/Event;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
        start local 1 // javafx.event.Event event
         0: .line 1054
            aload 0 /* this */
            getfield javafx.stage.PopupWindow$PopupEventRedirector.popupWindow:Ljavafx/stage/PopupWindow;
            invokevirtual javafx.stage.PopupWindow.getOwnerNode:()Ljavafx/scene/Node;
            astore 2 /* ownerNode */
        start local 2 // javafx.scene.Node ownerNode
         1: .line 1055
            aload 2 /* ownerNode */
            ifnonnull 3
         2: .line 1056
            iconst_0
            ireturn
         3: .line 1059
      StackMap locals: javafx.scene.Node
      StackMap stack:
            aload 1 /* event */
            invokevirtual javafx.event.Event.getTarget:()Ljavafx/event/EventTarget;
            astore 3 /* eventTarget */
        start local 3 // javafx.event.EventTarget eventTarget
         4: .line 1060
            aload 3 /* eventTarget */
            instanceof javafx.scene.Node
            ifne 6
         5: .line 1061
            iconst_0
            ireturn
         6: .line 1064
      StackMap locals: javafx.event.EventTarget
      StackMap stack:
            aload 3 /* eventTarget */
            checkcast javafx.scene.Node
            astore 4 /* node */
        start local 4 // javafx.scene.Node node
         7: .line 1066
      StackMap locals: javafx.scene.Node
      StackMap stack:
            aload 4 /* node */
            aload 2 /* ownerNode */
            if_acmpne 9
         8: .line 1067
            iconst_1
            ireturn
         9: .line 1069
      StackMap locals:
      StackMap stack:
            aload 4 /* node */
            invokevirtual javafx.scene.Node.getParent:()Ljavafx/scene/Parent;
            astore 4 /* node */
        10: .line 1070
            aload 4 /* node */
            ifnonnull 7
        11: .line 1072
            iconst_0
            ireturn
        end local 4 // javafx.scene.Node node
        end local 3 // javafx.event.EventTarget eventTarget
        end local 2 // javafx.scene.Node ownerNode
        end local 1 // javafx.event.Event event
        end local 0 // javafx.stage.PopupWindow$PopupEventRedirector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Ljavafx/stage/PopupWindow$PopupEventRedirector;
            0   12     1        event  Ljavafx/event/Event;
            1   12     2    ownerNode  Ljavafx/scene/Node;
            4   12     3  eventTarget  Ljavafx/event/EventTarget;
            7   12     4         node  Ljavafx/scene/Node;
    MethodParameters:
       Name  Flags
      event  final
}
SourceFile: "PopupWindow.java"
NestHost: javafx.stage.PopupWindow
InnerClasses:
  PopupEventRedirector = javafx.stage.PopupWindow$PopupEventRedirector of javafx.stage.PopupWindow