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 141
            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 149
            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 154
            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 155
            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 160
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
         5: .line 159
            putstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
         6: .line 175
            aconst_null
            putstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
         7: .line 178
            new sun.awt.AppContext$GetAppContextLock
            dup
            invokespecial sun.awt.AppContext$GetAppContextLock.<init>:()V
            putstatic sun.awt.AppContext.getAppContextLock:Ljava/lang/Object;
         8: .line 222
            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 265
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
        10: .line 264
            putstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
        11: .line 848
            new sun.awt.AppContext$1
            dup
            invokespecial sun.awt.AppContext$1.<init>:()V
            invokestatic jdk.internal.misc.SharedSecrets.setJavaAWTAccess:(Ljdk/internal/misc/JavaAWTAccess;)V
        12: .line 911
            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 166
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            dup
            astore 0
            monitorenter
         1: .line 167
            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 166
      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 212
            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 243
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 186
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.awt.AppContext.table:Ljava/util/Map;
         2: .line 198
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
         3: .line 209
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.VALID:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
         4: .line 399
            aload 0 /* this */
            ldc 5000
            putfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
         5: .line 405
            aload 0 /* this */
            ldc 1000
            putfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
         6: .line 629
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         7: .line 630
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         8: .line 244
            getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         9: .line 246
            aload 0 /* this */
            aload 1 /* threadGroup */
            putfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
        10: .line 247
            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 249
            aload 0 /* this */
        12: .line 250
            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 249
            putfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
        14: .line 258
            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 259
            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 260
            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 261
            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 262
            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 void initMainAppContext();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 271
            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 286
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.awt.AppContext getAppContext();
    descriptor: ()Lsun/awt/AppContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 301
            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 302
            getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
            areturn
         2: .line 305
      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 307
            aload 0 /* appContext */
            ifnonnull 5
         4: .line 308
            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 373
      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 boolean isMainContext(sun.awt.AppContext);
    descriptor: (Lsun/awt/AppContext;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.AppContext ctx
         0: .line 384
            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 sun.awt.AppContext getExecutionAppContext();
    descriptor: ()Lsun/awt/AppContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=0
         0: .line 388
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* securityManager */
        start local 0 // java.lang.SecurityManager securityManager
         1: .line 389
            aload 0 /* securityManager */
            ifnull 6
         2: .line 390
            aload 0 /* securityManager */
            instanceof sun.awt.AWTSecurityManager
            ifeq 6
         3: .line 392
            aload 0 /* securityManager */
            checkcast sun.awt.AWTSecurityManager
            astore 1 /* awtSecMgr */
        start local 1 // sun.awt.AWTSecurityManager awtSecMgr
         4: .line 393
            aload 1 /* awtSecMgr */
            invokevirtual sun.awt.AWTSecurityManager.getAppContext:()Lsun/awt/AppContext;
            astore 2 /* secAppContext */
        start local 2 // sun.awt.AppContext secAppContext
         5: .line 394
            aload 2 /* secAppContext */
            areturn
        end local 2 // sun.awt.AppContext secAppContext
        end local 1 // sun.awt.AWTSecurityManager awtSecMgr
         6: .line 396
      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 424
            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 425
            new java.lang.IllegalThreadStateException
            dup
         2: .line 426
            ldc "Current Thread is contained within AppContext to be disposed."
         3: .line 425
            invokespecial java.lang.IllegalThreadStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         5: .line 431
            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 432
            aload 1
            monitorexit
         7: return
         8: .line 435
      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 430
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 438
      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 439
            aload 1 /* changeSupport */
            ifnull 16
        15: .line 440
            aload 1 /* changeSupport */
            ldc "disposed"
            iconst_0
            iconst_1
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;ZZ)V
        16: .line 446
      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 448
            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 480
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        19: .line 481
            aload 0 /* this */
        20: .line 482
            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 481
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        22: .line 484
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        23: .line 485
            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 480
      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 492
      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 497
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        31: .line 498
            aload 0 /* this */
        32: .line 499
            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 498
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        34: .line 501
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        35: .line 502
            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 497
      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 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        42: .line 507
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.DISPOSED:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
        43: .line 506
            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 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.interrupt:()V
        48: .line 519
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        start local 4 // long startTime
        49: .line 520
            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 521
            goto 54
        51: .line 524
      StackMap locals: long long
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        52: .line 525
            goto 54
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        53: pop
        54: .line 521
      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 522
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        56: .line 521
            lcmp
            iflt 51
        57: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokedynamic run(Lsun/awt/AppContext;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  sun/awt/AppContext.lambda$0()Ljava/lang/Void; (7)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        58: .line 537
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        59: .line 538
            lload 4 /* startTime */
            aload 0 /* this */
            getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
            ladd
            lstore 6 /* endTime */
        60: .line 539
            goto 64
        61: .line 542
      StackMap locals:
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        62: .line 543
            goto 64
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        63: pop
        64: .line 539
      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 540
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        66: .line 539
            lcmp
            iflt 61
        67: .line 547
      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 548
            iload 8 /* numSubGroups */
            ifle 76
        69: .line 549
            iload 8 /* numSubGroups */
            anewarray java.lang.ThreadGroup
            astore 9 /* subGroups */
        start local 9 // java.lang.ThreadGroup[] subGroups
        70: .line 550
            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 551
            iconst_0
            istore 10 /* subGroup */
        start local 10 // int subGroup
        72: goto 75
        73: .line 552
      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 551
            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 555
      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 557
            getstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        78: .line 561
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.destroy:()V
        79: .line 562
            goto 81
      StackMap locals:
      StackMap stack: java.lang.IllegalThreadStateException
        80: pop
        81: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        82: .line 567
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        83: .line 566
            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 570
      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 572
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        89: .line 573
            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 610
            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 611
            aload 0 /* appContext */
            invokevirtual sun.awt.AppContext.isDisposed:()Z
            ifeq 4
         3: .line 612
            goto 11
         4: .line 614
      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 617
            aload 0 /* appContext */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            if_acmpeq 10
         6: .line 620
            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 621
            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 622
            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 623
            goto 11
        10: .line 624
      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 610
      StackMap locals: top java.util.Iterator
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 627
            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 647
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 654
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 655
            aload 3 /* recent */
            ifnull 5
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 5
         3: .line 656
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
            aload 2
            monitorexit
         4: areturn
         5: .line 659
      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 660
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            ifnonnull 10
         7: .line 661
            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 662
            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 663
            goto 14
        10: .line 664
      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 665
            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 666
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        13: .line 667
            aload 0 /* this */
            aload 5 /* auxKeyValue */
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        end local 5 // sun.awt.MostRecentKeyValue auxKeyValue
        14: .line 669
      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 647
      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 691
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 692
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 4 /* recent */
        start local 4 // sun.awt.MostRecentKeyValue recent
         2: .line 693
            aload 4 /* recent */
            ifnull 4
            aload 4 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 694
            aload 4 /* recent */
            aload 2 /* value */
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 695
      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 691
      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 710
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 711
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 712
            aload 3 /* recent */
            ifnull 4
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 713
            aload 3 /* recent */
            aconst_null
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 714
      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 710
      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 724
            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 734
            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 743
            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 761
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 762
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 764
      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 793
            aload 2 /* listener */
            ifnonnull 2
         1: .line 794
            return
         2: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 4
         3: .line 797
            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 799
      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 800
            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 819
            aload 2 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 820
      StackMap locals:
      StackMap stack:
            return
         2: .line 822
      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 823
            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 840
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 841
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 843
      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 916
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 2 /* appContext */
        start local 2 // sun.awt.AppContext appContext
         1: .line 918
            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 919
            aload 3 /* ref */
            ifnull 6
         3: .line 920
            aload 3 /* ref */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            astore 4 /* object */
        start local 4 // java.lang.Object object
         4: .line 921
            aload 4 /* object */
            ifnull 6
         5: .line 922
            aload 4 /* object */
            areturn
        end local 4 // java.lang.Object object
         6: .line 925
      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 926
            new java.lang.ref.SoftReference
            dup
            aload 4 /* object */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 3 /* ref */
         8: .line 927
            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 928
            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  

  private java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.AppContext this
         0: .line 530
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.stop:()V
         1: .line 531
            aconst_null
            areturn
        end local 0 // sun.awt.AppContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/AppContext;
}
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:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  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