//# 0 errors, 294 messages
//#
/*
    //#MessageLabel.java:1:1: class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1
    //#MessageLabel.java:1:1: method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init
    //#MessageLabel.java:1:1: class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#MessageLabel.java:1:1: method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init
    //#MessageLabel.java:1:1: class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#MessageLabel.java:1:1: method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init
 * Copyright (c) 2006-2008 Chris Smith, Shane Mc Cormack, Gregory Holmes
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc.addons.ui_swing.components.statusbar;

import com.dmdirc.addons.ui_swing.UIUtilities;
import com.dmdirc.config.IdentityManager;
import com.dmdirc.ui.IconManager;
import com.dmdirc.ui.interfaces.StatusBarComponent;
import com.dmdirc.ui.interfaces.StatusMessageNotifier;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

/**
 * Message label handles showing messages in the status bar.
 */
public class MessageLabel extends JLabel implements StatusBarComponent, 
    //#MessageLabel.java:45: method: StatusMessageNotifier com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$002(MessageLabel, StatusMessageNotifier)
    //#input(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): x0
    //#input(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): x1
    //#output(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): return_value
    //#output(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): x0.messageNotifier
    //#pre[1] (StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): x0 != null
    //#post(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): return_value == x1
    //#post(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): init'ed(return_value)
    //#post(StatusMessageNotifier access$002(MessageLabel, StatusMessageNotifier)): x0.messageNotifier == return_value
    //#MessageLabel.java:45: end of method: StatusMessageNotifier com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$002(MessageLabel, StatusMessageNotifier)
    //#MessageLabel.java:45: method: TimerTask com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$100(MessageLabel)
    //#input(TimerTask access$100(MessageLabel)): x0
    //#input(TimerTask access$100(MessageLabel)): x0.messageTimer
    //#output(TimerTask access$100(MessageLabel)): return_value
    //#pre[1] (TimerTask access$100(MessageLabel)): x0 != null
    //#pre[2] (TimerTask access$100(MessageLabel)): init'ed(x0.messageTimer)
    //#post(TimerTask access$100(MessageLabel)): return_value == x0.messageTimer
    //#post(TimerTask access$100(MessageLabel)): init'ed(return_value)
    //#MessageLabel.java:45: end of method: TimerTask com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$100(MessageLabel)
    //#MessageLabel.java:45: method: TimerTask com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$102(MessageLabel, TimerTask)
    //#input(TimerTask access$102(MessageLabel, TimerTask)): x0
    //#input(TimerTask access$102(MessageLabel, TimerTask)): x1
    //#output(TimerTask access$102(MessageLabel, TimerTask)): return_value
    //#output(TimerTask access$102(MessageLabel, TimerTask)): x0.messageTimer
    //#pre[1] (TimerTask access$102(MessageLabel, TimerTask)): x0 != null
    //#post(TimerTask access$102(MessageLabel, TimerTask)): return_value == x1
    //#post(TimerTask access$102(MessageLabel, TimerTask)): init'ed(return_value)
    //#post(TimerTask access$102(MessageLabel, TimerTask)): x0.messageTimer == return_value
    //#MessageLabel.java:45: end of method: TimerTask com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.access$102(MessageLabel, TimerTask)
        MouseListener {

    /**
     * A version number for this class. It should be changed whenever the class
     * structure is changed (or anything else that would prevent serialized
     * objects being unserialized with the new class).
     */
    private static final long serialVersionUID = 1;
    /** Default status bar message. */
    private static final String DEFAULT_MESSAGE = "Ready.";
    /** current status bar message notifier. */
    private transient StatusMessageNotifier messageNotifier;
    /** Timer to clear the message. */
    private transient TimerTask messageTimer;

    /**
     * Instantiates a new message label.
     */
    public MessageLabel() {
        super();
    //#MessageLabel.java:65: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()): this
        setText(DEFAULT_MESSAGE);
    //#MessageLabel.java:66: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setText(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setText(String)
        setBorder(BorderFactory.createEtchedBorder());
    //#MessageLabel.java:67: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setBorder(Border)
        addMouseListener(this);
    //#MessageLabel.java:68: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:addMouseListener(MouseListener)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:addMouseListener(MouseListener)
    }
    //#MessageLabel.java:69: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel()

    public void setMessage(final String newMessage) {
        setMessage(newMessage, (StatusMessageNotifier) null);
    //#MessageLabel.java:72: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String)
    //#input(void setMessage(String)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void setMessage(String)): __Descendant_Table[others]
    //#input(void setMessage(String)): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void setMessage(String)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void setMessage(String)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void setMessage(String)): newMessage
    //#input(void setMessage(String)): this
    //#input(void setMessage(String)): this.__Tag
    //#pre[4] (void setMessage(String)): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#unanalyzed(void setMessage(String)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void setMessage(String)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void setMessage(String)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void setMessage(String)): Effects-of-calling:setMessage
    //#unanalyzed(void setMessage(String)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void setMessage(String)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOptionInt
    }
    //#MessageLabel.java:73: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String)

    public void setMessage(final String newMessage,
            final StatusMessageNotifier newNotifier) {
        setMessage(null, newMessage, newNotifier);
    //#MessageLabel.java:77: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, StatusMessageNotifier)
    //#input(void setMessage(String, StatusMessageNotifier)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void setMessage(String, StatusMessageNotifier)): __Descendant_Table[others]
    //#input(void setMessage(String, StatusMessageNotifier)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void setMessage(String, StatusMessageNotifier)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void setMessage(String, StatusMessageNotifier)): newMessage
    //#input(void setMessage(String, StatusMessageNotifier)): newNotifier
    //#input(void setMessage(String, StatusMessageNotifier)): this
    //#input(void setMessage(String, StatusMessageNotifier)): this.__Tag
    //#pre[5] (void setMessage(String, StatusMessageNotifier)): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#unanalyzed(void setMessage(String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void setMessage(String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void setMessage(String, StatusMessageNotifier)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void setMessage(String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void setMessage(String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOptionInt
    }
    //#MessageLabel.java:78: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, StatusMessageNotifier)

    public void setMessage(final String iconType, final String newMessage) {
        setMessage(iconType, newMessage, null);
    //#MessageLabel.java:81: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String)
    //#input(void setMessage(String, String)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void setMessage(String, String)): __Descendant_Table[others]
    //#input(void setMessage(String, String)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void setMessage(String, String)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void setMessage(String, String)): iconType
    //#input(void setMessage(String, String)): newMessage
    //#input(void setMessage(String, String)): this
    //#input(void setMessage(String, String)): this.__Tag
    //#pre[5] (void setMessage(String, String)): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#unanalyzed(void setMessage(String, String)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void setMessage(String, String)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void setMessage(String, String)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void setMessage(String, String)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void setMessage(String, String)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOptionInt
    }
    //#MessageLabel.java:82: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String)

    public void setMessage(final String iconType, final String newMessage,
            final StatusMessageNotifier newNotifier) {
        final int timeout =
    //#MessageLabel.java:86: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String, StatusMessageNotifier)
    //#MessageLabel.java:86: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void setMessage(String, String, StatusMessageNotifier)
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#MessageLabel.java:86: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.config.ConfigManager:getOptionInt(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void setMessage(String, String, StatusMessageNotifier)
    //#    unanalyzed callee: int com.dmdirc.config.ConfigManager:getOptionInt(String, String)
    //#input(void setMessage(String, String, StatusMessageNotifier)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void setMessage(String, String, StatusMessageNotifier)): __Descendant_Table[others]
    //#input(void setMessage(String, String, StatusMessageNotifier)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void setMessage(String, String, StatusMessageNotifier)): iconType
    //#input(void setMessage(String, String, StatusMessageNotifier)): newMessage
    //#input(void setMessage(String, String, StatusMessageNotifier)): newNotifier
    //#input(void setMessage(String, String, StatusMessageNotifier)): this
    //#input(void setMessage(String, String, StatusMessageNotifier)): this.__Tag
    //#pre[6] (void setMessage(String, String, StatusMessageNotifier)): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#presumption(void setMessage(String, String, StatusMessageNotifier)): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@86 != null
    //#unanalyzed(void setMessage(String, String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void setMessage(String, String, StatusMessageNotifier)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void setMessage(String, String, StatusMessageNotifier)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
                IdentityManager.getGlobalConfig().
                getOptionInt("statusBar", "messageDisplayLength");
        setMessage(iconType, newMessage, newNotifier, timeout);
    }
    //#MessageLabel.java:90: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String, StatusMessageNotifier)

    public void setMessage(final String newMessage,
            final StatusMessageNotifier newNotifier, final int timeout) {
        setMessage(null, newMessage, newNotifier, timeout);
    //#MessageLabel.java:94: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, StatusMessageNotifier, int)
    //#input(void setMessage(String, StatusMessageNotifier, int)): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void setMessage(String, StatusMessageNotifier, int)): __Descendant_Table[others]
    //#input(void setMessage(String, StatusMessageNotifier, int)): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void setMessage(String, StatusMessageNotifier, int)): newMessage
    //#input(void setMessage(String, StatusMessageNotifier, int)): newNotifier
    //#input(void setMessage(String, StatusMessageNotifier, int)): this
    //#input(void setMessage(String, StatusMessageNotifier, int)): this.__Tag
    //#input(void setMessage(String, StatusMessageNotifier, int)): timeout
    //#pre[5] (void setMessage(String, StatusMessageNotifier, int)): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#unanalyzed(void setMessage(String, StatusMessageNotifier, int)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void setMessage(String, StatusMessageNotifier, int)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void setMessage(String, StatusMessageNotifier, int)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    }
    //#MessageLabel.java:95: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, StatusMessageNotifier, int)

    public synchronized void setMessage(final String iconType, final String newMessage,
            final StatusMessageNotifier newNotifier, final int timeout) {
        final Icon icon;
        if (iconType == null) {
    //#MessageLabel.java:100: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String, StatusMessageNotifier, int)
    //#input(void setMessage(String, String, StatusMessageNotifier, int)): iconType
    //#input(void setMessage(String, String, StatusMessageNotifier, int)): newMessage
    //#input(void setMessage(String, String, StatusMessageNotifier, int)): newNotifier
    //#input(void setMessage(String, String, StatusMessageNotifier, int)): this
    //#input(void setMessage(String, String, StatusMessageNotifier, int)): timeout
    //#presumption(void setMessage(String, String, StatusMessageNotifier, int)): com.dmdirc.ui.IconManager:getIconManager(...)@103 != null
    //#test_vector(void setMessage(String, String, StatusMessageNotifier, int)): iconType: Inverse{null}, Addr_Set{null}
            icon = null;
        } else {
            icon = IconManager.getIconManager().getIcon(iconType);
    //#MessageLabel.java:103: Warning: method not available - call not analyzed
    //#    call on IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void setMessage(String, String, StatusMessageNotifier, int)
    //#    unanalyzed callee: IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#MessageLabel.java:103: Warning: method not available - call not analyzed
    //#    call on Icon com.dmdirc.ui.IconManager:getIcon(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void setMessage(String, String, StatusMessageNotifier, int)
    //#    unanalyzed callee: Icon com.dmdirc.ui.IconManager:getIcon(String)
        }
        SwingUtilities.invokeLater(new Runnable() {
    //#MessageLabel.java:105: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): Param_3
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): Param_4
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): Param_5
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$icon
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$newMessage
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$newNotifier
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$timeout
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$icon == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): init'ed(this.val$icon)
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$newMessage == Param_3
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): init'ed(this.val$newMessage)
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$newNotifier == Param_4
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): init'ed(this.val$newNotifier)
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): this.val$timeout == Param_5
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)): init'ed(this.val$timeout)
    //#MessageLabel.java:105: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1(MessageLabel, Icon, String, StatusMessageNotifier, int)

            /** {@inheritDoc} */
            @Override
            public void run() {
                setIcon(icon);
    //#MessageLabel.java:110: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.run()
    //#MessageLabel.java:110: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setIcon(Icon)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setIcon(Icon)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.messageTimer
    //#input(void run()): this.val$icon
    //#input(void run()): this.val$newMessage
    //#input(void run()): this.val$newNotifier
    //#input(void run()): this.val$timeout
    //#output(void run()): new MessageLabel$1$1(run#1) num objects
    //#output(void run()): new MessageLabel$1$1(run#1).__Tag
    //#output(void run()): new MessageLabel$1$1(run#1).this$1
    //#output(void run()): this.this$0.messageNotifier
    //#output(void run()): this.this$0.messageTimer
    //#new obj(void run()): new MessageLabel$1$1(run#1)
    //#pre[1] (void run()): init'ed(this.messageTimer)
    //#pre[3] (void run()): this.this$0 != null
    //#presumption(void run()): this.val$timeout*1_000 + java.lang.System:currentTimeMillis(...)@130 in {-9_223_372_036_854_776_058..18_446_744_073_709_551_365}
    //#post(void run()): this.messageNotifier == this.val$newNotifier
    //#post(void run()): init'ed(this.messageNotifier)
    //#post(void run()): this.messageTimer == One-of{old this.messageTimer, &new MessageLabel$1$1(run#1)}
    //#post(void run()): init'ed(this.messageTimer)
    //#post(void run()): new MessageLabel$1$1(run#1) num objects <= 1
    //#post(void run()): init'ed(new MessageLabel$1$1(run#1).__Tag)
    //#post(void run()): init'ed(new MessageLabel$1$1(run#1).this$1)
    //#unanalyzed(void run()): Effects-of-calling:java.util.TimerTask
    //#test_vector(void run()): this.messageTimer: Addr_Set{null}, Inverse{null}
    //#test_vector(void run()): java.lang.String:equals(...)@121: {1}, {0}
                    setText(UIUtilities.clipStringifNeeded(MessageLabel.this,
    //#MessageLabel.java:111: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:getWidth()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#    method: void run()
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:getWidth()
    //#MessageLabel.java:111: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.addons.ui_swing.UIUtilities:clipStringifNeeded(JComponent, String, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#    method: void run()
    //#    unanalyzed callee: String com.dmdirc.addons.ui_swing.UIUtilities:clipStringifNeeded(JComponent, String, int)
    //#MessageLabel.java:111: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setText(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel:setText(String)
                            newMessage, getWidth()));
                messageNotifier = newNotifier;

                if (messageTimer != null &&
                        (System.currentTimeMillis() -
                        messageTimer.scheduledExecutionTime()) <= 0) {
                    messageTimer.cancel();
                }

                if (!DEFAULT_MESSAGE.equals(newMessage)) {
                    messageTimer = new TimerTask() {
    //#MessageLabel.java:122: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)): this
    //#output(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)): this.this$1
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)): this.this$1 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)): init'ed(this.this$1)
    //#MessageLabel.java:122: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1(MessageLabel$1)

                        /** {@inheritDoc} */
                        @Override
                        public void run() {
                            clearMessage();
    //#MessageLabel.java:127: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.run()
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Descendant_Table[others]
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Dispatch_Table.clearMessage()V
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Dispatch_Table.setMessage(Ljava/lang/String;)V
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void run()): com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.__Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void run()): this
    //#input(void run()): this.this$1
    //#input(void run()): this.this$1.this$0
    //#input(void run()): this.this$1.this$0.__Tag
    //#output(void run()): this.this$1.this$0.messageNotifier
    //#pre[2] (void run()): this.this$1 != null
    //#pre[3] (void run()): this.this$0 != null
    //#pre[5] (void run()): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#post(void run()): this.this$1.this$0.messageNotifier == null
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void run()): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void run()): Effects-of-calling:setMessage
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.config.ConfigManager:getOptionInt
                        }
    //#MessageLabel.java:128: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.run()
                    };
                    new Timer("SwingStatusBar messageTimer").schedule(messageTimer,
                            new Date(System.currentTimeMillis() + 250 +
                            timeout * 1000L));
                }
            }
    //#MessageLabel.java:134: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.run()
        });

    }
    //#MessageLabel.java:137: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.setMessage(String, String, StatusMessageNotifier, int)

    /**
     * Removes the message from the status bar.
     */
    public void clearMessage() {
        setMessage(DEFAULT_MESSAGE);
    //#MessageLabel.java:143: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.clearMessage()
    //#input(void clearMessage()): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#input(void clearMessage()): __Descendant_Table[others]
    //#input(void clearMessage()): __Dispatch_Table.setMessage(Ljava/lang/String;)V
    //#input(void clearMessage()): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void clearMessage()): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#input(void clearMessage()): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#input(void clearMessage()): this
    //#input(void clearMessage()): this.__Tag
    //#output(void clearMessage()): this.messageNotifier
    //#pre[3] (void clearMessage()): this.__Tag == com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel
    //#post(void clearMessage()): this.messageNotifier == null
    //#unanalyzed(void clearMessage()): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void clearMessage()): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void clearMessage()): Effects-of-calling:javax.swing.SwingUtilities:invokeLater
    //#unanalyzed(void clearMessage()): Effects-of-calling:setMessage
    //#unanalyzed(void clearMessage()): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void clearMessage()): Effects-of-calling:com.dmdirc.config.ConfigManager:getOptionInt
        messageNotifier = null;
    }
    //#MessageLabel.java:145: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.clearMessage()

    /**
     * {@inheritDoc}
     *
     * @param e Mouse event
     */
    @Override
    public void mouseClicked(final MouseEvent e) {
        if (messageNotifier != null) {
    //#MessageLabel.java:154: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseClicked(MouseEvent)
    //#input(void mouseClicked(MouseEvent)): e
    //#input(void mouseClicked(MouseEvent)): this
    //#input(void mouseClicked(MouseEvent)): this.messageNotifier
    //#pre[3] (void mouseClicked(MouseEvent)): init'ed(this.messageNotifier)
    //#pre[1] (void mouseClicked(MouseEvent)): (soft) e != null
    //#test_vector(void mouseClicked(MouseEvent)): this.messageNotifier: Addr_Set{null}, Inverse{null}
            messageNotifier.clickReceived(e.getButton(), e.getClickCount());
    //#MessageLabel.java:155: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.interfaces.StatusMessageNotifier:clickReceived(int, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
    //#    method: void mouseClicked(MouseEvent)
    //#    unanalyzed callee: void com.dmdirc.ui.interfaces.StatusMessageNotifier:clickReceived(int, int)
        }
    }
    //#MessageLabel.java:157: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseClicked(MouseEvent)

    /**
     * {@inheritDoc}
     *
     * @param e Mouse event
     */
    @Override
    public void mousePressed(final MouseEvent e) {
        //Ignore
    }
    //#MessageLabel.java:167: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mousePressed(MouseEvent)
    //#MessageLabel.java:167: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mousePressed(MouseEvent)

    /**
     * {@inheritDoc}
     *
     * @param e Mouse event
     */
    @Override
    public void mouseReleased(final MouseEvent e) {
        //Ignore
    }
    //#MessageLabel.java:177: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseReleased(MouseEvent)
    //#MessageLabel.java:177: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseReleased(MouseEvent)

    /**
     * {@inheritDoc}
     *
     * @param e Mouse event
     */
    @Override
    public void mouseEntered(final MouseEvent e) {
        //Ignore
    }
    //#MessageLabel.java:187: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseEntered(MouseEvent)
    //#MessageLabel.java:187: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseEntered(MouseEvent)

    /**
     * {@inheritDoc}
     *
     * @param e Mouse event
     */
    @Override
    public void mouseExited(final MouseEvent e) {
        //Ignore
    }
    //#MessageLabel.java:197: method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseExited(MouseEvent)
    //#MessageLabel.java:197: end of method: void com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.mouseExited(MouseEvent)
}
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel$1$1]
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel$1$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init): __Dispatch_Table.run()V == &run
    //#MessageLabel.java:: end of method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1__static_init
    //#MessageLabel.java:: end of class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1$1
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel$1]
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init): __Dispatch_Table.run()V == &run
    //#MessageLabel.java:: end of method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1__static_init
    //#MessageLabel.java:: end of class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel$1
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel]
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.clearMessage()V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseClicked(Ljava/awt/event/MouseEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseEntered(Ljava/awt/event/MouseEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseExited(Ljava/awt/event/MouseEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mousePressed(Ljava/awt/event/MouseEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseReleased(Ljava/awt/event/MouseEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V
    //#output(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.clearMessage()V == &clearMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseClicked(Ljava/awt/event/MouseEvent;)V == &mouseClicked
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseEntered(Ljava/awt/event/MouseEvent;)V == &mouseEntered
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseExited(Ljava/awt/event/MouseEvent;)V == &mouseExited
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mousePressed(Ljava/awt/event/MouseEvent;)V == &mousePressed
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.mouseReleased(Ljava/awt/event/MouseEvent;)V == &mouseReleased
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;)V == &setMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V == &setMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V == &setMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;)V == &setMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;)V == &setMessage
    //#post(com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init): __Dispatch_Table.setMessage(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/ui/interfaces/StatusMessageNotifier;I)V == &setMessage
    //#MessageLabel.java:: end of method: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel.com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel__static_init
    //#MessageLabel.java:: end of class: com.dmdirc.addons.ui_swing.components.statusbar.MessageLabel
