class sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener implements javax.management.NotificationListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener
  super_class: java.lang.Object
{
  private sun.tools.jconsole.inspector.XMBean xmbean;
    descriptor: Lsun/tools/jconsole/inspector/XMBean;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.tree.DefaultMutableTreeNode node;
    descriptor: Ljavax/swing/tree/DefaultMutableTreeNode;
    flags: (0x0002) ACC_PRIVATE

  private volatile long received;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private sun.tools.jconsole.inspector.XMBeanNotifications notifications;
    descriptor: Lsun/tools/jconsole/inspector/XMBeanNotifications;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean unregistered;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.util.ArrayList<java.lang.Object[]> data;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<[Ljava/lang/Object;>;

  final sun.tools.jconsole.inspector.XMBeanNotifications this$0;
    descriptor: Lsun/tools/jconsole/inspector/XMBeanNotifications;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(sun.tools.jconsole.inspector.XMBeanNotifications, sun.tools.jconsole.inspector.XMBeanNotifications, sun.tools.jconsole.inspector.XMBean, javax.swing.tree.DefaultMutableTreeNode, java.lang.String[]);
    descriptor: (Lsun/tools/jconsole/inspector/XMBeanNotifications;Lsun/tools/jconsole/inspector/XMBeanNotifications;Lsun/tools/jconsole/inspector/XMBean;Ljavax/swing/tree/DefaultMutableTreeNode;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
        start local 2 // sun.tools.jconsole.inspector.XMBeanNotifications notifications
        start local 3 // sun.tools.jconsole.inspector.XMBean xmbean
        start local 4 // javax.swing.tree.DefaultMutableTreeNode node
        start local 5 // java.lang.String[] columnNames
         0: .line 612
            aload 0 /* this */
            aload 1
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.this$0:Lsun/tools/jconsole/inspector/XMBeanNotifications;
         1: .line 608
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 606
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.data:Ljava/util/ArrayList;
         3: .line 613
            aload 0 /* this */
            aload 2 /* notifications */
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.notifications:Lsun/tools/jconsole/inspector/XMBeanNotifications;
         4: .line 614
            aload 0 /* this */
            aload 3 /* xmbean */
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.xmbean:Lsun/tools/jconsole/inspector/XMBean;
         5: .line 615
            aload 0 /* this */
            aload 4 /* node */
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.node:Ljavax/swing/tree/DefaultMutableTreeNode;
         6: .line 616
            aload 0 /* this */
            aload 4 /* node */
            invokevirtual sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.register:(Ljavax/swing/tree/DefaultMutableTreeNode;)V
         7: .line 617
            return
        end local 5 // java.lang.String[] columnNames
        end local 4 // javax.swing.tree.DefaultMutableTreeNode node
        end local 3 // sun.tools.jconsole.inspector.XMBean xmbean
        end local 2 // sun.tools.jconsole.inspector.XMBeanNotifications notifications
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;
            0    8     2  notifications  Lsun/tools/jconsole/inspector/XMBeanNotifications;
            0    8     3         xmbean  Lsun/tools/jconsole/inspector/XMBean;
            0    8     4           node  Ljavax/swing/tree/DefaultMutableTreeNode;
            0    8     5    columnNames  [Ljava/lang/String;
    MethodParameters:
               Name  Flags
      this$0         final
      notifications  
      xmbean         
      node           
      columnNames    

  public synchronized java.util.List<java.lang.Object[]> getData();
    descriptor: ()Ljava/util/List;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
         0: .line 620
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.data:Ljava/util/ArrayList;
            areturn
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;
    Signature: ()Ljava/util/List<[Ljava/lang/Object;>;

  public synchronized void clear();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
         0: .line 624
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.data:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 625
            aload 0 /* this */
            lconst_0
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.received:J
         2: .line 626
            return
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;

  public synchronized boolean isRegistered();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
         0: .line 629
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.unregistered:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;

  public synchronized void unregister();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
         0: .line 634
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.xmbean:Lsun/tools/jconsole/inspector/XMBean;
            invokevirtual sun.tools.jconsole.inspector.XMBean.getMBeanServerConnection:()Ljavax/management/MBeanServerConnection;
         1: .line 635
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.xmbean:Lsun/tools/jconsole/inspector/XMBean;
            invokevirtual sun.tools.jconsole.inspector.XMBean.getObjectName:()Ljavax/management/ObjectName;
            aload 0 /* this */
            aconst_null
            aconst_null
         2: .line 634
            invokeinterface javax.management.MBeanServerConnection.removeNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         3: .line 636
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 637
            invokestatic sun.tools.jconsole.JConsole.isDebug:()Z
            ifeq 8
         6: .line 638
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error removing listener:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 639
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 1 // java.lang.Exception e
         8: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.unregistered:Z
         9: .line 643
            return
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;
            5    8     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  public synchronized long getReceivedNotifications();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
         0: .line 646
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.received:J
            lreturn
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;

  public synchronized void register(javax.swing.tree.DefaultMutableTreeNode);
    descriptor: (Ljavax/swing/tree/DefaultMutableTreeNode;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
        start local 1 // javax.swing.tree.DefaultMutableTreeNode node
         0: .line 650
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.clear:()V
         1: .line 651
            aload 0 /* this */
            aload 1 /* node */
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.node:Ljavax/swing/tree/DefaultMutableTreeNode;
         2: .line 653
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.xmbean:Lsun/tools/jconsole/inspector/XMBean;
            invokevirtual sun.tools.jconsole.inspector.XMBean.getMBeanServerConnection:()Ljavax/management/MBeanServerConnection;
         3: .line 654
            aload 0 /* this */
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.xmbean:Lsun/tools/jconsole/inspector/XMBean;
            invokevirtual sun.tools.jconsole.inspector.XMBean.getObjectName:()Ljavax/management/ObjectName;
            aload 0 /* this */
            aconst_null
            aconst_null
         4: .line 653
            invokeinterface javax.management.MBeanServerConnection.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         5: .line 655
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.unregistered:Z
         6: .line 656
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         7: astore 2 /* e */
        start local 2 // java.lang.Exception e
         8: .line 657
            invokestatic sun.tools.jconsole.JConsole.isDebug:()Z
            ifeq 11
         9: .line 658
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error adding listener:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 659
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 2 // java.lang.Exception e
        11: .line 662
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.tree.DefaultMutableTreeNode node
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;
            0   12     1  node  Ljavax/swing/tree/DefaultMutableTreeNode;
            8   11     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      node  

  public synchronized void handleNotification(javax.management.Notification, java.lang.Object);
    descriptor: (Ljavax/management/Notification;Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
        start local 1 // javax.management.Notification n
        start local 2 // java.lang.Object hb
         0: .line 666
            new sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener$1
            dup
            aload 0 /* this */
            aload 1 /* n */
            invokespecial sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener$1.<init>:(Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;Ljavax/management/Notification;)V
            invokestatic java.awt.EventQueue.invokeLater:(Ljava/lang/Runnable;)V
         1: .line 709
            return
        end local 2 // java.lang.Object hb
        end local 1 // javax.management.Notification n
        end local 0 // sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;
            0    2     1     n  Ljavax/management/Notification;
            0    2     2    hb  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      n     final
      hb    

  static sun.tools.jconsole.inspector.XMBeanNotifications access$0(sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener);
    descriptor: (Lsun/tools/jconsole/inspector/XMBeanNotifications$XMBeanNotificationsListener;)Lsun/tools/jconsole/inspector/XMBeanNotifications;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 599
            aload 0
            getfield sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener.this$0:Lsun/tools/jconsole/inspector/XMBeanNotifications;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "XMBeanNotifications.java"
NestHost: sun.tools.jconsole.inspector.XMBeanNotifications
InnerClasses:
  XMBeanNotificationsListener = sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener of sun.tools.jconsole.inspector.XMBeanNotifications
  sun.tools.jconsole.inspector.XMBeanNotifications$XMBeanNotificationsListener$1