abstract class com.apple.eawt._AppEventHandler$_AppEventMultiplexor<L>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.apple.eawt._AppEventHandler$_AppEventMultiplexor
  super_class: java.lang.Object
{
  private final java.util.Map<L, sun.awt.AppContext> listenerToAppContext;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<TL;Lsun/awt/AppContext;>;

  boolean nativeListenerRegistered;
    descriptor: Z
    flags: (0x0000) 

  final com.apple.eawt._AppEventHandler this$0;
    descriptor: Lcom/apple/eawt/_AppEventHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.apple.eawt._AppEventHandler);
    descriptor: (Lcom/apple/eawt/_AppEventHandler;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
         0: .line 417
            aload 0 /* this */
            aload 1
            putfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.this$0:Lcom/apple/eawt/_AppEventHandler;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 418
            aload 0 /* this */
         2: .line 419
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
         3: .line 417
            return
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;
    MethodParameters:
        Name  Flags
      this$0  final

  void dispatch(com.apple.eawt._AppEventHandler$_NativeEvent, java.lang.Object[]);
    descriptor: (Lcom/apple/eawt/_AppEventHandler$_NativeEvent;[Ljava/lang/Object;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
        start local 1 // com.apple.eawt._AppEventHandler$_NativeEvent event
        start local 2 // java.lang.Object[] args
         0: .line 426
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 427
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifne 4
         2: .line 428
            aload 4
            monitorexit
         3: return
         4: .line 430
      StackMap locals: com.apple.eawt._AppEventHandler$_AppEventMultiplexor com.apple.eawt._AppEventHandler$_NativeEvent java.lang.Object[] top com.apple.eawt._AppEventHandler$_AppEventMultiplexor
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* localEntries */
        start local 3 // java.util.ArrayList localEntries
         5: .line 431
            aload 3 /* localEntries */
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 426
            aload 4
            monitorexit
         7: goto 10
        end local 3 // java.util.ArrayList localEntries
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 4
            monitorexit
         9: athrow
        start local 3 // java.util.ArrayList localEntries
        10: .line 434
      StackMap locals: com.apple.eawt._AppEventHandler$_AppEventMultiplexor com.apple.eawt._AppEventHandler$_NativeEvent java.lang.Object[] java.util.ArrayList
      StackMap stack:
            aload 3 /* localEntries */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: com.apple.eawt._AppEventHandler$_AppEventMultiplexor com.apple.eawt._AppEventHandler$_NativeEvent java.lang.Object[] java.util.ArrayList top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* e */
        start local 4 // java.util.Map$Entry e
        12: .line 435
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 6 /* listener */
        start local 6 // java.lang.Object listener
        13: .line 436
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast sun.awt.AppContext
            astore 7 /* listenerContext */
        start local 7 // sun.awt.AppContext listenerContext
        14: .line 437
            aload 7 /* listenerContext */
            new com.apple.eawt._AppEventHandler$_AppEventMultiplexor$1
            dup
            aload 0 /* this */
            aload 6 /* listener */
            aload 1 /* event */
            invokespecial com.apple.eawt._AppEventHandler$_AppEventMultiplexor$1.<init>:(Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor;Ljava/lang/Object;Lcom/apple/eawt/_AppEventHandler$_NativeEvent;)V
            invokestatic sun.awt.SunToolkit.invokeLaterOnAppContext:(Lsun/awt/AppContext;Ljava/lang/Runnable;)V
        end local 7 // sun.awt.AppContext listenerContext
        end local 6 // java.lang.Object listener
        end local 4 // java.util.Map$Entry e
        15: .line 434
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 443
            return
        end local 3 // java.util.ArrayList localEntries
        end local 2 // java.lang.Object[] args
        end local 1 // com.apple.eawt._AppEventHandler$_NativeEvent event
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;
            0   17     1            event  Lcom/apple/eawt/_AppEventHandler$_NativeEvent;
            0   17     2             args  [Ljava/lang/Object;
            5    8     3     localEntries  Ljava/util/ArrayList<Ljava/util/Map$Entry<TL;Lsun/awt/AppContext;>;>;
           10   17     3     localEntries  Ljava/util/ArrayList<Ljava/util/Map$Entry<TL;Lsun/awt/AppContext;>;>;
           12   15     4                e  Ljava/util/Map$Entry<TL;Lsun/awt/AppContext;>;
           13   15     6         listener  TL;
           14   15     7  listenerContext  Lsun/awt/AppContext;
      Exception table:
        from    to  target  type
           1     3       8  any
           4     7       8  any
           8     9       8  any
    MethodParameters:
       Name  Flags
      event  final
      args   final

  synchronized void addListener();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
        start local 1 // java.lang.Object listener
         0: .line 446
            aload 0 /* this */
            aload 1 /* listener */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            invokevirtual com.apple.eawt._AppEventHandler$_AppEventMultiplexor.setListenerContext:(Ljava/lang/Object;Lsun/awt/AppContext;)V
         1: .line 448
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.nativeListenerRegistered:Z
            ifne 4
         2: .line 449
            aload 0 /* this */
            invokevirtual com.apple.eawt._AppEventHandler$_AppEventMultiplexor.registerNativeListener:()V
         3: .line 450
            aload 0 /* this */
            iconst_1
            putfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.nativeListenerRegistered:Z
         4: .line 452
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object listener
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;
            0    5     1  listener  TL;
    Signature: (TL;)V
    MethodParameters:
          Name  Flags
      listener  final

  synchronized void removeListener();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
        start local 1 // java.lang.Object listener
         0: .line 455
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
            aload 1 /* listener */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 456
            return
        end local 1 // java.lang.Object listener
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;
            0    2     1  listener  TL;
    Signature: (TL;)V
    MethodParameters:
          Name  Flags
      listener  final

  abstract void performOnListener(L, com.apple.eawt._AppEventHandler$_NativeEvent);
    descriptor: (Ljava/lang/Object;Lcom/apple/eawt/_AppEventHandler$_NativeEvent;)V
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TL;Lcom/apple/eawt/_AppEventHandler$_NativeEvent;)V
    MethodParameters:
          Name  Flags
      listener  
      event     final

  void registerNativeListener();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
         0: .line 459
            return
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;

  private void setListenerContext(L, sun.awt.AppContext);
    descriptor: (Ljava/lang/Object;Lsun/awt/AppContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
        start local 1 // java.lang.Object listener
        start local 2 // sun.awt.AppContext listenerContext
         0: .line 462
            aload 2 /* listenerContext */
            ifnonnull 4
         1: .line 463
            new java.lang.RuntimeException
            dup
         2: .line 464
            ldc "Attempting to add a listener from a thread group without AppContext"
         3: .line 463
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.apple.eawt._AppEventHandler$_AppEventMultiplexor.listenerToAppContext:Ljava/util/Map;
            aload 1 /* listener */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 467
            return
        end local 2 // sun.awt.AppContext listenerContext
        end local 1 // java.lang.Object listener
        end local 0 // com.apple.eawt._AppEventHandler$_AppEventMultiplexor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/apple/eawt/_AppEventHandler$_AppEventMultiplexor<TL;>;
            0    6     1         listener  TL;
            0    6     2  listenerContext  Lsun/awt/AppContext;
    Signature: (TL;Lsun/awt/AppContext;)V
    MethodParameters:
                 Name  Flags
      listener         
      listenerContext  
}
Signature: <L:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "_AppEventHandler.java"
NestHost: com.apple.eawt._AppEventHandler
InnerClasses:
  abstract _AppEventMultiplexor = com.apple.eawt._AppEventHandler$_AppEventMultiplexor of com.apple.eawt._AppEventHandler
  com.apple.eawt._AppEventHandler$_AppEventMultiplexor$1
  _NativeEvent = com.apple.eawt._AppEventHandler$_NativeEvent of com.apple.eawt._AppEventHandler
  public abstract Entry = java.util.Map$Entry of java.util.Map