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 130
            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 138
            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 143
            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 144
            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 149
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
         5: .line 148
            putstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
         6: .line 164
            aconst_null
            putstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
         7: .line 167
            new sun.awt.AppContext$GetAppContextLock
            dup
            invokespecial sun.awt.AppContext$GetAppContextLock.<init>:()V
            putstatic sun.awt.AppContext.getAppContextLock:Ljava/lang/Object;
         8: .line 211
            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 254
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
        10: .line 253
            putstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
        11: .line 822
            new sun.awt.AppContext$1
            dup
            invokespecial sun.awt.AppContext$1.<init>:()V
            invokestatic jdk.internal.access.SharedSecrets.setJavaAWTAccess:(Ljdk/internal/access/JavaAWTAccess;)V
        12: .line 884
            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 155
            getstatic sun.awt.AppContext.threadGroup2appContext:Ljava/util/Map;
            dup
            astore 0
            monitorenter
         1: .line 156
            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 155
      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 201
            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 232
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 175
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.awt.AppContext.table:Ljava/util/Map;
         2: .line 187
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
         3: .line 198
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.VALID:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
         4: .line 373
            aload 0 /* this */
            ldc 5000
            putfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
         5: .line 379
            aload 0 /* this */
            ldc 1000
            putfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
         6: .line 603
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         7: .line 604
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
         8: .line 233
            getstatic sun.awt.AppContext.numAppContexts:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         9: .line 235
            aload 0 /* this */
            aload 1 /* threadGroup */
            putfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
        10: .line 236
            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 238
            aload 0 /* this */
        12: .line 239
            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 238
            putfield sun.awt.AppContext.contextClassLoader:Ljava/lang/ClassLoader;
        14: .line 247
            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 248
            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 249
            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 250
            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 251
            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 260
            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 275
            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 287
            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 288
            getstatic sun.awt.AppContext.mainAppContext:Lsun/awt/AppContext;
            areturn
         2: .line 291
      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 293
            aload 0 /* appContext */
            ifnonnull 5
         4: .line 294
            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 359
      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 370
            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   

  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 398
            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 399
            new java.lang.IllegalThreadStateException
            dup
         2: .line 400
            ldc "Current Thread is contained within AppContext to be disposed."
         3: .line 399
            invokespecial java.lang.IllegalThreadStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         5: .line 405
            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 406
            aload 1
            monitorexit
         7: return
         8: .line 409
      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 404
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 412
      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 413
            aload 1 /* changeSupport */
            ifnull 16
        15: .line 414
            aload 1 /* changeSupport */
            ldc "disposed"
            iconst_0
            iconst_1
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;ZZ)V
        16: .line 420
      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 422
            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 454
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        19: .line 455
            aload 0 /* this */
        20: .line 456
            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 455
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        22: .line 458
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        23: .line 459
            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 454
      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 466
      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 471
            aload 2 /* notificationLock */
            dup
            astore 4
            monitorenter
        31: .line 472
            aload 0 /* this */
        32: .line 473
            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 472
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        34: .line 475
            aload 2 /* notificationLock */
            aload 0 /* this */
            getfield sun.awt.AppContext.DISPOSAL_TIMEOUT:J
            invokevirtual java.lang.Object.wait:(J)V
        35: .line 476
            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 471
      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 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        42: .line 481
            aload 0 /* this */
            getstatic sun.awt.AppContext$State.DISPOSED:Lsun/awt/AppContext$State;
            putfield sun.awt.AppContext.state:Lsun/awt/AppContext$State;
        43: .line 480
            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 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.interrupt:()V
        48: .line 493
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        start local 4 // long startTime
        49: .line 494
            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 495
            goto 54
        51: .line 498
      StackMap locals: long long
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        52: .line 499
            goto 54
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        53: pop
        54: .line 495
      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 496
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        56: .line 495
            lcmp
            iflt 51
        57: .line 503
      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 511
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* startTime */
        59: .line 512
            lload 4 /* startTime */
            aload 0 /* this */
            getfield sun.awt.AppContext.THREAD_INTERRUPT_TIMEOUT:J
            ladd
            lstore 6 /* endTime */
        60: .line 513
            goto 64
        61: .line 516
      StackMap locals:
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        62: .line 517
            goto 64
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        63: pop
        64: .line 513
      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 514
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 6 /* endTime */
        66: .line 513
            lcmp
            iflt 61
        67: .line 521
      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 522
            iload 8 /* numSubGroups */
            ifle 76
        69: .line 523
            iload 8 /* numSubGroups */
            anewarray java.lang.ThreadGroup
            astore 9 /* subGroups */
        start local 9 // java.lang.ThreadGroup[] subGroups
        70: .line 524
            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 525
            iconst_0
            istore 10 /* subGroup */
        start local 10 // int subGroup
        72: goto 75
        73: .line 526
      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 525
            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 529
      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 531
            getstatic sun.awt.AppContext.threadAppContext:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        78: .line 535
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.destroy:()V
        79: .line 536
            goto 81
      StackMap locals:
      StackMap stack: java.lang.IllegalThreadStateException
        80: pop
        81: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        82: .line 541
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        83: .line 540
            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 544
      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 546
            aload 0 /* this */
            aconst_null
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        89: .line 547
            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 584
            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 585
            aload 0 /* appContext */
            invokevirtual sun.awt.AppContext.isDisposed:()Z
            ifeq 4
         3: .line 586
            goto 11
         4: .line 588
      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 591
            aload 0 /* appContext */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            if_acmpeq 10
         6: .line 594
            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 595
            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 596
            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 597
            goto 11
        10: .line 598
      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 584
      StackMap locals: top java.util.Iterator
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 601
            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 621
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 628
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 629
            aload 3 /* recent */
            ifnull 5
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 5
         3: .line 630
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
            aload 2
            monitorexit
         4: areturn
         5: .line 633
      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 634
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            ifnonnull 10
         7: .line 635
            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 636
            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 637
            goto 14
        10: .line 638
      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 639
            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 640
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            putfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        13: .line 641
            aload 0 /* this */
            aload 5 /* auxKeyValue */
            putfield sun.awt.AppContext.shadowMostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
        end local 5 // sun.awt.MostRecentKeyValue auxKeyValue
        14: .line 643
      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 621
      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 665
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 666
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 4 /* recent */
        start local 4 // sun.awt.MostRecentKeyValue recent
         2: .line 667
            aload 4 /* recent */
            ifnull 4
            aload 4 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 668
            aload 4 /* recent */
            aload 2 /* value */
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 669
      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 665
      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 684
            aload 0 /* this */
            getfield sun.awt.AppContext.table:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 685
            aload 0 /* this */
            getfield sun.awt.AppContext.mostRecentKeyValue:Lsun/awt/MostRecentKeyValue;
            astore 3 /* recent */
        start local 3 // sun.awt.MostRecentKeyValue recent
         2: .line 686
            aload 3 /* recent */
            ifnull 4
            aload 3 /* recent */
            getfield sun.awt.MostRecentKeyValue.key:Ljava/lang/Object;
            aload 1 /* key */
            if_acmpne 4
         3: .line 687
            aload 3 /* recent */
            aconst_null
            putfield sun.awt.MostRecentKeyValue.value:Ljava/lang/Object;
         4: .line 688
      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 684
      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 698
            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 708
            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 717
            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 735
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 736
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 738
      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 767
            aload 2 /* listener */
            ifnonnull 2
         1: .line 768
            return
         2: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 4
         3: .line 771
            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 773
      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 774
            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 793
            aload 2 /* listener */
            ifnull 1
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 794
      StackMap locals:
      StackMap stack:
            return
         2: .line 796
      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 797
            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 814
            aload 0 /* this */
            getfield sun.awt.AppContext.changeSupport:Ljava/beans/PropertyChangeSupport;
            ifnonnull 2
         1: .line 815
            iconst_0
            anewarray java.beans.PropertyChangeListener
            areturn
         2: .line 817
      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 889
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 2 /* appContext */
        start local 2 // sun.awt.AppContext appContext
         1: .line 891
            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 892
            aload 3 /* ref */
            ifnull 6
         3: .line 893
            aload 3 /* ref */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            astore 4 /* object */
        start local 4 // java.lang.Object object
         4: .line 894
            aload 4 /* object */
            ifnull 6
         5: .line 895
            aload 4 /* object */
            areturn
        end local 4 // java.lang.Object object
         6: .line 898
      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 899
            new java.lang.ref.SoftReference
            dup
            aload 4 /* object */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 3 /* ref */
         8: .line 900
            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 901
            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 504
            aload 0 /* this */
            getfield sun.awt.AppContext.threadGroup:Ljava/lang/ThreadGroup;
            invokevirtual java.lang.ThreadGroup.stop:()V
         1: .line 505
            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