public final class sun.awt.AppContext
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.awt.AppContext
  super_class: java.lang.Object
{
  private static final sun.util.logging.PlatformLogger log;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.Object EVENT_QUEUE_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Object EVENT_QUEUE_LOCK_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Object EVENT_QUEUE_COND_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.ThreadGroup, sun.awt.AppContext> threadGroup2appContext;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/ThreadGroup;Lsun/awt/AppContext;>;

  private static volatile sun.awt.AppContext mainAppContext;
    descriptor: Lsun/awt/AppContext;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final java.lang.Object getAppContextLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<java.lang.Object, java.lang.Object> table;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;

  private final java.lang.ThreadGroup threadGroup;
    descriptor: Ljava/lang/ThreadGroup;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.beans.PropertyChangeSupport changeSupport;
    descriptor: Ljava/beans/PropertyChangeSupport;
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.String DISPOSED_PROPERTY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "disposed"

  public static final java.lang.String GUI_DISPOSED;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "guidisposed"

  private volatile sun.awt.AppContext$State state;
    descriptor: Lsun/awt/AppContext$State;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private final java.lang.ClassLoader contextClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.ThreadLocal<sun.awt.AppContext> threadAppContext;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lsun/awt/AppContext;>;

  private long DISPOSAL_TIMEOUT;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long THREAD_INTERRUPT_TIMEOUT;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.MostRecentKeyValue mostRecentKeyValue;
    descriptor: Lsun/awt/MostRecentKeyValue;
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.MostRecentKeyValue shadowMostRecentKeyValue;
    descriptor: Lsun/awt/MostRecentKeyValue;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 136
            ldc "sun.awt.AppContext"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic sun.awt.AppContext.log:Lsun/util/logging/PlatformLogger;
         1: .line 144
            new java.lang.StringBuffer
            dup
            ldc "EventQueue"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            putstatic sun.awt.AppContext.EVENT_QUEUE_KEY:Ljava/lang/Object;
         2: .line 149
            new java.lang.StringBuilder
            dup
            ldc "EventQueue.Lock"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            putstatic sun.awt.AppContext.EVENT_QUEUE_LOCK_KEY:Ljava/lang/Object;
         3: .line 150
            new java.lang.StringBuilder
            dup
            ldc "EventQueue.Condition"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            putstatic sun.awt.AppContext.EVENT_QUEUE_COND_KEY:Ljava/lang/Object;
         4: .line 155
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
         5: .line 154
            putstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
         6: .line 170
            aconst_null
            putstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
         7: .line 173
            new sun.awt.AppContext$GetAppContextLock
            dup
            invokespecial sun.awt.AppContext$GetAppContextLock.<init>:()V
            putstatic sun.awt.AppContext.getAppContextLock:Ljava/lang/Object;
         8: .line 217
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
         9: .line 260
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
        10: .line 259
            putstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
        11: .line 838
            new sun.awt.AppContext$1
            dup
            invokespecial sun.awt.AppContext$1.<init>:()V
            invokestatic sun.misc.SharedSecrets.setJavaAWTAccess:(Lsun/misc/JavaAWTAccess;)V
        12: .line 901
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Set<sun.awt.AppContext> getAppContexts();
    descriptor: ()Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 161
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            dup
            astore 0
            monitorenter
         1: .line 162
            new java.util.HashSet
            dup
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            aload 0
            monitorexit
         2: areturn
         3: .line 161
      StackMap locals: java.util.Map
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         4: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Signature: ()Ljava/util/Set<Lsun/awt/AppContext;>;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 207
            aload 0 /* this */
            getfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
            getstatic sun.awt.AppContext$State.DISPOSED:Lsun/awt/AppContext$State;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/AppContext;

  void <init>(java.lang.ThreadGroup);
    descriptor: (Ljava/lang/ThreadGroup;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.ThreadGroup threadGroup
         0: .line 238
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 181
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.awt.AppContext.table:Ljava/util/Map;
         2: .line 193
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
         3: .line 204
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.VALID:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
         4: .line 394
            aload 0 /* this */
            ldc 5000
            putfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
         5: .line 400
            aload 0 /* this */
            ldc 1000
            putfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
         6: .line 619
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         7: .line 620
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         8: .line 239
            getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         9: .line 241
            aload 0 /* this */
            aload 1 /* threadGroup */
            putfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
        10: .line 242
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            aload 1 /* threadGroup */
            aload 0 /* this */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 244
            aload 0 /* this */
        12: .line 245
            new sun.awt.AppContext$2
            dup
            aload 0 /* this */
            invokespecial sun.awt.AppContext$2.<init>:(Lsun/awt/AppContext;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
        13: .line 244
            putfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
        14: .line 253
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            astore 2 /* eventQueuePushPopLock */
        start local 2 // java.util.concurrent.locks.Lock eventQueuePushPopLock
        15: .line 254
            aload 0 /* this */
            getstatic sun.awt.AppContext.EVENT_QUEUE_LOCK_KEY:Ljava/lang/Object;
            aload 2 /* eventQueuePushPopLock */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 255
            aload 2 /* eventQueuePushPopLock */
            invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
            astore 3 /* eventQueuePushPopCond */
        start local 3 // java.util.concurrent.locks.Condition eventQueuePushPopCond
        17: .line 256
            aload 0 /* this */
            getstatic sun.awt.AppContext.EVENT_QUEUE_COND_KEY:Ljava/lang/Object;
            aload 3 /* eventQueuePushPopCond */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 257
            return
        end local 3 // java.util.concurrent.locks.Condition eventQueuePushPopCond
        end local 2 // java.util.concurrent.locks.Lock eventQueuePushPopLock
        end local 1 // java.lang.ThreadGroup threadGroup
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                   this  Lsun/awt/AppContext;
            0   19     1            threadGroup  Ljava/lang/ThreadGroup;
           15   19     2  eventQueuePushPopLock  Ljava/util/concurrent/locks/Lock;
           17   19     3  eventQueuePushPopCond  Ljava/util/concurrent/locks/Condition;
    MethodParameters:
             Name  Flags
      threadGroup  

  private static final void initMainAppContext();
    descriptor: ()V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=0, args_size=0
         0: .line 266
            new sun.awt.AppContext$3
            dup
            invokespecial sun.awt.AppContext$3.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 281
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static final sun.awt.AppContext getAppContext();
    descriptor: ()Lsun/awt/AppContext;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=0
         0: .line 296
            getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            iconst_1
            if_icmpne 2
            getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
            ifnull 2
         1: .line 297
            getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
            areturn
         2: .line 300
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast sun.awt.AppContext
            astore 0 /* appContext */
        start local 0 // sun.awt.AppContext appContext
         3: .line 302
            aload 0 /* appContext */
            ifnonnull 5
         4: .line 303
            new sun.awt.AppContext$4
            dup
            invokespecial sun.awt.AppContext$4.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.awt.AppContext
            astore 0 /* appContext */
         5: .line 368
      StackMap locals: sun.awt.AppContext
      StackMap stack:
            aload 0 /* appContext */
            areturn
        end local 0 // sun.awt.AppContext appContext
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            3    6     0  appContext  Lsun/awt/AppContext;

  public static final boolean isMainContext(sun.awt.AppContext);
    descriptor: (Lsun/awt/AppContext;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.AppContext ctx
         0: .line 379
            aload 0 /* ctx */
            ifnull 1
            aload 0 /* ctx */
            getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.awt.AppContext ctx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   ctx  Lsun/awt/AppContext;
    MethodParameters:
      Name  Flags
      ctx   

  private static final sun.awt.AppContext getExecutionAppContext();
    descriptor: ()Lsun/awt/AppContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=3, args_size=0
         0: .line 383
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* securityManager */
        start local 0 // java.lang.SecurityManager securityManager
         1: .line 384
            aload 0 /* securityManager */
            ifnull 6
         2: .line 385
            aload 0 /* securityManager */
            instanceof sun.awt.AWTSecurityManager
            ifeq 6
         3: .line 387
            aload 0 /* securityManager */
            checkcast sun.awt.AWTSecurityManager
            astore 1 /* awtSecMgr */
        start local 1 // sun.awt.AWTSecurityManager awtSecMgr
         4: .line 388
            aload 1 /* awtSecMgr */
            invokevirtual sun.awt.AWTSecurityManager.getAppContext:()Lsun/awt/AppContext;
            astore 2 /* secAppContext */
        start local 2 // sun.awt.AppContext secAppContext
         5: .line 389
            aload 2 /* secAppContext */
            areturn
        end local 2 // sun.awt.AppContext secAppContext
        end local 1 // sun.awt.AWTSecurityManager awtSecMgr
         6: .line 391
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.SecurityManager securityManager
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1    7     0  securityManager  Ljava/lang/SecurityManager;
            4    6     1        awtSecMgr  Lsun/awt/AWTSecurityManager;
            5    6     2    secAppContext  Lsun/awt/AppContext;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 418
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getThreadGroup:()Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.parentOf:(Ljava/lang/ThreadGroup;)Z
            ifeq 4
         1: .line 419
            new java.lang.IllegalThreadStateException
            dup
         2: .line 420
            ldc "Current Thread is contained within AppContext to be disposed."
         3: .line 419
            invokespecial java.lang.IllegalThreadStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         5: .line 425
            aload 0 /* this */
            getfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
            getstatic sun.awt.AppContext$State.VALID:Lsun/awt/AppContext$State;
            if_acmpeq 8
         6: .line 426
            aload 1
            monitorexit
         7: return
         8: .line 429
      StackMap locals: sun.awt.AppContext
      StackMap stack:
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.BEING_DISPOSED:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
         9: .line 424
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            astore 1 /* changeSupport */
        start local 1 // java.beans.PropertyChangeSupport changeSupport
        14: .line 433
            aload 1 /* changeSupport */
            ifnull 16
        15: .line 434
            aload 1 /* changeSupport */
            ldc "disposed"
            iconst_0
            iconst_1
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;ZZ)V
        16: .line 440
      StackMap locals: java.beans.PropertyChangeSupport
      StackMap stack:
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 2 /* notificationLock */
        start local 2 // java.lang.Object notificationLock
        17: .line 442
            new sun.awt.AppContext$5
            dup
            aload 0 /* this */
            aload 1 /* changeSupport */
            aload 2 /* notificationLock */
            invokespecial sun.awt.AppContext$5.<init>:(Lsun/awt/AppContext;Ljava/beans/PropertyChangeSupport;Ljava/lang/Object;)V
            astore 3 /* runnable */
        start local 3 // java.lang.Runnable runnable
        18: .line 474
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        19: .line 475
            aload 0 /* this */
        20: .line 476
            new java.awt.event.InvocationEvent
            dup
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            aload 3 /* runnable */
            invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
        21: .line 475
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        22: .line 478
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        23: .line 479
            goto 25
      StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable java.lang.Object
      StackMap stack: java.lang.InterruptedException
        24: pop
        25: .line 474
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        26: goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: aload 4
            monitorexit
        28: athrow
        29: .line 486
      StackMap locals:
      StackMap stack:
            new sun.awt.AppContext$6
            dup
            aload 0 /* this */
            aload 2 /* notificationLock */
            invokespecial sun.awt.AppContext$6.<init>:(Lsun/awt/AppContext;Ljava/lang/Object;)V
            astore 3 /* runnable */
        30: .line 491
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        31: .line 492
            aload 0 /* this */
        32: .line 493
            new java.awt.event.InvocationEvent
            dup
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            aload 3 /* runnable */
            invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;)V
        33: .line 492
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        34: .line 495
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        35: .line 496
            goto 37
      StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable java.lang.Object
      StackMap stack: java.lang.InterruptedException
        36: pop
        37: .line 491
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        38: goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: aload 4
            monitorexit
        40: athrow
        41: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        42: .line 501
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.DISPOSED:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
        43: .line 500
            aload 4
            monitorexit
        44: goto 47
      StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable sun.awt.AppContext
      StackMap stack: java.lang.Throwable
        45: aload 4
            monitorexit
        46: athrow
        47: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.interrupt:()V
        48: .line 513
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        start local 4 // long startTime
        49: .line 514
            lload 4 /* startTime */
            aload 0 /* this */
            getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
            ladd
            lstore 6 /* endTime */
        start local 6 // long endTime
        50: .line 515
            goto 54
        51: .line 518
      StackMap locals: long long
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        52: .line 519
            goto 54
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        53: pop
        54: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.activeCount:()I
            ifle 57
        55: .line 516
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        56: .line 515
            lcmp
            iflt 51
        57: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.stop:()V
        58: .line 528
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        59: .line 529
            lload 4 /* startTime */
            aload 0 /* this */
            getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
            ladd
            lstore 6 /* endTime */
        60: .line 530
            goto 64
        61: .line 533
      StackMap locals:
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        62: .line 534
            goto 64
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        63: pop
        64: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.activeCount:()I
            ifle 67
        65: .line 531
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        66: .line 530
            lcmp
            iflt 61
        67: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.activeGroupCount:()I
            istore 8 /* numSubGroups */
        start local 8 // int numSubGroups
        68: .line 539
            iload 8 /* numSubGroups */
            ifle 76
        69: .line 540
            iload 8 /* numSubGroups */
            anewarray java.lang.ThreadGroup
            astore 9 /* subGroups */
        start local 9 // java.lang.ThreadGroup[] subGroups
        70: .line 541
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            aload 9 /* subGroups */
            invokevirtual java.lang.ThreadGroup.enumerate:([Ljava/lang/ThreadGroup;)I
            istore 8 /* numSubGroups */
        71: .line 542
            iconst_0
            istore 10 /* subGroup */
        start local 10 // int subGroup
        72: goto 75
        73: .line 543
      StackMap locals: int java.lang.ThreadGroup[] int
      StackMap stack:
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            aload 9 /* subGroups */
            iload 10 /* subGroup */
            aaload
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        74: .line 542
            iinc 10 /* subGroup */ 1
      StackMap locals:
      StackMap stack:
        75: iload 10 /* subGroup */
            iload 8 /* numSubGroups */
            if_icmplt 73
        end local 10 // int subGroup
        end local 9 // java.lang.ThreadGroup[] subGroups
        76: .line 546
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        77: .line 548
            getstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        78: .line 552
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.destroy:()V
        79: .line 553
            goto 81
      StackMap locals:
      StackMap stack: java.lang.IllegalThreadStateException
        80: pop
        81: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        82: .line 558
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        83: .line 557
            aload 9
            monitorexit
        84: goto 87
      StackMap locals: sun.awt.AppContext java.beans.PropertyChangeSupport java.lang.Object java.lang.Runnable long long int java.util.Map
      StackMap stack: java.lang.Throwable
        85: aload 9
            monitorexit
        86: athrow
        87: .line 561
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
        88: .line 563
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        89: .line 564
            return
        end local 8 // int numSubGroups
        end local 6 // long endTime
        end local 4 // long startTime
        end local 3 // java.lang.Runnable runnable
        end local 2 // java.lang.Object notificationLock
        end local 1 // java.beans.PropertyChangeSupport changeSupport
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   90     0              this  Lsun/awt/AppContext;
           14   90     1     changeSupport  Ljava/beans/PropertyChangeSupport;
           17   90     2  notificationLock  Ljava/lang/Object;
           18   90     3          runnable  Ljava/lang/Runnable;
           49   90     4         startTime  J
           50   90     6           endTime  J
           68   90     8      numSubGroups  I
           70   76     9         subGroups  [Ljava/lang/ThreadGroup;
           72   76    10          subGroup  I
      Exception table:
        from    to  target  type
           5     7      11  any
           8    10      11  any
          11    12      11  any
          22    23      24  Class java.lang.InterruptedException
          19    26      27  any
          27    28      27  any
          34    35      36  Class java.lang.InterruptedException
          31    38      39  any
          39    40      39  any
          42    44      45  any
          45    46      45  any
          51    52      53  Class java.lang.InterruptedException
          61    62      63  Class java.lang.InterruptedException
          78    79      80  Class java.lang.IllegalThreadStateException
          82    84      85  any
          85    86      85  any
    Exceptions:
      throws java.lang.IllegalThreadStateException

  static void stopEventDispatchThreads();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=0
         0: .line 600
            invokestatic sun.awt.AppContext.getAppContexts:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1
            goto 11
      StackMap locals: top java.util.Iterator
      StackMap stack:
         1: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.awt.AppContext
            astore 0 /* appContext */
        start local 0 // sun.awt.AppContext appContext
         2: .line 601
            aload 0 /* appContext */
            invokevirtual sun.awt.AppContext.isDisposed:()Z
            ifeq 4
         3: .line 602
            goto 11
         4: .line 604
      StackMap locals: sun.awt.AppContext java.util.Iterator
      StackMap stack:
            new sun.awt.AppContext$PostShutdownEventRunnable
            dup
            aload 0 /* appContext */
            invokespecial sun.awt.AppContext$PostShutdownEventRunnable.<init>:(Lsun/awt/AppContext;)V
            astore 2 /* r */
        start local 2 // java.lang.Runnable r
         5: .line 607
            aload 0 /* appContext */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            if_acmpeq 10
         6: .line 610
            new sun.awt.AppContext$CreateThreadAction
            dup
            aload 0 /* appContext */
            aload 2 /* r */
            invokespecial sun.awt.AppContext$CreateThreadAction.<init>:(Lsun/awt/AppContext;Ljava/lang/Runnable;)V
            astore 3 /* action */
        start local 3 // java.security.PrivilegedAction action
         7: .line 611
            aload 3 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 4 /* thread */
        start local 4 // java.lang.Thread thread
         8: .line 612
            aload 4 /* thread */
            invokevirtual java.lang.Thread.start:()V
        end local 4 // java.lang.Thread thread
        end local 3 // java.security.PrivilegedAction action
         9: .line 613
            goto 11
        10: .line 614
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 2 /* r */
            invokeinterface java.lang.Runnable.run:()V
        end local 2 // java.lang.Runnable r
        end local 0 // sun.awt.AppContext appContext
        11: .line 600
      StackMap locals: top java.util.Iterator
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 617
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            2   11     0  appContext  Lsun/awt/AppContext;
            5   11     2           r  Ljava/lang/Runnable;
            7    9     3      action  Ljava/security/PrivilegedAction<Ljava/lang/Thread;>;
            8    9     4      thread  Ljava/lang/Thread;

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.Object key
         0: .line 637
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 644
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 645
            aload 3 /* recent */
            ifnull 5
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 5
         3: .line 646
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
            aload 2
            monitorexit
         4: areturn
         5: .line 649
      StackMap locals: java.util.Map sun.awt.MostRecentKeyValue
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: .line 650
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            ifnonnull 10
         7: .line 651
            aload 0 /* this */
            new sun.awt.MostRecentKeyValue
            dup
            aload 1 /* key */
            aload 4 /* value */
            invokespecial sun.awt.MostRecentKeyValue.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         8: .line 652
            aload 0 /* this */
            new sun.awt.MostRecentKeyValue
            dup
            aload 1 /* key */
            aload 4 /* value */
            invokespecial sun.awt.MostRecentKeyValue.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         9: .line 653
            goto 14
        10: .line 654
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 5 /* auxKeyValue */
        start local 5 // sun.awt.MostRecentKeyValue auxKeyValue
        11: .line 655
            aload 0 /* this */
            getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            aload 1 /* key */
            aload 4 /* value */
            invokevirtual sun.awt.MostRecentKeyValue.setPair:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 656
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        13: .line 657
            aload 0 /* this */
            aload 5 /* auxKeyValue */
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        end local 5 // sun.awt.MostRecentKeyValue auxKeyValue
        14: .line 659
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            aload 2
            monitorexit
        15: areturn
        end local 4 // java.lang.Object value
        end local 3 // sun.awt.MostRecentKeyValue recent
        16: .line 637
      StackMap locals: sun.awt.AppContext java.lang.Object java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        17: athrow
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lsun/awt/AppContext;
            0   18     1          key  Ljava/lang/Object;
            2   16     3       recent  Lsun/awt/MostRecentKeyValue;
            6   16     4        value  Ljava/lang/Object;
           11   14     5  auxKeyValue  Lsun/awt/MostRecentKeyValue;
      Exception table:
        from    to  target  type
           1     4      16  any
           5    15      16  any
          16    17      16  any
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 681
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 682
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 4 /* recent */
        start local 4 // sun.awt.MostRecentKeyValue recent
         2: .line 683
            aload 4 /* recent */
            ifnull 4
            aload 4 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 684
            aload 4 /* recent */
            aload 2 /* value */
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 685
      StackMap locals: java.util.Map sun.awt.MostRecentKeyValue
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            aload 3
            monitorexit
         5: areturn
        end local 4 // sun.awt.MostRecentKeyValue recent
         6: .line 681
      StackMap locals: sun.awt.AppContext java.lang.Object java.lang.Object java.util.Map
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         7: athrow
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/awt/AppContext;
            0    8     1     key  Ljava/lang/Object;
            0    8     2   value  Ljava/lang/Object;
            2    6     4  recent  Lsun/awt/MostRecentKeyValue;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.Object key
         0: .line 700
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 701
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 702
            aload 3 /* recent */
            ifnull 4
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 703
            aload 3 /* recent */
            aconst_null
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 704
      StackMap locals: java.util.Map sun.awt.MostRecentKeyValue
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 2
            monitorexit
         5: areturn
        end local 3 // sun.awt.MostRecentKeyValue recent
         6: .line 700
      StackMap locals: sun.awt.AppContext java.lang.Object java.util.Map
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/awt/AppContext;
            0    8     1     key  Ljava/lang/Object;
            2    6     3  recent  Lsun/awt/MostRecentKeyValue;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      key   

  public java.lang.ThreadGroup getThreadGroup();
    descriptor: ()Ljava/lang/ThreadGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 714
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            areturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/AppContext;

  public java.lang.ClassLoader getContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 724
            aload 0 /* this */
            getfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/AppContext;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 733
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "[threadGroup="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/AppContext;

  public synchronized java.beans.PropertyChangeListener[] getPropertyChangeListeners();
    descriptor: ()[Ljava/beans/PropertyChangeListener;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 751
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 752
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            invokevirtual java.beans.PropertyChangeSupport.getPropertyChangeListeners:()[Ljava/beans/PropertyChangeListener;
            areturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/AppContext;

  public synchronized void addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
    descriptor: (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.String propertyName
        start local 2 // java.beans.PropertyChangeListener listener
         0: .line 783
            aload 2 /* listener */
            ifnonnull 2
         1: .line 784
            return
         2: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 4
         3: .line 787
            aload 0 /* this */
            new java.beans.PropertyChangeSupport
            dup
            aload 0 /* this */
            invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
            putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
         4: .line 789
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            aload 1 /* propertyName */
            aload 2 /* listener */
            invokevirtual java.beans.PropertyChangeSupport.addPropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
         5: .line 790
            return
        end local 2 // java.beans.PropertyChangeListener listener
        end local 1 // java.lang.String propertyName
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lsun/awt/AppContext;
            0    6     1  propertyName  Ljava/lang/String;
            0    6     2      listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
              Name  Flags
      propertyName  
      listener      

  public synchronized void removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener);
    descriptor: (Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.String propertyName
        start local 2 // java.beans.PropertyChangeListener listener
         0: .line 809
            aload 2 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 810
      StackMap locals:
      StackMap stack:
            return
         2: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            aload 1 /* propertyName */
            aload 2 /* listener */
            invokevirtual java.beans.PropertyChangeSupport.removePropertyChangeListener:(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V
         3: .line 813
            return
        end local 2 // java.beans.PropertyChangeListener listener
        end local 1 // java.lang.String propertyName
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lsun/awt/AppContext;
            0    4     1  propertyName  Ljava/lang/String;
            0    4     2      listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
              Name  Flags
      propertyName  
      listener      

  public synchronized java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.AppContext this
        start local 1 // java.lang.String propertyName
         0: .line 830
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 831
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            aload 1 /* propertyName */
            invokevirtual java.beans.PropertyChangeSupport.getPropertyChangeListeners:(Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/awt/AppContext;
            0    3     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public static <T> T getSoftReferenceValue(, java.util.function.Supplier<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Object key
        start local 1 // java.util.function.Supplier supplier
         0: .line 906
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 2 /* appContext */
        start local 2 // sun.awt.AppContext appContext
         1: .line 907
            aload 2 /* appContext */
            aload 0 /* key */
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.SoftReference
            astore 3 /* ref */
        start local 3 // java.lang.ref.SoftReference ref
         2: .line 908
            aload 3 /* ref */
            ifnull 6
         3: .line 909
            aload 3 /* ref */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            astore 4 /* object */
        start local 4 // java.lang.Object object
         4: .line 910
            aload 4 /* object */
            ifnull 6
         5: .line 911
            aload 4 /* object */
            areturn
        end local 4 // java.lang.Object object
         6: .line 914
      StackMap locals: sun.awt.AppContext java.lang.ref.SoftReference
      StackMap stack:
            aload 1 /* supplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 4 /* object */
        start local 4 // java.lang.Object object
         7: .line 915
            new java.lang.ref.SoftReference
            dup
            aload 4 /* object */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 3 /* ref */
         8: .line 916
            aload 2 /* appContext */
            aload 0 /* key */
            aload 3 /* ref */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 917
            aload 4 /* object */
            areturn
        end local 4 // java.lang.Object object
        end local 3 // java.lang.ref.SoftReference ref
        end local 2 // sun.awt.AppContext appContext
        end local 1 // java.util.function.Supplier supplier
        end local 0 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0         key  Ljava/lang/Object;
            0   10     1    supplier  Ljava/util/function/Supplier<TT;>;
            1   10     2  appContext  Lsun/awt/AppContext;
            2   10     3         ref  Ljava/lang/ref/SoftReference<TT;>;
            4    6     4      object  TT;
            7   10     4      object  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/util/function/Supplier<TT;>;)TT;
    MethodParameters:
          Name  Flags
      key       
      supplier  
}
SourceFile: "AppContext.java"
NestMembers:
  sun.awt.AppContext$1  sun.awt.AppContext$1$1  sun.awt.AppContext$2  sun.awt.AppContext$3  sun.awt.AppContext$4  sun.awt.AppContext$5  sun.awt.AppContext$5$1  sun.awt.AppContext$6  sun.awt.AppContext$CreateThreadAction  sun.awt.AppContext$GetAppContextLock  sun.awt.AppContext$PostShutdownEventRunnable  sun.awt.AppContext$State
InnerClasses:
  sun.awt.AppContext$1
  sun.awt.AppContext$2
  sun.awt.AppContext$3
  sun.awt.AppContext$4
  sun.awt.AppContext$5
  sun.awt.AppContext$6
  final CreateThreadAction = sun.awt.AppContext$CreateThreadAction of sun.awt.AppContext
  private GetAppContextLock = sun.awt.AppContext$GetAppContextLock of sun.awt.AppContext
  final PostShutdownEventRunnable = sun.awt.AppContext$PostShutdownEventRunnable of sun.awt.AppContext
  private final State = sun.awt.AppContext$State of sun.awt.AppContext