class java.util.prefs.AbstractPreferences$EventDispatchThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.prefs.AbstractPreferences$EventDispatchThread
  super_class: java.lang.Thread
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.util.prefs.AbstractPreferences$EventDispatchThread this
         0: .line 1519
            aload 0 /* this */
            aconst_null
            aconst_null
            ldc "Event Dispatch Thread"
            lconst_0
            iconst_0
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
         1: .line 1520
            return
        end local 0 // java.util.prefs.AbstractPreferences$EventDispatchThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/prefs/AbstractPreferences$EventDispatchThread;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=9, args_size=1
        start local 0 // java.util.prefs.AbstractPreferences$EventDispatchThread this
         0: .line 1525
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* event */
        start local 1 // java.util.EventObject event
         1: .line 1526
            getstatic java.util.prefs.AbstractPreferences.eventQueue:Ljava/util/List;
            dup
            astore 2
            monitorenter
         2: .line 1528
            goto 4
         3: .line 1529
      StackMap locals: java.util.EventObject java.util.List
      StackMap stack:
            getstatic java.util.prefs.AbstractPreferences.eventQueue:Ljava/util/List;
            invokevirtual java.lang.Object.wait:()V
         4: .line 1528
      StackMap locals:
      StackMap stack:
            getstatic java.util.prefs.AbstractPreferences.eventQueue:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
         5: .line 1530
            getstatic java.util.prefs.AbstractPreferences.eventQueue:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.util.EventObject
            astore 1 /* event */
         6: .line 1531
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         7: pop
         8: .line 1533
            aload 2
            monitorexit
         9: return
        10: .line 1526
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 1538
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual java.util.EventObject.getSource:()Ljava/lang/Object;
            checkcast java.util.prefs.AbstractPreferences
            astore 2 /* src */
        start local 2 // java.util.prefs.AbstractPreferences src
        15: .line 1539
            aload 1 /* event */
            instanceof java.util.prefs.PreferenceChangeEvent
            ifeq 24
        16: .line 1540
            aload 1 /* event */
            checkcast java.util.prefs.PreferenceChangeEvent
            astore 3 /* pce */
        start local 3 // java.util.prefs.PreferenceChangeEvent pce
        17: .line 1541
            aload 2 /* src */
            invokevirtual java.util.prefs.AbstractPreferences.prefListeners:()[Ljava/util/prefs/PreferenceChangeListener;
            astore 4 /* listeners */
        start local 4 // java.util.prefs.PreferenceChangeListener[] listeners
        18: .line 1542
            aload 4 /* listeners */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 22
      StackMap locals: java.util.prefs.AbstractPreferences$EventDispatchThread java.util.EventObject java.util.prefs.AbstractPreferences java.util.prefs.PreferenceChangeEvent java.util.prefs.PreferenceChangeListener[] top int int java.util.prefs.PreferenceChangeListener[]
      StackMap stack:
        19: aload 8
            iload 6
            aaload
            astore 5 /* listener */
        start local 5 // java.util.prefs.PreferenceChangeListener listener
        20: .line 1543
            aload 5 /* listener */
            aload 3 /* pce */
            invokeinterface java.util.prefs.PreferenceChangeListener.preferenceChange:(Ljava/util/prefs/PreferenceChangeEvent;)V
        end local 5 // java.util.prefs.PreferenceChangeListener listener
        21: .line 1542
            iinc 6 1
      StackMap locals:
      StackMap stack:
        22: iload 6
            iload 7
            if_icmplt 19
        end local 4 // java.util.prefs.PreferenceChangeListener[] listeners
        end local 3 // java.util.prefs.PreferenceChangeEvent pce
        23: .line 1544
            goto 0
        24: .line 1545
      StackMap locals: java.util.prefs.AbstractPreferences$EventDispatchThread java.util.EventObject java.util.prefs.AbstractPreferences
      StackMap stack:
            aload 1 /* event */
            checkcast java.util.prefs.NodeChangeEvent
            astore 3 /* nce */
        start local 3 // java.util.prefs.NodeChangeEvent nce
        25: .line 1546
            aload 2 /* src */
            invokevirtual java.util.prefs.AbstractPreferences.nodeListeners:()[Ljava/util/prefs/NodeChangeListener;
            astore 4 /* listeners */
        start local 4 // java.util.prefs.NodeChangeListener[] listeners
        26: .line 1547
            aload 3 /* nce */
            instanceof java.util.prefs.AbstractPreferences$NodeAddedEvent
            ifeq 33
        27: .line 1548
            aload 4 /* listeners */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 31
      StackMap locals: java.util.prefs.AbstractPreferences$EventDispatchThread java.util.EventObject java.util.prefs.AbstractPreferences java.util.prefs.NodeChangeEvent java.util.prefs.NodeChangeListener[] top int int java.util.prefs.NodeChangeListener[]
      StackMap stack:
        28: aload 8
            iload 6
            aaload
            astore 5 /* listener */
        start local 5 // java.util.prefs.NodeChangeListener listener
        29: .line 1549
            aload 5 /* listener */
            aload 3 /* nce */
            invokeinterface java.util.prefs.NodeChangeListener.childAdded:(Ljava/util/prefs/NodeChangeEvent;)V
        end local 5 // java.util.prefs.NodeChangeListener listener
        30: .line 1548
            iinc 6 1
      StackMap locals:
      StackMap stack:
        31: iload 6
            iload 7
            if_icmplt 28
        32: .line 1550
            goto 0
        33: .line 1552
      StackMap locals: java.util.prefs.AbstractPreferences$EventDispatchThread java.util.EventObject java.util.prefs.AbstractPreferences java.util.prefs.NodeChangeEvent java.util.prefs.NodeChangeListener[]
      StackMap stack:
            aload 4 /* listeners */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 37
      StackMap locals: java.util.prefs.AbstractPreferences$EventDispatchThread java.util.EventObject java.util.prefs.AbstractPreferences java.util.prefs.NodeChangeEvent java.util.prefs.NodeChangeListener[] top int int java.util.prefs.NodeChangeListener[]
      StackMap stack:
        34: aload 8
            iload 6
            aaload
            astore 5 /* listener */
        start local 5 // java.util.prefs.NodeChangeListener listener
        35: .line 1553
            aload 5 /* listener */
            aload 3 /* nce */
            invokeinterface java.util.prefs.NodeChangeListener.childRemoved:(Ljava/util/prefs/NodeChangeEvent;)V
        end local 5 // java.util.prefs.NodeChangeListener listener
        36: .line 1552
            iinc 6 1
      StackMap locals:
      StackMap stack:
        37: iload 6
            iload 7
            if_icmplt 34
        end local 4 // java.util.prefs.NodeChangeListener[] listeners
        end local 3 // java.util.prefs.NodeChangeEvent nce
        end local 2 // java.util.prefs.AbstractPreferences src
        end local 1 // java.util.EventObject event
        38: .line 1523
            goto 0
        end local 0 // java.util.prefs.AbstractPreferences$EventDispatchThread this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Ljava/util/prefs/AbstractPreferences$EventDispatchThread;
            1   38     1      event  Ljava/util/EventObject;
           15   38     2        src  Ljava/util/prefs/AbstractPreferences;
           17   23     3        pce  Ljava/util/prefs/PreferenceChangeEvent;
           18   23     4  listeners  [Ljava/util/prefs/PreferenceChangeListener;
           20   21     5   listener  Ljava/util/prefs/PreferenceChangeListener;
           25   38     3        nce  Ljava/util/prefs/NodeChangeEvent;
           26   38     4  listeners  [Ljava/util/prefs/NodeChangeListener;
           29   30     5   listener  Ljava/util/prefs/NodeChangeListener;
           35   36     5   listener  Ljava/util/prefs/NodeChangeListener;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.InterruptedException
           2     9      12  any
          10    11      12  any
          12    13      12  any
}
SourceFile: "AbstractPreferences.java"
NestHost: java.util.prefs.AbstractPreferences
InnerClasses:
  private EventDispatchThread = java.util.prefs.AbstractPreferences$EventDispatchThread of java.util.prefs.AbstractPreferences
  private NodeAddedEvent = java.util.prefs.AbstractPreferences$NodeAddedEvent of java.util.prefs.AbstractPreferences