public final class com.sun.javafx.event.EventUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.javafx.event.EventUtil
  super_class: java.lang.Object
{
  private static final com.sun.javafx.event.EventDispatchChainImpl eventDispatchChain;
    descriptor: Lcom/sun/javafx/event/EventDispatchChainImpl;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicBoolean eventDispatchChainInUse;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 36
            new com.sun.javafx.event.EventDispatchChainImpl
            dup
            invokespecial com.sun.javafx.event.EventDispatchChainImpl.<init>:()V
         1: .line 35
            putstatic com.sun.javafx.event.EventUtil.eventDispatchChain:Lcom/sun/javafx/event/EventDispatchChainImpl;
         2: .line 39
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
         3: .line 38
            putstatic com.sun.javafx.event.EventUtil.eventDispatchChainInUse:Ljava/util/concurrent/atomic/AtomicBoolean;
         4: .line 39
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.event.EventUtil this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.javafx.event.EventUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/event/EventUtil;

  public static javafx.event.Event fireEvent(javafx.event.EventTarget, javafx.event.Event);
    descriptor: (Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javafx.event.EventTarget eventTarget
        start local 1 // javafx.event.Event event
         0: .line 42
            aload 1 /* event */
            invokevirtual javafx.event.Event.getTarget:()Ljavafx/event/EventTarget;
            aload 0 /* eventTarget */
            if_acmpeq 2
         1: .line 43
            aload 1 /* event */
            aload 1 /* event */
            invokevirtual javafx.event.Event.getSource:()Ljava/lang/Object;
            aload 0 /* eventTarget */
            invokevirtual javafx.event.Event.copyFor:(Ljava/lang/Object;Ljavafx/event/EventTarget;)Ljavafx/event/Event;
            astore 1 /* event */
         2: .line 46
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChainInUse:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
            ifeq 6
         3: .line 49
            new com.sun.javafx.event.EventDispatchChainImpl
            dup
            invokespecial com.sun.javafx.event.EventDispatchChainImpl.<init>:()V
         4: .line 50
            aload 0 /* eventTarget */
            aload 1 /* event */
         5: .line 49
            invokestatic com.sun.javafx.event.EventUtil.fireEventImpl:(Ljavafx/event/EventDispatchChain;Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
            areturn
         6: .line 54
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChain:Lcom/sun/javafx/event/EventDispatchChainImpl;
            aload 0 /* eventTarget */
            aload 1 /* event */
            invokestatic com.sun.javafx.event.EventUtil.fireEventImpl:(Ljavafx/event/EventDispatchChain;Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
            astore 3
         7: .line 58
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChain:Lcom/sun/javafx/event/EventDispatchChainImpl;
            invokevirtual com.sun.javafx.event.EventDispatchChainImpl.reset:()V
         8: .line 59
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChainInUse:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         9: .line 54
            aload 3
            areturn
        10: .line 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        11: .line 58
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChain:Lcom/sun/javafx/event/EventDispatchChainImpl;
            invokevirtual com.sun.javafx.event.EventDispatchChainImpl.reset:()V
        12: .line 59
            getstatic com.sun.javafx.event.EventUtil.eventDispatchChainInUse:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        13: .line 60
            aload 2
            athrow
        end local 1 // javafx.event.Event event
        end local 0 // javafx.event.EventTarget eventTarget
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0  eventTarget  Ljavafx/event/EventTarget;
            0   14     1        event  Ljavafx/event/Event;
      Exception table:
        from    to  target  type
           6     7      10  any
    MethodParameters:
             Name  Flags
      eventTarget  
      event        

  public static javafx.event.Event fireEvent(javafx.event.Event, javafx.event.EventTarget[]);
    descriptor: (Ljavafx/event/Event;[Ljavafx/event/EventTarget;)Ljavafx/event/Event;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.event.Event event
        start local 1 // javafx.event.EventTarget[] eventTargets
         0: .line 64
            new com.sun.javafx.event.EventDispatchTreeImpl
            dup
            invokespecial com.sun.javafx.event.EventDispatchTreeImpl.<init>:()V
         1: .line 65
            new com.sun.javafx.event.CompositeEventTargetImpl
            dup
            aload 1 /* eventTargets */
            invokespecial com.sun.javafx.event.CompositeEventTargetImpl.<init>:([Ljavafx/event/EventTarget;)V
         2: .line 66
            aload 0 /* event */
         3: .line 64
            invokestatic com.sun.javafx.event.EventUtil.fireEventImpl:(Ljavafx/event/EventDispatchChain;Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
            areturn
        end local 1 // javafx.event.EventTarget[] eventTargets
        end local 0 // javafx.event.Event event
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0         event  Ljavafx/event/Event;
            0    4     1  eventTargets  [Ljavafx/event/EventTarget;
    MethodParameters:
              Name  Flags
      event         
      eventTargets  

  private static javafx.event.Event fireEventImpl(javafx.event.EventDispatchChain, javafx.event.EventTarget, javafx.event.Event);
    descriptor: (Ljavafx/event/EventDispatchChain;Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // javafx.event.EventDispatchChain eventDispatchChain
        start local 1 // javafx.event.EventTarget eventTarget
        start local 2 // javafx.event.Event event
         0: .line 73
            aload 1 /* eventTarget */
            aload 0 /* eventDispatchChain */
            invokeinterface javafx.event.EventTarget.buildEventDispatchChain:(Ljavafx/event/EventDispatchChain;)Ljavafx/event/EventDispatchChain;
         1: .line 72
            astore 3 /* targetDispatchChain */
        start local 3 // javafx.event.EventDispatchChain targetDispatchChain
         2: .line 74
            aload 3 /* targetDispatchChain */
            aload 2 /* event */
            invokeinterface javafx.event.EventDispatchChain.dispatchEvent:(Ljavafx/event/Event;)Ljavafx/event/Event;
            areturn
        end local 3 // javafx.event.EventDispatchChain targetDispatchChain
        end local 2 // javafx.event.Event event
        end local 1 // javafx.event.EventTarget eventTarget
        end local 0 // javafx.event.EventDispatchChain eventDispatchChain
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0   eventDispatchChain  Ljavafx/event/EventDispatchChain;
            0    3     1          eventTarget  Ljavafx/event/EventTarget;
            0    3     2                event  Ljavafx/event/Event;
            2    3     3  targetDispatchChain  Ljavafx/event/EventDispatchChain;
    MethodParameters:
                    Name  Flags
      eventDispatchChain  
      eventTarget         
      event               
}
SourceFile: "EventUtil.java"