public class java.awt.TrayIcon
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.TrayIcon
  super_class: java.lang.Object
{
  private java.awt.Image image;
    descriptor: Ljava/awt/Image;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String tooltip;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.PopupMenu popup;
    descriptor: Ljava/awt/PopupMenu;
    flags: (0x0002) ACC_PRIVATE

  private boolean autosize;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int id;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String actionCommand;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private transient java.awt.peer.TrayIconPeer peer;
    descriptor: Ljava/awt/peer/TrayIconPeer;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  transient java.awt.event.MouseListener mouseListener;
    descriptor: Ljava/awt/event/MouseListener;
    flags: (0x0080) ACC_TRANSIENT

  transient java.awt.event.MouseMotionListener mouseMotionListener;
    descriptor: Ljava/awt/event/MouseMotionListener;
    flags: (0x0080) ACC_TRANSIENT

  transient java.awt.event.ActionListener actionListener;
    descriptor: Ljava/awt/event/ActionListener;
    flags: (0x0080) ACC_TRANSIENT

  private final java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 120
            invokestatic java.awt.Toolkit.loadLibraries:()V
         1: .line 121
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifne 3
         2: .line 122
            invokestatic java.awt.TrayIcon.initIDs:()V
         3: .line 126
      StackMap locals:
      StackMap stack:
            new java.awt.TrayIcon$1
            dup
            invokespecial java.awt.TrayIcon$1.<init>:()V
         4: .line 125
            invokestatic sun.awt.AWTAccessor.setTrayIconAccessor:(Lsun/awt/AWTAccessor$TrayIconAccessor;)V
         5: .line 134
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  final java.security.AccessControlContext getAccessControlContext();
    descriptor: ()Ljava/security/AccessControlContext;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 113
            aload 0 /* this */
            getfield java.awt.TrayIcon.acc:Ljava/security/AccessControlContext;
            ifnonnull 2
         1: .line 114
            new java.lang.SecurityException
            dup
            ldc "TrayIcon is missing AccessControlContext"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.TrayIcon.acc:Ljava/security/AccessControlContext;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/TrayIcon;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 107
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield java.awt.TrayIcon.acc:Ljava/security/AccessControlContext;
         2: .line 139
            invokestatic java.awt.SystemTray.checkSystemTrayAllowed:()V
         3: .line 140
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 5
         4: .line 141
            new java.awt.HeadlessException
            dup
            invokespecial java.awt.HeadlessException.<init>:()V
            athrow
         5: .line 143
      StackMap locals: java.awt.TrayIcon
      StackMap stack:
            invokestatic java.awt.SystemTray.isSupported:()Z
            ifne 7
         6: .line 144
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
         7: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            invokestatic sun.awt.SunToolkit.insertTargetMapping:(Ljava/lang/Object;Lsun/awt/AppContext;)V
         8: .line 147
            return
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/awt/TrayIcon;
    Exceptions:
      throws java.lang.UnsupportedOperationException, java.awt.HeadlessException, java.lang.SecurityException

  public void <init>(java.awt.Image);
    descriptor: (Ljava/awt/Image;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.Image image
         0: .line 168
            aload 0 /* this */
            invokespecial java.awt.TrayIcon.<init>:()V
         1: .line 169
            aload 1 /* image */
            ifnonnull 3
         2: .line 170
            new java.lang.IllegalArgumentException
            dup
            ldc "creating TrayIcon with null Image"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 172
      StackMap locals: java.awt.TrayIcon java.awt.Image
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            invokevirtual java.awt.TrayIcon.setImage:(Ljava/awt/Image;)V
         4: .line 173
            return
        end local 1 // java.awt.Image image
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/awt/TrayIcon;
            0    5     1  image  Ljava/awt/Image;
    MethodParameters:
       Name  Flags
      image  

  public void <init>(java.awt.Image, java.lang.String);
    descriptor: (Ljava/awt/Image;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.Image image
        start local 2 // java.lang.String tooltip
         0: .line 197
            aload 0 /* this */
            aload 1 /* image */
            invokespecial java.awt.TrayIcon.<init>:(Ljava/awt/Image;)V
         1: .line 198
            aload 0 /* this */
            aload 2 /* tooltip */
            invokevirtual java.awt.TrayIcon.setToolTip:(Ljava/lang/String;)V
         2: .line 199
            return
        end local 2 // java.lang.String tooltip
        end local 1 // java.awt.Image image
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/awt/TrayIcon;
            0    3     1    image  Ljava/awt/Image;
            0    3     2  tooltip  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      image    
      tooltip  

  public void <init>(java.awt.Image, java.lang.String, java.awt.PopupMenu);
    descriptor: (Ljava/awt/Image;Ljava/lang/String;Ljava/awt/PopupMenu;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.Image image
        start local 2 // java.lang.String tooltip
        start local 3 // java.awt.PopupMenu popup
         0: .line 227
            aload 0 /* this */
            aload 1 /* image */
            aload 2 /* tooltip */
            invokespecial java.awt.TrayIcon.<init>:(Ljava/awt/Image;Ljava/lang/String;)V
         1: .line 228
            aload 0 /* this */
            aload 3 /* popup */
            invokevirtual java.awt.TrayIcon.setPopupMenu:(Ljava/awt/PopupMenu;)V
         2: .line 229
            return
        end local 3 // java.awt.PopupMenu popup
        end local 2 // java.lang.String tooltip
        end local 1 // java.awt.Image image
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/awt/TrayIcon;
            0    3     1    image  Ljava/awt/Image;
            0    3     2  tooltip  Ljava/lang/String;
            0    3     3    popup  Ljava/awt/PopupMenu;
    MethodParameters:
         Name  Flags
      image    
      tooltip  
      popup    

  public void setImage(java.awt.Image);
    descriptor: (Ljava/awt/Image;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.Image image
         0: .line 254
            aload 1 /* image */
            ifnonnull 2
         1: .line 255
            new java.lang.NullPointerException
            dup
            ldc "setting null Image"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            putfield java.awt.TrayIcon.image:Ljava/awt/Image;
         3: .line 259
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            astore 2 /* peer */
        start local 2 // java.awt.peer.TrayIconPeer peer
         4: .line 260
            aload 2 /* peer */
            ifnull 6
         5: .line 261
            aload 2 /* peer */
            invokeinterface java.awt.peer.TrayIconPeer.updateImage:()V
         6: .line 263
      StackMap locals: java.awt.peer.TrayIconPeer
      StackMap stack:
            return
        end local 2 // java.awt.peer.TrayIconPeer peer
        end local 1 // java.awt.Image image
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/awt/TrayIcon;
            0    7     1  image  Ljava/awt/Image;
            4    7     2   peer  Ljava/awt/peer/TrayIconPeer;
    MethodParameters:
       Name  Flags
      image  

  public java.awt.Image getImage();
    descriptor: ()Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 273
            aload 0 /* this */
            getfield java.awt.TrayIcon.image:Ljava/awt/Image;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public void setPopupMenu(java.awt.PopupMenu);
    descriptor: (Ljava/awt/PopupMenu;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.PopupMenu popup
         0: .line 303
            aload 1 /* popup */
            aload 0 /* this */
            getfield java.awt.TrayIcon.popup:Ljava/awt/PopupMenu;
            if_acmpne 2
         1: .line 304
            return
         2: .line 306
      StackMap locals:
      StackMap stack:
            ldc Ljava/awt/TrayIcon;
            dup
            astore 2
            monitorenter
         3: .line 307
            aload 1 /* popup */
            ifnull 7
         4: .line 308
            aload 1 /* popup */
            getfield java.awt.PopupMenu.isTrayIconPopup:Z
            ifeq 6
         5: .line 309
            new java.lang.IllegalArgumentException
            dup
            ldc "the PopupMenu is already set for another TrayIcon"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 311
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* popup */
            iconst_1
            putfield java.awt.PopupMenu.isTrayIconPopup:Z
         7: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.TrayIcon.popup:Ljava/awt/PopupMenu;
            ifnull 9
         8: .line 314
            aload 0 /* this */
            getfield java.awt.TrayIcon.popup:Ljava/awt/PopupMenu;
            iconst_0
            putfield java.awt.PopupMenu.isTrayIconPopup:Z
         9: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* popup */
            putfield java.awt.TrayIcon.popup:Ljava/awt/PopupMenu;
        10: .line 306
            aload 2
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.PopupMenu popup
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljava/awt/TrayIcon;
            0   15     1  popup  Ljava/awt/PopupMenu;
      Exception table:
        from    to  target  type
           3    11      12  any
          12    13      12  any
    MethodParameters:
       Name  Flags
      popup  

  public java.awt.PopupMenu getPopupMenu();
    descriptor: ()Ljava/awt/PopupMenu;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 327
            aload 0 /* this */
            getfield java.awt.TrayIcon.popup:Ljava/awt/PopupMenu;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public void setToolTip(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.lang.String tooltip
         0: .line 344
            aload 0 /* this */
            aload 1 /* tooltip */
            putfield java.awt.TrayIcon.tooltip:Ljava/lang/String;
         1: .line 346
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            astore 2 /* peer */
        start local 2 // java.awt.peer.TrayIconPeer peer
         2: .line 347
            aload 2 /* peer */
            ifnull 4
         3: .line 348
            aload 2 /* peer */
            aload 1 /* tooltip */
            invokeinterface java.awt.peer.TrayIconPeer.setToolTip:(Ljava/lang/String;)V
         4: .line 350
      StackMap locals: java.awt.peer.TrayIconPeer
      StackMap stack:
            return
        end local 2 // java.awt.peer.TrayIconPeer peer
        end local 1 // java.lang.String tooltip
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/awt/TrayIcon;
            0    5     1  tooltip  Ljava/lang/String;
            2    5     2     peer  Ljava/awt/peer/TrayIconPeer;
    MethodParameters:
         Name  Flags
      tooltip  

  public java.lang.String getToolTip();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 360
            aload 0 /* this */
            getfield java.awt.TrayIcon.tooltip:Ljava/lang/String;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public void setImageAutoSize(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // boolean autosize
         0: .line 382
            aload 0 /* this */
            iload 1 /* autosize */
            putfield java.awt.TrayIcon.autosize:Z
         1: .line 384
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            astore 2 /* peer */
        start local 2 // java.awt.peer.TrayIconPeer peer
         2: .line 385
            aload 2 /* peer */
            ifnull 4
         3: .line 386
            aload 2 /* peer */
            invokeinterface java.awt.peer.TrayIconPeer.updateImage:()V
         4: .line 388
      StackMap locals: java.awt.peer.TrayIconPeer
      StackMap stack:
            return
        end local 2 // java.awt.peer.TrayIconPeer peer
        end local 1 // boolean autosize
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/awt/TrayIcon;
            0    5     1  autosize  Z
            2    5     2      peer  Ljava/awt/peer/TrayIconPeer;
    MethodParameters:
          Name  Flags
      autosize  

  public boolean isImageAutoSize();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 398
            aload 0 /* this */
            getfield java.awt.TrayIcon.autosize:Z
            ireturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public synchronized void addMouseListener(java.awt.event.MouseListener);
    descriptor: (Ljava/awt/event/MouseListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseListener listener
         0: .line 422
            aload 1 /* listener */
            ifnonnull 2
         1: .line 423
            return
         2: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.add:(Ljava/awt/event/MouseListener;Ljava/awt/event/MouseListener;)Ljava/awt/event/MouseListener;
            putfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
         3: .line 426
            return
        end local 1 // java.awt.event.MouseListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/MouseListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized void removeMouseListener(java.awt.event.MouseListener);
    descriptor: (Ljava/awt/event/MouseListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseListener listener
         0: .line 441
            aload 1 /* listener */
            ifnonnull 2
         1: .line 442
            return
         2: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.remove:(Ljava/awt/event/MouseListener;Ljava/awt/event/MouseListener;)Ljava/awt/event/MouseListener;
            putfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
         3: .line 445
            return
        end local 1 // java.awt.event.MouseListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/MouseListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized java.awt.event.MouseListener[] getMouseListeners();
    descriptor: ()[Ljava/awt/event/MouseListener;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 460
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
            ldc Ljava/awt/event/MouseListener;
            invokestatic java.awt.AWTEventMulticaster.getListeners:(Ljava/util/EventListener;Ljava/lang/Class;)[Ljava/util/EventListener;
            checkcast java.awt.event.MouseListener[]
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public synchronized void addMouseMotionListener(java.awt.event.MouseMotionListener);
    descriptor: (Ljava/awt/event/MouseMotionListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseMotionListener listener
         0: .line 483
            aload 1 /* listener */
            ifnonnull 2
         1: .line 484
            return
         2: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.add:(Ljava/awt/event/MouseMotionListener;Ljava/awt/event/MouseMotionListener;)Ljava/awt/event/MouseMotionListener;
            putfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
         3: .line 487
            return
        end local 1 // java.awt.event.MouseMotionListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/MouseMotionListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized void removeMouseMotionListener(java.awt.event.MouseMotionListener);
    descriptor: (Ljava/awt/event/MouseMotionListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseMotionListener listener
         0: .line 502
            aload 1 /* listener */
            ifnonnull 2
         1: .line 503
            return
         2: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.remove:(Ljava/awt/event/MouseMotionListener;Ljava/awt/event/MouseMotionListener;)Ljava/awt/event/MouseMotionListener;
            putfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
         3: .line 506
            return
        end local 1 // java.awt.event.MouseMotionListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/MouseMotionListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized java.awt.event.MouseMotionListener[] getMouseMotionListeners();
    descriptor: ()[Ljava/awt/event/MouseMotionListener;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 521
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
            ldc Ljava/awt/event/MouseMotionListener;
            invokestatic java.awt.AWTEventMulticaster.getListeners:(Ljava/util/EventListener;Ljava/lang/Class;)[Ljava/util/EventListener;
            checkcast java.awt.event.MouseMotionListener[]
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public java.lang.String getActionCommand();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 532
            aload 0 /* this */
            getfield java.awt.TrayIcon.actionCommand:Ljava/lang/String;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public void setActionCommand(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.lang.String command
         0: .line 547
            aload 0 /* this */
            aload 1 /* command */
            putfield java.awt.TrayIcon.actionCommand:Ljava/lang/String;
         1: .line 548
            return
        end local 1 // java.lang.String command
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/awt/TrayIcon;
            0    2     1  command  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      command  

  public synchronized void addActionListener(java.awt.event.ActionListener);
    descriptor: (Ljava/awt/event/ActionListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.ActionListener listener
         0: .line 569
            aload 1 /* listener */
            ifnonnull 2
         1: .line 570
            return
         2: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.add:(Ljava/awt/event/ActionListener;Ljava/awt/event/ActionListener;)Ljava/awt/event/ActionListener;
            putfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
         3: .line 573
            return
        end local 1 // java.awt.event.ActionListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/ActionListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized void removeActionListener(java.awt.event.ActionListener);
    descriptor: (Ljava/awt/event/ActionListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.ActionListener listener
         0: .line 589
            aload 1 /* listener */
            ifnonnull 2
         1: .line 590
            return
         2: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
            aload 1 /* listener */
            invokestatic java.awt.AWTEventMulticaster.remove:(Ljava/awt/event/ActionListener;Ljava/awt/event/ActionListener;)Ljava/awt/event/ActionListener;
            putfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
         3: .line 593
            return
        end local 1 // java.awt.event.ActionListener listener
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1  listener  Ljava/awt/event/ActionListener;
    MethodParameters:
          Name  Flags
      listener  

  public synchronized java.awt.event.ActionListener[] getActionListeners();
    descriptor: ()[Ljava/awt/event/ActionListener;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 608
            aload 0 /* this */
            getfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
            ldc Ljava/awt/event/ActionListener;
            invokestatic java.awt.AWTEventMulticaster.getListeners:(Ljava/util/EventListener;Ljava/lang/Class;)[Ljava/util/EventListener;
            checkcast java.awt.event.ActionListener[]
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  public void displayMessage(java.lang.String, java.lang.String, java.awt.TrayIcon$MessageType);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/awt/TrayIcon$MessageType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.lang.String caption
        start local 2 // java.lang.String text
        start local 3 // java.awt.TrayIcon$MessageType messageType
         0: .line 656
            aload 1 /* caption */
            ifnonnull 2
            aload 2 /* text */
            ifnonnull 2
         1: .line 657
            new java.lang.NullPointerException
            dup
            ldc "displaying the message with both caption and text being null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            astore 4 /* peer */
        start local 4 // java.awt.peer.TrayIconPeer peer
         3: .line 661
            aload 4 /* peer */
            ifnull 5
         4: .line 662
            aload 4 /* peer */
            aload 1 /* caption */
            aload 2 /* text */
            aload 3 /* messageType */
            invokevirtual java.awt.TrayIcon$MessageType.name:()Ljava/lang/String;
            invokeinterface java.awt.peer.TrayIconPeer.displayMessage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 664
      StackMap locals: java.awt.peer.TrayIconPeer
      StackMap stack:
            return
        end local 4 // java.awt.peer.TrayIconPeer peer
        end local 3 // java.awt.TrayIcon$MessageType messageType
        end local 2 // java.lang.String text
        end local 1 // java.lang.String caption
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/awt/TrayIcon;
            0    6     1      caption  Ljava/lang/String;
            0    6     2         text  Ljava/lang/String;
            0    6     3  messageType  Ljava/awt/TrayIcon$MessageType;
            3    6     4         peer  Ljava/awt/peer/TrayIconPeer;
    MethodParameters:
             Name  Flags
      caption      
      text         
      messageType  

  public java.awt.Dimension getSize();
    descriptor: ()Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 678
            invokestatic java.awt.SystemTray.getSystemTray:()Ljava/awt/SystemTray;
            invokevirtual java.awt.SystemTray.getTrayIconSize:()Ljava/awt/Dimension;
            areturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  void addNotify();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 687
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 688
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            ifnonnull 8
         2: .line 689
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 2 /* toolkit */
        start local 2 // java.awt.Toolkit toolkit
         3: .line 690
            aload 2 /* toolkit */
            instanceof sun.awt.SunToolkit
            ifeq 6
         4: .line 691
            aload 0 /* this */
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            checkcast sun.awt.SunToolkit
            aload 0 /* this */
            invokevirtual sun.awt.SunToolkit.createTrayIcon:(Ljava/awt/TrayIcon;)Ljava/awt/peer/TrayIconPeer;
            putfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
         5: .line 692
            goto 8
      StackMap locals: java.awt.TrayIcon java.awt.Toolkit
      StackMap stack:
         6: aload 2 /* toolkit */
            instanceof sun.awt.HeadlessToolkit
            ifeq 8
         7: .line 693
            aload 0 /* this */
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            checkcast sun.awt.HeadlessToolkit
            aload 0 /* this */
            invokevirtual sun.awt.HeadlessToolkit.createTrayIcon:(Ljava/awt/TrayIcon;)Ljava/awt/peer/TrayIconPeer;
            putfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
        end local 2 // java.awt.Toolkit toolkit
         8: .line 687
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            aload 0 /* this */
            getfield java.awt.TrayIcon.tooltip:Ljava/lang/String;
            invokeinterface java.awt.peer.TrayIconPeer.setToolTip:(Ljava/lang/String;)V
        13: .line 698
            return
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljava/awt/TrayIcon;
            3    8     2  toolkit  Ljava/awt/Toolkit;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws java.awt.AWTException

  void removeNotify();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 701
            aconst_null
            astore 1 /* p */
        start local 1 // java.awt.peer.TrayIconPeer p
         1: .line 702
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 703
            aload 0 /* this */
            getfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
            astore 1 /* p */
         3: .line 704
            aload 0 /* this */
            aconst_null
            putfield java.awt.TrayIcon.peer:Ljava/awt/peer/TrayIconPeer;
         4: .line 702
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: java.awt.TrayIcon java.awt.peer.TrayIconPeer java.awt.TrayIcon
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 706
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            ifnull 10
         9: .line 707
            aload 1 /* p */
            invokeinterface java.awt.peer.TrayIconPeer.dispose:()V
        10: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.peer.TrayIconPeer p
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/awt/TrayIcon;
            1   11     1     p  Ljava/awt/peer/TrayIconPeer;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  void setID(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // int id
         0: .line 712
            aload 0 /* this */
            iload 1 /* id */
            putfield java.awt.TrayIcon.id:I
         1: .line 713
            return
        end local 1 // int id
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/TrayIcon;
            0    2     1    id  I
    MethodParameters:
      Name  Flags
      id    

  int getID();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.TrayIcon this
         0: .line 716
            aload 0 /* this */
            getfield java.awt.TrayIcon.id:I
            ireturn
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/TrayIcon;

  void dispatchEvent(java.awt.AWTEvent);
    descriptor: (Ljava/awt/AWTEvent;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.AWTEvent e
         0: .line 720
            aload 1 /* e */
            invokestatic java.awt.EventQueue.setCurrentEventAndMostRecentTime:(Ljava/awt/AWTEvent;)V
         1: .line 721
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            aload 1 /* e */
            invokevirtual java.awt.Toolkit.notifyAWTEventListeners:(Ljava/awt/AWTEvent;)V
         2: .line 722
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual java.awt.TrayIcon.processEvent:(Ljava/awt/AWTEvent;)V
         3: .line 723
            return
        end local 1 // java.awt.AWTEvent e
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/TrayIcon;
            0    4     1     e  Ljava/awt/AWTEvent;
    MethodParameters:
      Name  Flags
      e     

  void processEvent(java.awt.AWTEvent);
    descriptor: (Ljava/awt/AWTEvent;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.AWTEvent e
         0: .line 726
            aload 1 /* e */
            instanceof java.awt.event.MouseEvent
            ifeq 8
         1: .line 727
            aload 1 /* e */
            invokevirtual java.awt.AWTEvent.getID:()I
            tableswitch { // 500 - 503
                  500: 2
                  501: 2
                  502: 2
                  503: 4
              default: 6
          }
         2: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            checkcast java.awt.event.MouseEvent
            invokevirtual java.awt.TrayIcon.processMouseEvent:(Ljava/awt/event/MouseEvent;)V
         3: .line 732
            goto 10
         4: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            checkcast java.awt.event.MouseEvent
            invokevirtual java.awt.TrayIcon.processMouseMotionEvent:(Ljava/awt/event/MouseEvent;)V
         5: .line 735
            goto 10
         6: .line 737
      StackMap locals:
      StackMap stack:
            return
         7: .line 739
      StackMap locals:
      StackMap stack:
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 1 /* e */
            instanceof java.awt.event.ActionEvent
            ifeq 10
         9: .line 740
            aload 0 /* this */
            aload 1 /* e */
            checkcast java.awt.event.ActionEvent
            invokevirtual java.awt.TrayIcon.processActionEvent:(Ljava/awt/event/ActionEvent;)V
        10: .line 742
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.AWTEvent e
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/awt/TrayIcon;
            0   11     1     e  Ljava/awt/AWTEvent;
    MethodParameters:
      Name  Flags
      e     

  void processMouseEvent(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseEvent e
         0: .line 745
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseListener:Ljava/awt/event/MouseListener;
            astore 2 /* listener */
        start local 2 // java.awt.event.MouseListener listener
         1: .line 747
            aload 2 /* listener */
            ifnull 11
         2: .line 748
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            istore 3 /* id */
        start local 3 // int id
         3: .line 749
            iload 3 /* id */
            tableswitch { // 500 - 502
                  500: 8
                  501: 4
                  502: 6
              default: 10
          }
         4: .line 751
      StackMap locals: java.awt.event.MouseListener int
      StackMap stack:
            aload 2 /* listener */
            aload 1 /* e */
            invokeinterface java.awt.event.MouseListener.mousePressed:(Ljava/awt/event/MouseEvent;)V
         5: .line 752
            goto 11
         6: .line 754
      StackMap locals:
      StackMap stack:
            aload 2 /* listener */
            aload 1 /* e */
            invokeinterface java.awt.event.MouseListener.mouseReleased:(Ljava/awt/event/MouseEvent;)V
         7: .line 755
            goto 11
         8: .line 757
      StackMap locals:
      StackMap stack:
            aload 2 /* listener */
            aload 1 /* e */
            invokeinterface java.awt.event.MouseListener.mouseClicked:(Ljava/awt/event/MouseEvent;)V
         9: .line 758
            goto 11
        10: .line 760
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int id
        11: .line 763
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.awt.event.MouseListener listener
        end local 1 // java.awt.event.MouseEvent e
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/awt/TrayIcon;
            0   12     1         e  Ljava/awt/event/MouseEvent;
            1   12     2  listener  Ljava/awt/event/MouseListener;
            3   11     3        id  I
    MethodParameters:
      Name  Flags
      e     

  void processMouseMotionEvent(java.awt.event.MouseEvent);
    descriptor: (Ljava/awt/event/MouseEvent;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.MouseEvent e
         0: .line 766
            aload 0 /* this */
            getfield java.awt.TrayIcon.mouseMotionListener:Ljava/awt/event/MouseMotionListener;
            astore 2 /* listener */
        start local 2 // java.awt.event.MouseMotionListener listener
         1: .line 767
            aload 2 /* listener */
            ifnull 4
         2: .line 768
            aload 1 /* e */
            invokevirtual java.awt.event.MouseEvent.getID:()I
            sipush 503
            if_icmpne 4
         3: .line 770
            aload 2 /* listener */
            aload 1 /* e */
            invokeinterface java.awt.event.MouseMotionListener.mouseMoved:(Ljava/awt/event/MouseEvent;)V
         4: .line 772
      StackMap locals: java.awt.event.MouseMotionListener
      StackMap stack:
            return
        end local 2 // java.awt.event.MouseMotionListener listener
        end local 1 // java.awt.event.MouseEvent e
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/awt/TrayIcon;
            0    5     1         e  Ljava/awt/event/MouseEvent;
            1    5     2  listener  Ljava/awt/event/MouseMotionListener;
    MethodParameters:
      Name  Flags
      e     

  void processActionEvent(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.TrayIcon this
        start local 1 // java.awt.event.ActionEvent e
         0: .line 775
            aload 0 /* this */
            getfield java.awt.TrayIcon.actionListener:Ljava/awt/event/ActionListener;
            astore 2 /* listener */
        start local 2 // java.awt.event.ActionListener listener
         1: .line 776
            aload 2 /* listener */
            ifnull 3
         2: .line 777
            aload 2 /* listener */
            aload 1 /* e */
            invokeinterface java.awt.event.ActionListener.actionPerformed:(Ljava/awt/event/ActionEvent;)V
         3: .line 779
      StackMap locals: java.awt.event.ActionListener
      StackMap stack:
            return
        end local 2 // java.awt.event.ActionListener listener
        end local 1 // java.awt.event.ActionEvent e
        end local 0 // java.awt.TrayIcon this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/awt/TrayIcon;
            0    4     1         e  Ljava/awt/event/ActionEvent;
            1    4     2  listener  Ljava/awt/event/ActionListener;
    MethodParameters:
      Name  Flags
      e     

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "TrayIcon.java"
NestMembers:
  java.awt.TrayIcon$1  java.awt.TrayIcon$MessageType
InnerClasses:
  java.awt.TrayIcon$1
  public final MessageType = java.awt.TrayIcon$MessageType of java.awt.TrayIcon
  public abstract TrayIconAccessor = sun.awt.AWTAccessor$TrayIconAccessor of sun.awt.AWTAccessor