public class sun.awt.X11.InfoWindow$Balloon extends sun.awt.X11.InfoWindow
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.X11.InfoWindow$Balloon
  super_class: sun.awt.X11.InfoWindow
{
  private final sun.awt.X11.InfoWindow$Balloon$LiveArguments liveArguments;
    descriptor: Lsun/awt/X11/InfoWindow$Balloon$LiveArguments;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object target;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int BALLOON_SHOW_TIME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  private static final int BALLOON_TEXT_MAX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final int BALLOON_WORD_LINE_MAX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int BALLOON_WORD_LINE_MAX_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int BALLOON_ICON_WIDTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int BALLOON_ICON_HEIGHT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int BALLOON_TRAY_ICON_INDENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.awt.Color BALLOON_CAPTION_BACKGROUND_COLOR;
    descriptor: Ljava/awt/Color;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.awt.Font BALLOON_CAPTION_FONT;
    descriptor: Ljava/awt/Font;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.awt.Panel mainPanel;
    descriptor: Ljava/awt/Panel;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Panel captionPanel;
    descriptor: Ljava/awt/Panel;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Label captionLabel;
    descriptor: Ljava/awt/Label;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Button closeButton;
    descriptor: Ljava/awt/Button;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Panel textPanel;
    descriptor: Ljava/awt/Panel;
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.X11.XTrayIconPeer$IconCanvas iconCanvas;
    descriptor: Lsun/awt/X11/XTrayIconPeer$IconCanvas;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Label[] lineLabels;
    descriptor: [Ljava/awt/Label;
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.X11.InfoWindow$Balloon$ActionPerformer ap;
    descriptor: Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Image iconImage;
    descriptor: Ljava/awt/Image;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Image errorImage;
    descriptor: Ljava/awt/Image;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Image warnImage;
    descriptor: Ljava/awt/Image;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Image infoImage;
    descriptor: Ljava/awt/Image;
    flags: (0x0002) ACC_PRIVATE

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

  private sun.awt.X11.InfoWindow$Balloon$Displayer displayer;
    descriptor: Lsun/awt/X11/InfoWindow$Balloon$Displayer;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 282
            new java.awt.Color
            dup
            sipush 200
            sipush 200
            sipush 255
            invokespecial java.awt.Color.<init>:(III)V
            putstatic sun.awt.X11.InfoWindow$Balloon.BALLOON_CAPTION_BACKGROUND_COLOR:Ljava/awt/Color;
         1: .line 283
            new java.awt.Font
            dup
            ldc "Dialog"
            iconst_1
            bipush 12
            invokespecial java.awt.Font.<init>:(Ljava/lang/String;II)V
            putstatic sun.awt.X11.InfoWindow$Balloon.BALLOON_CAPTION_FONT:Ljava/awt/Font;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.awt.Frame, java.lang.Object, sun.awt.X11.InfoWindow$Balloon$LiveArguments);
    descriptor: (Ljava/awt/Frame;Ljava/lang/Object;Lsun/awt/X11/InfoWindow$Balloon$LiveArguments;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // sun.awt.X11.InfoWindow$Balloon this
        start local 1 // java.awt.Frame parent
        start local 2 // java.lang.Object target
        start local 3 // sun.awt.X11.InfoWindow$Balloon$LiveArguments liveArguments
         0: .line 303
            aload 0 /* this */
            aload 1 /* parent */
            new java.awt.Color
            dup
            bipush 90
            bipush 80
            sipush 190
            invokespecial java.awt.Color.<init>:(III)V
            invokespecial sun.awt.X11.InfoWindow.<init>:(Ljava/awt/Frame;Ljava/awt/Color;)V
         1: .line 285
            aload 0 /* this */
            new java.awt.Panel
            dup
            invokespecial java.awt.Panel.<init>:()V
            putfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
         2: .line 286
            aload 0 /* this */
            new java.awt.Panel
            dup
            invokespecial java.awt.Panel.<init>:()V
            putfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
         3: .line 287
            aload 0 /* this */
            new java.awt.Label
            dup
            ldc ""
            invokespecial java.awt.Label.<init>:(Ljava/lang/String;)V
            putfield sun.awt.X11.InfoWindow$Balloon.captionLabel:Ljava/awt/Label;
         4: .line 288
            aload 0 /* this */
            new java.awt.Button
            dup
            ldc "X"
            invokespecial java.awt.Button.<init>:(Ljava/lang/String;)V
            putfield sun.awt.X11.InfoWindow$Balloon.closeButton:Ljava/awt/Button;
         5: .line 289
            aload 0 /* this */
            new java.awt.Panel
            dup
            invokespecial java.awt.Panel.<init>:()V
            putfield sun.awt.X11.InfoWindow$Balloon.textPanel:Ljava/awt/Panel;
         6: .line 290
            aload 0 /* this */
            new sun.awt.X11.XTrayIconPeer$IconCanvas
            dup
            bipush 32
            bipush 32
            invokespecial sun.awt.X11.XTrayIconPeer$IconCanvas.<init>:(II)V
            putfield sun.awt.X11.InfoWindow$Balloon.iconCanvas:Lsun/awt/X11/XTrayIconPeer$IconCanvas;
         7: .line 291
            aload 0 /* this */
            iconst_4
            anewarray java.awt.Label
            putfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
         8: .line 292
            aload 0 /* this */
            new sun.awt.X11.InfoWindow$Balloon$ActionPerformer
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow$Balloon$ActionPerformer.<init>:(Lsun/awt/X11/InfoWindow$Balloon;)V
            putfield sun.awt.X11.InfoWindow$Balloon.ap:Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
         9: .line 300
            aload 0 /* this */
            new sun.awt.X11.InfoWindow$Balloon$Displayer
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow$Balloon$Displayer.<init>:(Lsun/awt/X11/InfoWindow$Balloon;)V
            putfield sun.awt.X11.InfoWindow$Balloon.displayer:Lsun/awt/X11/InfoWindow$Balloon$Displayer;
        10: .line 304
            aload 0 /* this */
            aload 3 /* liveArguments */
            putfield sun.awt.X11.InfoWindow$Balloon.liveArguments:Lsun/awt/X11/InfoWindow$Balloon$LiveArguments;
        11: .line 305
            aload 0 /* this */
            aload 2 /* target */
            putfield sun.awt.X11.InfoWindow$Balloon.target:Ljava/lang/Object;
        12: .line 307
            aload 0 /* this */
            invokestatic sun.awt.X11.XTrayIconPeer.suppressWarningString:(Ljava/awt/Window;)V
        13: .line 309
            aload 0 /* this */
            new sun.awt.X11.InfoWindow$Balloon$1
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow$Balloon$1.<init>:(Lsun/awt/X11/InfoWindow$Balloon;)V
        14: .line 324
            sipush 10000
        15: .line 309
            invokevirtual sun.awt.X11.InfoWindow$Balloon.setCloser:(Ljava/lang/Runnable;I)V
        16: .line 326
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            invokevirtual sun.awt.X11.InfoWindow$Balloon.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        17: .line 328
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionLabel:Ljava/awt/Label;
            getstatic sun.awt.X11.InfoWindow$Balloon.BALLOON_CAPTION_FONT:Ljava/awt/Font;
            invokevirtual java.awt.Label.setFont:(Ljava/awt/Font;)V
        18: .line 329
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionLabel:Ljava/awt/Label;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.ap:Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
            invokevirtual java.awt.Label.addMouseListener:(Ljava/awt/event/MouseListener;)V
        19: .line 331
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            new java.awt.BorderLayout
            dup
            invokespecial java.awt.BorderLayout.<init>:()V
            invokevirtual java.awt.Panel.setLayout:(Ljava/awt/LayoutManager;)V
        20: .line 332
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionLabel:Ljava/awt/Label;
            ldc "West"
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        21: .line 333
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.closeButton:Ljava/awt/Button;
            ldc "East"
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        22: .line 334
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            getstatic sun.awt.X11.InfoWindow$Balloon.BALLOON_CAPTION_BACKGROUND_COLOR:Ljava/awt/Color;
            invokevirtual java.awt.Panel.setBackground:(Ljava/awt/Color;)V
        23: .line 335
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.ap:Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
            invokevirtual java.awt.Panel.addMouseListener:(Ljava/awt/event/MouseListener;)V
        24: .line 337
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.closeButton:Ljava/awt/Button;
            new sun.awt.X11.InfoWindow$Balloon$2
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow$Balloon$2.<init>:(Lsun/awt/X11/InfoWindow$Balloon;)V
            invokevirtual java.awt.Button.addActionListener:(Ljava/awt/event/ActionListener;)V
        25: .line 343
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            new java.awt.BorderLayout
            dup
            invokespecial java.awt.BorderLayout.<init>:()V
            invokevirtual java.awt.Panel.setLayout:(Ljava/awt/LayoutManager;)V
        26: .line 344
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            getstatic java.awt.Color.white:Ljava/awt/Color;
            invokevirtual java.awt.Panel.setBackground:(Ljava/awt/Color;)V
        27: .line 345
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionPanel:Ljava/awt/Panel;
            ldc "North"
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        28: .line 346
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.iconCanvas:Lsun/awt/X11/XTrayIconPeer$IconCanvas;
            ldc "West"
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        29: .line 347
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.mainPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.textPanel:Ljava/awt/Panel;
            ldc "Center"
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        30: .line 349
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.iconCanvas:Lsun/awt/X11/XTrayIconPeer$IconCanvas;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.ap:Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
            invokevirtual sun.awt.X11.XTrayIconPeer$IconCanvas.addMouseListener:(Ljava/awt/event/MouseListener;)V
        31: .line 351
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        32: goto 37
        33: .line 352
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.awt.Frame java.lang.Object sun.awt.X11.InfoWindow$Balloon$LiveArguments int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 4 /* i */
            new java.awt.Label
            dup
            invokespecial java.awt.Label.<init>:()V
            aastore
        34: .line 353
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 4 /* i */
            aaload
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.ap:Lsun/awt/X11/InfoWindow$Balloon$ActionPerformer;
            invokevirtual java.awt.Label.addMouseListener:(Ljava/awt/event/MouseListener;)V
        35: .line 354
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 4 /* i */
            aaload
            getstatic java.awt.Color.white:Ljava/awt/Color;
            invokevirtual java.awt.Label.setBackground:(Ljava/awt/Color;)V
        36: .line 351
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* i */
            iconst_4
            if_icmplt 33
        end local 4 // int i
        38: .line 357
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.displayer:Lsun/awt/X11/InfoWindow$Balloon$Displayer;
            getfield sun.awt.X11.InfoWindow$Balloon$Displayer.thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
        39: .line 358
            return
        end local 3 // sun.awt.X11.InfoWindow$Balloon$LiveArguments liveArguments
        end local 2 // java.lang.Object target
        end local 1 // java.awt.Frame parent
        end local 0 // sun.awt.X11.InfoWindow$Balloon this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   40     0           this  Lsun/awt/X11/InfoWindow$Balloon;
            0   40     1         parent  Ljava/awt/Frame;
            0   40     2         target  Ljava/lang/Object;
            0   40     3  liveArguments  Lsun/awt/X11/InfoWindow$Balloon$LiveArguments;
           32   38     4              i  I
    MethodParameters:
               Name  Flags
      parent         
      target         
      liveArguments  

  public void display(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.awt.X11.InfoWindow$Balloon this
        start local 1 // java.lang.String caption
        start local 2 // java.lang.String text
        start local 3 // java.lang.String messageType
         0: .line 361
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.gtkImagesLoaded:Z
            ifne 2
         1: .line 362
            aload 0 /* this */
            invokevirtual sun.awt.X11.InfoWindow$Balloon.loadGtkImages:()V
         2: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.displayer:Lsun/awt/X11/InfoWindow$Balloon$Displayer;
            aload 1 /* caption */
            aload 2 /* text */
            aload 3 /* messageType */
            invokevirtual sun.awt.X11.InfoWindow$Balloon$Displayer.display:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 365
            return
        end local 3 // java.lang.String messageType
        end local 2 // java.lang.String text
        end local 1 // java.lang.String caption
        end local 0 // sun.awt.X11.InfoWindow$Balloon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lsun/awt/X11/InfoWindow$Balloon;
            0    4     1      caption  Ljava/lang/String;
            0    4     2         text  Ljava/lang/String;
            0    4     3  messageType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      caption      
      text         
      messageType  

  private void _display(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // sun.awt.X11.InfoWindow$Balloon this
        start local 1 // java.lang.String caption
        start local 2 // java.lang.String text
        start local 3 // java.lang.String messageType
         0: .line 368
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.captionLabel:Ljava/awt/Label;
            aload 1 /* caption */
            invokevirtual java.awt.Label.setText:(Ljava/lang/String;)V
         1: .line 370
            invokestatic java.text.BreakIterator.getWordInstance:()Ljava/text/BreakIterator;
            astore 4 /* iter */
        start local 4 // java.text.BreakIterator iter
         2: .line 371
            aload 2 /* text */
            ifnull 23
         3: .line 372
            aload 4 /* iter */
            aload 2 /* text */
            invokevirtual java.text.BreakIterator.setText:(Ljava/lang/String;)V
         4: .line 373
            aload 4 /* iter */
            invokevirtual java.text.BreakIterator.first:()I
            istore 5 /* start */
        start local 5 // int start
         5: .line 374
            iconst_0
            istore 7 /* nLines */
        start local 7 // int nLines
         6: .line 377
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator int top int
      StackMap stack:
            aload 4 /* iter */
            invokevirtual java.text.BreakIterator.next:()I
            istore 6 /* end */
        start local 6 // int end
         7: .line 379
            iload 6 /* end */
            iconst_m1
            if_icmpeq 9
         8: .line 380
            aload 2 /* text */
            iload 5 /* start */
            iload 6 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            bipush 50
            if_icmplt 15
         9: .line 382
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 7 /* nLines */
            aaload
            aload 2 /* text */
            iload 5 /* start */
            iload 6 /* end */
            iconst_m1
            if_icmpne 11
        10: .line 383
            aload 4 /* iter */
            invokevirtual java.text.BreakIterator.last:()I
            goto 12
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator int int int
      StackMap stack: java.awt.Label java.lang.String int
        11: iload 6 /* end */
        12: .line 382
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator int int int
      StackMap stack: java.awt.Label java.lang.String int int
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.awt.Label.setText:(Ljava/lang/String;)V
        13: .line 384
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.textPanel:Ljava/awt/Panel;
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 7 /* nLines */
            iinc 7 /* nLines */ 1
            aaload
            invokevirtual java.awt.Panel.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        14: .line 385
            iload 6 /* end */
            istore 5 /* start */
        15: .line 387
      StackMap locals:
      StackMap stack:
            iload 7 /* nLines */
            iconst_4
            if_icmpne 21
        16: .line 388
            iload 6 /* end */
            iconst_m1
            if_icmpeq 22
        17: .line 389
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 7 /* nLines */
            iconst_1
            isub
            aaload
        18: .line 390
            new java.lang.String
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.lineLabels:[Ljava/awt/Label;
            iload 7 /* nLines */
            iconst_1
            isub
            aaload
            invokevirtual java.awt.Label.getText:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
        19: .line 389
            invokevirtual java.awt.Label.setText:(Ljava/lang/String;)V
        20: .line 392
            goto 22
        21: .line 394
      StackMap locals:
      StackMap stack:
            iload 6 /* end */
            iconst_m1
            if_icmpne 6
        22: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.textPanel:Ljava/awt/Panel;
            new java.awt.GridLayout
            dup
            iload 7 /* nLines */
            iconst_1
            invokespecial java.awt.GridLayout.<init>:(II)V
            invokevirtual java.awt.Panel.setLayout:(Ljava/awt/LayoutManager;)V
        end local 7 // int nLines
        end local 6 // int end
        end local 5 // int start
        23: .line 400
      StackMap locals:
      StackMap stack:
            ldc "ERROR"
            aload 3 /* messageType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 401
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.errorImage:Ljava/awt/Image;
            putfield sun.awt.X11.InfoWindow$Balloon.iconImage:Ljava/awt/Image;
        25: .line 402
            goto 33
      StackMap locals:
      StackMap stack:
        26: ldc "WARNING"
            aload 3 /* messageType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 403
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.warnImage:Ljava/awt/Image;
            putfield sun.awt.X11.InfoWindow$Balloon.iconImage:Ljava/awt/Image;
        28: .line 404
            goto 33
      StackMap locals:
      StackMap stack:
        29: ldc "INFO"
            aload 3 /* messageType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 405
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.infoImage:Ljava/awt/Image;
            putfield sun.awt.X11.InfoWindow$Balloon.iconImage:Ljava/awt/Image;
        31: .line 406
            goto 33
        32: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.awt.X11.InfoWindow$Balloon.iconImage:Ljava/awt/Image;
        33: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.iconImage:Ljava/awt/Image;
            ifnull 40
        34: .line 411
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.textPanel:Ljava/awt/Panel;
            invokevirtual java.awt.Panel.getSize:()Ljava/awt/Dimension;
            astore 5 /* tpSize */
        start local 5 // java.awt.Dimension tpSize
        35: .line 412
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.iconCanvas:Lsun/awt/X11/XTrayIconPeer$IconCanvas;
            bipush 32
            bipush 32
            aload 5 /* tpSize */
            getfield java.awt.Dimension.height:I
            if_icmple 37
        36: .line 413
            bipush 32
            goto 38
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator java.awt.Dimension
      StackMap stack: sun.awt.X11.XTrayIconPeer$IconCanvas int
        37: aload 5 /* tpSize */
            getfield java.awt.Dimension.height:I
        38: .line 412
      StackMap locals: sun.awt.X11.InfoWindow$Balloon java.lang.String java.lang.String java.lang.String java.text.BreakIterator java.awt.Dimension
      StackMap stack: sun.awt.X11.XTrayIconPeer$IconCanvas int int
            invokevirtual sun.awt.X11.XTrayIconPeer$IconCanvas.setSize:(II)V
        39: .line 414
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.iconCanvas:Lsun/awt/X11/XTrayIconPeer$IconCanvas;
            invokevirtual sun.awt.X11.XTrayIconPeer$IconCanvas.validate:()V
        end local 5 // java.awt.Dimension tpSize
        40: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.target:Ljava/lang/Object;
            new sun.awt.X11.InfoWindow$Balloon$3
            dup
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow$Balloon$3.<init>:(Lsun/awt/X11/InfoWindow$Balloon;)V
            invokestatic sun.awt.SunToolkit.executeOnEventHandlerThread:(Ljava/lang/Object;Ljava/lang/Runnable;)V
        41: .line 431
            return
        end local 4 // java.text.BreakIterator iter
        end local 3 // java.lang.String messageType
        end local 2 // java.lang.String text
        end local 1 // java.lang.String caption
        end local 0 // sun.awt.X11.InfoWindow$Balloon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   42     0         this  Lsun/awt/X11/InfoWindow$Balloon;
            0   42     1      caption  Ljava/lang/String;
            0   42     2         text  Ljava/lang/String;
            0   42     3  messageType  Ljava/lang/String;
            2   42     4         iter  Ljava/text/BreakIterator;
            5   23     5        start  I
            7   23     6          end  I
            6   23     7       nLines  I
           35   40     5       tpSize  Ljava/awt/Dimension;
    MethodParameters:
             Name  Flags
      caption      
      text         
      messageType  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.X11.InfoWindow$Balloon this
         0: .line 434
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.displayer:Lsun/awt/X11/InfoWindow$Balloon$Displayer;
            getfield sun.awt.X11.InfoWindow$Balloon$Displayer.thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         1: .line 435
            aload 0 /* this */
            invokespecial sun.awt.X11.InfoWindow.dispose:()V
         2: .line 436
            return
        end local 0 // sun.awt.X11.InfoWindow$Balloon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/X11/InfoWindow$Balloon;

  private void loadGtkImages();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.X11.InfoWindow$Balloon this
         0: .line 439
            aload 0 /* this */
            getfield sun.awt.X11.InfoWindow$Balloon.gtkImagesLoaded:Z
            ifne 11
         1: .line 440
            aload 0 /* this */
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
         2: .line 441
            ldc "gtk.icon.gtk-dialog-error.6.rtl"
         3: .line 440
            invokevirtual java.awt.Toolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.awt.Image
            putfield sun.awt.X11.InfoWindow$Balloon.errorImage:Ljava/awt/Image;
         4: .line 442
            aload 0 /* this */
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
         5: .line 443
            ldc "gtk.icon.gtk-dialog-warning.6.rtl"
         6: .line 442
            invokevirtual java.awt.Toolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.awt.Image
            putfield sun.awt.X11.InfoWindow$Balloon.warnImage:Ljava/awt/Image;
         7: .line 444
            aload 0 /* this */
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
         8: .line 445
            ldc "gtk.icon.gtk-dialog-info.6.rtl"
         9: .line 444
            invokevirtual java.awt.Toolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.awt.Image
            putfield sun.awt.X11.InfoWindow$Balloon.infoImage:Ljava/awt/Image;
        10: .line 446
            aload 0 /* this */
            iconst_1
            putfield sun.awt.X11.InfoWindow$Balloon.gtkImagesLoaded:Z
        11: .line 448
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.X11.InfoWindow$Balloon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/awt/X11/InfoWindow$Balloon;
}
SourceFile: "InfoWindow.java"
NestHost: sun.awt.X11.InfoWindow
InnerClasses:
  public Balloon = sun.awt.X11.InfoWindow$Balloon of sun.awt.X11.InfoWindow
  sun.awt.X11.InfoWindow$Balloon$1
  sun.awt.X11.InfoWindow$Balloon$2
  sun.awt.X11.InfoWindow$Balloon$3
  private ActionPerformer = sun.awt.X11.InfoWindow$Balloon$ActionPerformer of sun.awt.X11.InfoWindow$Balloon
  private Displayer = sun.awt.X11.InfoWindow$Balloon$Displayer of sun.awt.X11.InfoWindow$Balloon
  public abstract LiveArguments = sun.awt.X11.InfoWindow$Balloon$LiveArguments of sun.awt.X11.InfoWindow$Balloon
  private Message = sun.awt.X11.InfoWindow$Balloon$Message of sun.awt.X11.InfoWindow$Balloon
  public IconCanvas = sun.awt.X11.XTrayIconPeer$IconCanvas of sun.awt.X11.XTrayIconPeer