//# 0 errors, 1,155 messages
//#
/*
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$25
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$25.com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$24
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$24.com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$23
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$23.com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$22
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$22.com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$21
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$21.com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$20
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$20.com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$19
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$19.com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$18
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$18.com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$17
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$17.com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$16
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$16.com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$15
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$15.com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$14
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$14.com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$13
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$13.com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$12
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$12.com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$11
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$11.com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$10
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$10.com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$9
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$9.com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$8
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$8.com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$7
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$7.com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$6
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$6.com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$5
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$5.com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$4
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$4.com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$3$1
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$3.com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$2
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$2.com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField$1
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField$1.com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init
    //#SwingInputField.java:1:1: class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#SwingInputField.java:1:1: method: com.dmdirc.addons.ui_swing.components.SwingInputField.com.dmdirc.addons.ui_swing.components.SwingInputField__static_init
 * Copyright (c) 2006-2009 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;

import com.dmdirc.ui.IconManager;
import com.dmdirc.config.IdentityManager;
import com.dmdirc.ui.interfaces.InputField;
import com.dmdirc.ui.interfaces.InputValidationListener;
import com.dmdirc.addons.ui_swing.UIUtilities;
import com.dmdirc.util.ListenerList;

import com.dmdirc.util.ReturnableThread;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.text.BadLocationException;

import net.miginfocom.swing.MigLayout;

/** Swing input field. */
public class SwingInputField extends JComponent implements InputField,
    //#SwingInputField.java:47: method: JTextField com.dmdirc.addons.ui_swing.components.SwingInputField.access$000(SwingInputField)
    //#input(JTextField access$000(SwingInputField)): x0
    //#input(JTextField access$000(SwingInputField)): x0.textField
    //#output(JTextField access$000(SwingInputField)): return_value
    //#pre[1] (JTextField access$000(SwingInputField)): x0 != null
    //#post(JTextField access$000(SwingInputField)): return_value == x0.textField
    //#post(JTextField access$000(SwingInputField)): init'ed(return_value)
    //#SwingInputField.java:47: end of method: JTextField com.dmdirc.addons.ui_swing.components.SwingInputField.access$000(SwingInputField)
    //#SwingInputField.java:47: method: ColourPickerDialog com.dmdirc.addons.ui_swing.components.SwingInputField.access$102(SwingInputField, ColourPickerDialog)
    //#input(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): x0
    //#input(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): x1
    //#output(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): return_value
    //#output(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): x0.colourPicker
    //#pre[1] (ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): x0 != null
    //#post(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): return_value == x1
    //#post(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): init'ed(return_value)
    //#post(ColourPickerDialog access$102(SwingInputField, ColourPickerDialog)): x0.colourPicker == return_value
    //#SwingInputField.java:47: end of method: ColourPickerDialog com.dmdirc.addons.ui_swing.components.SwingInputField.access$102(SwingInputField, ColourPickerDialog)
    //#SwingInputField.java:47: method: ColourPickerDialog com.dmdirc.addons.ui_swing.components.SwingInputField.access$100(SwingInputField)
    //#input(ColourPickerDialog access$100(SwingInputField)): x0
    //#input(ColourPickerDialog access$100(SwingInputField)): x0.colourPicker
    //#output(ColourPickerDialog access$100(SwingInputField)): return_value
    //#pre[1] (ColourPickerDialog access$100(SwingInputField)): x0 != null
    //#pre[2] (ColourPickerDialog access$100(SwingInputField)): init'ed(x0.colourPicker)
    //#post(ColourPickerDialog access$100(SwingInputField)): return_value == x0.colourPicker
    //#post(ColourPickerDialog access$100(SwingInputField)): init'ed(return_value)
    //#SwingInputField.java:47: end of method: ColourPickerDialog com.dmdirc.addons.ui_swing.components.SwingInputField.access$100(SwingInputField)
    //#SwingInputField.java:47: method: ListenerList com.dmdirc.addons.ui_swing.components.SwingInputField.access$200(SwingInputField)
    //#input(ListenerList access$200(SwingInputField)): x0
    //#input(ListenerList access$200(SwingInputField)): x0.listeners
    //#output(ListenerList access$200(SwingInputField)): return_value
    //#pre[1] (ListenerList access$200(SwingInputField)): x0 != null
    //#post(ListenerList access$200(SwingInputField)): return_value == x0.listeners
    //#post(ListenerList access$200(SwingInputField)): init'ed(return_value)
    //#SwingInputField.java:47: end of method: ListenerList com.dmdirc.addons.ui_swing.components.SwingInputField.access$200(SwingInputField)
    //#SwingInputField.java:47: method: JLabel com.dmdirc.addons.ui_swing.components.SwingInputField.access$300(SwingInputField)
    //#input(JLabel access$300(SwingInputField)): x0
    //#input(JLabel access$300(SwingInputField)): x0.errorIndicator
    //#output(JLabel access$300(SwingInputField)): return_value
    //#pre[1] (JLabel access$300(SwingInputField)): x0 != null
    //#post(JLabel access$300(SwingInputField)): return_value == x0.errorIndicator
    //#post(JLabel access$300(SwingInputField)): init'ed(return_value)
    //#SwingInputField.java:47: end of method: JLabel com.dmdirc.addons.ui_swing.components.SwingInputField.access$300(SwingInputField)
    //#SwingInputField.java:47: method: JLabel com.dmdirc.addons.ui_swing.components.SwingInputField.access$400(SwingInputField)
    //#input(JLabel access$400(SwingInputField)): x0
    //#input(JLabel access$400(SwingInputField)): x0.wrapIndicator
    //#output(JLabel access$400(SwingInputField)): return_value
    //#pre[1] (JLabel access$400(SwingInputField)): x0 != null
    //#post(JLabel access$400(SwingInputField)): return_value == x0.wrapIndicator
    //#post(JLabel access$400(SwingInputField)): init'ed(return_value)
    //#SwingInputField.java:47: end of method: JLabel com.dmdirc.addons.ui_swing.components.SwingInputField.access$400(SwingInputField)
        KeyListener, InputValidationListener {

    /**
     * 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;
    /** Colour picker. */
    private ColourPickerDialog colourPicker;
    /** Input field text field. */
    private final JTextField textField;
    /** Line wrap indicator. */
    private final JLabel wrapIndicator;
    /** Error indicator. */
    private final JLabel errorIndicator;
    /** Listener list. */
    private final ListenerList listeners;

    /**
     * Instantiates a new swing input field.
     */
    public SwingInputField() {
        super();
    //#SwingInputField.java:71: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#3) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#4) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JTextField(SwingInputField#2) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new ListenerList(SwingInputField#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.errorIndicator
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.listeners
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.textField
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.wrapIndicator
    //#new obj(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#3)
    //#new obj(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#4)
    //#new obj(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JTextField(SwingInputField#2)
    //#new obj(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new ListenerList(SwingInputField#1)
    //#presumption(void com.dmdirc.addons.ui_swing.components.SwingInputField()): com.dmdirc.ui.IconManager:getIconManager(...)@78 != null
    //#presumption(void com.dmdirc.addons.ui_swing.components.SwingInputField()): com.dmdirc.ui.IconManager:getIconManager(...)@81 != null
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.errorIndicator == &new JLabel(SwingInputField#4)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.listeners == &new ListenerList(SwingInputField#1)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.textField == &new JTextField(SwingInputField#2)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): this.wrapIndicator == &new JLabel(SwingInputField#3)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#3) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JLabel(SwingInputField#4) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new JTextField(SwingInputField#2) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField()): new ListenerList(SwingInputField#1) num objects == 1

        listeners = new ListenerList();
    //#SwingInputField.java:73: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ListenerList()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.util.ListenerList()

        textField = new JTextField();
        textField.setFocusTraversalKeysEnabled(false);
        textField.addKeyListener(this);
        wrapIndicator =
    //#SwingInputField.java:78: Warning: method not available - call not analyzed
    //#    call on IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#SwingInputField.java:78: 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.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: Icon com.dmdirc.ui.IconManager:getIcon(String)
                new JLabel(IconManager.getIconManager().getIcon("linewrap"));
        wrapIndicator.setVisible(false);
        errorIndicator =
    //#SwingInputField.java:81: Warning: method not available - call not analyzed
    //#    call on IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: IconManager com.dmdirc.ui.IconManager:getIconManager()
    //#SwingInputField.java:81: 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.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: Icon com.dmdirc.ui.IconManager:getIcon(String)
                new JLabel(IconManager.getIconManager().getIcon("input-error"));
        errorIndicator.setVisible(false);

        setLayout(new MigLayout("ins 0, hidemode 3"));
    //#SwingInputField.java:85: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#SwingInputField.java:85: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:setLayout(LayoutManager)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:setLayout(LayoutManager)

        add(textField, "growx, pushx");
    //#SwingInputField.java:87: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)
        add(wrapIndicator, "");
    //#SwingInputField.java:88: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)
        add(errorIndicator, "");
    //#SwingInputField.java:89: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:add(Component, Object)

        setActionMap(textField.getActionMap());
    //#SwingInputField.java:91: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:setActionMap(ActionMap)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:setActionMap(ActionMap)
        setInputMap(SwingInputField.WHEN_FOCUSED,
    //#SwingInputField.java:92: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
                textField.getInputMap(SwingInputField.WHEN_FOCUSED));
        setInputMap(SwingInputField.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
    //#SwingInputField.java:94: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
                textField.getInputMap(SwingInputField.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT));
        setInputMap(SwingInputField.WHEN_IN_FOCUSED_WINDOW,
    //#SwingInputField.java:96: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField:setInputMap(int, InputMap)
                textField.getInputMap(SwingInputField.WHEN_IN_FOCUSED_WINDOW));
    }
    //#SwingInputField.java:98: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.com.dmdirc.addons.ui_swing.components.SwingInputField()

    /** {@inheritDoc} */
    @Override
    public void requestFocus() {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:103: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$1.com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:103: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$1.com.dmdirc.addons.ui_swing.components.SwingInputField$1(SwingInputField)
    //#SwingInputField.java:103: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.requestFocus()
    //#input(void requestFocus()): this
    //#unanalyzed(void requestFocus()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void requestFocus()): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void requestFocus()): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.requestFocus();
    //#SwingInputField.java:108: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$1.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:109: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$1.run()
        });
    }
    //#SwingInputField.java:111: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.requestFocus()
    
    /** {@inheritDoc} */
    @Override
    public boolean requestFocusInWindow() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Boolean>() {
    //#SwingInputField.java:116: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$2.com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)
    //#SwingInputField.java:116: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$2
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:116: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$2.com.dmdirc.addons.ui_swing.components.SwingInputField$2(SwingInputField)
    //#SwingInputField.java:116: method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.requestFocusInWindow()
    //#input(bool requestFocusInWindow()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(bool requestFocusInWindow()): this
    //#output(bool requestFocusInWindow()): return_value
    //#presumption(bool requestFocusInWindow()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(bool requestFocusInWindow()): init'ed(return_value)
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(bool requestFocusInWindow()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#SwingInputField.java:116: end of method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.requestFocusInWindow()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.requestFocusInWindow());
    //#SwingInputField.java:121: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$2.run()
    //#SwingInputField.java:121: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$2:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$2
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$2:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:122: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$2.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public void showColourPicker(final boolean irc, final boolean hex) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:129: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3.com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): Param_3
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.val$hex
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.val$irc
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.val$hex == Param_3
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): init'ed(this.val$hex)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): this.val$irc == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)): init'ed(this.val$irc)
    //#SwingInputField.java:129: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3.com.dmdirc.addons.ui_swing.components.SwingInputField$3(SwingInputField, bool, bool)
    //#SwingInputField.java:129: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.showColourPicker(bool, bool)
    //#input(void showColourPicker(bool, bool)): hex
    //#input(void showColourPicker(bool, bool)): irc
    //#input(void showColourPicker(bool, bool)): this
    //#unanalyzed(void showColourPicker(bool, bool)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void showColourPicker(bool, bool)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void showColourPicker(bool, bool)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                if (IdentityManager.getGlobalConfig().getOptionBool("general",
    //#SwingInputField.java:134: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3.run()
    //#SwingInputField.java:134: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#    method: void run()
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#SwingInputField.java:134: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.config.ConfigManager:getOptionBool(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#    method: void run()
    //#    unanalyzed callee: bool com.dmdirc.config.ConfigManager:getOptionBool(String, String)
    //#input(void run()): com/dmdirc/addons/ui_swing/components/ColourPickerDialog.java.awt.Dialog$ModalityType.MODELESS
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.colourPicker.colourChooser
    //#input(void run()): this.this$0.colourPicker.colourChooser.listeners
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$hex
    //#input(void run()): this.val$irc
    //#output(void run()): new ArrayList(ColourPickerPanel#1) num objects
    //#output(void run()): new ColourPickerDialog(run#1) num objects
    //#output(void run()): new ColourPickerDialog(run#1).__Tag
    //#output(void run()): new ColourPickerDialog(run#1).colourChooser
    //#output(void run()): new ColourPickerDialog(run#1).window
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1) num objects
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1).__Tag
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1).listeners
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1).saturation
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1).showHex
    //#output(void run()): new ColourPickerPanel(ColourPickerDialog#1).showIrc
    //#output(void run()): this.this$0.colourPicker
    //#new obj(void run()): new ArrayList(ColourPickerPanel#1)
    //#new obj(void run()): new ColourPickerDialog(run#1)
    //#new obj(void run()): new ColourPickerPanel(ColourPickerDialog#1)
    //#pre[3] (void run()): (soft) this.this$0 != null
    //#pre[4] (void run()): (soft) this.textField != null
    //#presumption(void run()): (int) (java.awt.Point:getX(...)@152) in {-2_147_483_648..4_294_967_295}
    //#presumption(void run()): (int) (java.awt.Point:getY(...)@152) in {-4_294_967_296..8_589_934_590}
    //#presumption(void run()): com.dmdirc.addons.ui_swing.components.ColourPickerDialog:getHeight(...)@152 - (int) (java.awt.Point:getY(...)@152) in {-4_294_967_295..2_147_483_648}
    //#presumption(void run()): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@134 != null
    //#presumption(void run()): javax.swing.JTextField:getLocationOnScreen(...)@152 != null
    //#presumption(void run()): javax.swing.JTextField:getLocationOnScreen(...)@152 != null
    //#post(void run()): this.colourPicker == One-of{old this.colourPicker, &new ColourPickerDialog(run#1)}
    //#post(void run()): new ArrayList(ColourPickerPanel#1) num objects <= 1
    //#post(void run()): new ColourPickerDialog(run#1) num objects <= 1
    //#post(void run()): new ColourPickerDialog(run#1).__Tag == com/dmdirc/addons/ui_swing/components/ColourPickerDialog
    //#post(void run()): new ColourPickerDialog(run#1).colourChooser == &new ColourPickerPanel(ColourPickerDialog#1)
    //#post(void run()): init'ed(new ColourPickerDialog(run#1).window)
    //#post(void run()): new ColourPickerPanel(ColourPickerDialog#1) num objects <= 1
    //#post(void run()): new ColourPickerPanel(ColourPickerDialog#1).__Tag == com/dmdirc/addons/ui_swing/components/ColourPickerPanel
    //#post(void run()): new ColourPickerPanel(ColourPickerDialog#1).listeners == &new ArrayList(ColourPickerPanel#1)
    //#post(void run()): new ColourPickerPanel(ColourPickerDialog#1).saturation == 1
    //#post(void run()): init'ed(new ColourPickerPanel(ColourPickerDialog#1).showHex)
    //#post(void run()): init'ed(new ColourPickerPanel(ColourPickerDialog#1).showIrc)
    //#unanalyzed(void run()): Effects-of-calling:java.awt.event.WindowAdapter
    //#unanalyzed(void run()): Effects-of-calling:java.awt.Window:addWindowListener
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog:setIconImages
    //#unanalyzed(void run()): Effects-of-calling:javax.swing.JDialog
    //#unanalyzed(void run()): Effects-of-calling:java.awt.Window:getIconImages
    //#unanalyzed(void run()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void run()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void run()): Effects-of-calling:java.awt.Dimension
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerPanel:setPreferredSize
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerPanel:addMouseListener
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerPanel:addMouseMotionListener
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerPanel:addMouseWheelListener
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setDefaultCloseOperation
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerDialog:add
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerDialog:pack
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setResizable
    //#unanalyzed(void run()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setFocusableWindowState
    //#unanalyzed(void run()): Effects-of-calling:java.util.List:add
    //#test_vector(void run()): com.dmdirc.config.ConfigManager:getOptionBool(...)@134: {0}, {1}
                        "showcolourdialog")) {
                    colourPicker = new ColourPickerDialog(irc, hex);
                    colourPicker.addActionListener(new ActionListener() {
    //#SwingInputField.java:137: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)): this.this$1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)): this.this$1 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)): init'ed(this.this$1)
    //#SwingInputField.java:137: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.com.dmdirc.addons.ui_swing.components.SwingInputField$3$1(SwingInputField$3)

                        @Override
                        public void actionPerformed(final ActionEvent actionEvent) {
                            try {
                                textField.getDocument().
    //#SwingInputField.java:142: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.actionPerformed(ActionEvent)
    //#input(void actionPerformed(ActionEvent)): actionEvent
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.this$1
    //#input(void actionPerformed(ActionEvent)): this.this$1.this$0
    //#input(void actionPerformed(ActionEvent)): this.this$1.this$0.colourPicker
    //#input(void actionPerformed(ActionEvent)): this.this$1.this$0.textField
    //#output(void actionPerformed(ActionEvent)): this.this$1.this$0.colourPicker
    //#pre[2] (void actionPerformed(ActionEvent)): this.colourPicker != null
    //#pre[4] (void actionPerformed(ActionEvent)): this.this$1 != null
    //#pre[5] (void actionPerformed(ActionEvent)): this.this$0 != null
    //#pre[1] (void actionPerformed(ActionEvent)): (soft) actionEvent != null
    //#pre[6] (void actionPerformed(ActionEvent)): (soft) this.textField != null
    //#presumption(void actionPerformed(ActionEvent)): javax.swing.JTextField:getDocument(...)@142 != null
    //#post(void actionPerformed(ActionEvent)): this.this$1.this$0.colourPicker == null
                                        insertString(textField.getCaretPosition(),
                                        actionEvent.getActionCommand(), null);
                            } catch (BadLocationException ex) {
                            //Ignore, wont happen
                            }
                            colourPicker.dispose();
    //#SwingInputField.java:148: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3$1
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:dispose()
                            colourPicker = null;
                        }
    //#SwingInputField.java:150: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.actionPerformed(ActionEvent)
                    });
                    colourPicker.setLocation((int) textField.getLocationOnScreen().
    //#SwingInputField.java:152: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.addons.ui_swing.components.ColourPickerDialog:getHeight()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#    method: void run()
    //#    unanalyzed callee: int com.dmdirc.addons.ui_swing.components.ColourPickerDialog:getHeight()
    //#SwingInputField.java:152: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setLocation(int, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setLocation(int, int)
                            getX(),
                            (int) textField.getLocationOnScreen().getY() -
                            colourPicker.getHeight());
                    colourPicker.setVisible(true);
    //#SwingInputField.java:156: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:setVisible(bool)
                }
            }
    //#SwingInputField.java:158: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$3.run()
        });
    }
    //#SwingInputField.java:160: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.showColourPicker(bool, bool)

    /** {@inheritDoc} */
    @Override
    public void hideColourPicker() {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:165: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$4.com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:165: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$4.com.dmdirc.addons.ui_swing.components.SwingInputField$4(SwingInputField)
    //#SwingInputField.java:165: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.hideColourPicker()
    //#input(void hideColourPicker()): this
    //#unanalyzed(void hideColourPicker()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void hideColourPicker()): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void hideColourPicker()): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                if (colourPicker != null) {
    //#SwingInputField.java:170: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$4.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.colourPicker
    //#output(void run()): this.this$0.colourPicker
    //#pre[1] (void run()): init'ed(this.colourPicker)
    //#pre[3] (void run()): this.this$0 != null
    //#post(void run()): this.this$0.colourPicker == null
    //#test_vector(void run()): this.colourPicker: Addr_Set{null}, Inverse{null}
                    colourPicker.dispose();
    //#SwingInputField.java:171: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$4
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.ColourPickerDialog:dispose()
                    colourPicker = null;
                }
            }
    //#SwingInputField.java:174: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$4.run()
        });
    }
    //#SwingInputField.java:176: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.hideColourPicker()

    /**
     * Returns the textfield for this inputfield.
     * 
     * @return JTextField
     */
    public JTextField getTextField() {
        return UIUtilities.invokeAndWait(new ReturnableThread<JTextField>() {
    //#SwingInputField.java:184: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$5.com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)
    //#SwingInputField.java:184: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$5
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:184: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$5.com.dmdirc.addons.ui_swing.components.SwingInputField$5(SwingInputField)
    //#SwingInputField.java:184: method: JTextField com.dmdirc.addons.ui_swing.components.SwingInputField.getTextField()
    //#input(JTextField getTextField()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(JTextField getTextField()): this
    //#output(JTextField getTextField()): return_value
    //#post(JTextField getTextField()): init'ed(return_value)
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(JTextField getTextField()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:184: end of method: JTextField com.dmdirc.addons.ui_swing.components.SwingInputField.getTextField()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField);
    //#SwingInputField.java:189: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$5.run()
    //#SwingInputField.java:189: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$5:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$5
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$5:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
            }
    //#SwingInputField.java:190: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$5.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public void addActionListener(final ActionListener listener) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:197: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$6.com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): this.val$listener
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): this.val$listener == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)): init'ed(this.val$listener)
    //#SwingInputField.java:197: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$6.com.dmdirc.addons.ui_swing.components.SwingInputField$6(SwingInputField, ActionListener)
    //#SwingInputField.java:197: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.addActionListener(ActionListener)
    //#input(void addActionListener(ActionListener)): listener
    //#input(void addActionListener(ActionListener)): this
    //#unanalyzed(void addActionListener(ActionListener)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void addActionListener(ActionListener)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void addActionListener(ActionListener)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.addActionListener(listener);
    //#SwingInputField.java:202: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$6.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$listener
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:203: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$6.run()
        });
    }
    //#SwingInputField.java:205: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.addActionListener(ActionListener)

    /** {@inheritDoc} */
    @Override
    public void addKeyListener(final KeyListener listener) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:210: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$7.com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): this.val$listener
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): this.val$listener == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)): init'ed(this.val$listener)
    //#SwingInputField.java:210: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$7.com.dmdirc.addons.ui_swing.components.SwingInputField$7(SwingInputField, KeyListener)
    //#SwingInputField.java:210: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.addKeyListener(KeyListener)
    //#input(void addKeyListener(KeyListener)): listener
    //#input(void addKeyListener(KeyListener)): this
    //#unanalyzed(void addKeyListener(KeyListener)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void addKeyListener(KeyListener)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void addKeyListener(KeyListener)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                listeners.add(KeyListener.class, listener);
    //#SwingInputField.java:215: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$7.run()
    //#SwingInputField.java:215: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ListenerList:add(Class, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$7
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.util.ListenerList:add(Class, Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.listeners
    //#input(void run()): this.val$listener
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.listeners != null
            }
    //#SwingInputField.java:216: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$7.run()
        });
    }
    //#SwingInputField.java:218: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.addKeyListener(KeyListener)

    /** {@inheritDoc} */
    @Override
    public void removeActionListener(final ActionListener listener) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:223: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$8.com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): this.val$listener
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): this.val$listener == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)): init'ed(this.val$listener)
    //#SwingInputField.java:223: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$8.com.dmdirc.addons.ui_swing.components.SwingInputField$8(SwingInputField, ActionListener)
    //#SwingInputField.java:223: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.removeActionListener(ActionListener)
    //#input(void removeActionListener(ActionListener)): listener
    //#input(void removeActionListener(ActionListener)): this
    //#unanalyzed(void removeActionListener(ActionListener)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void removeActionListener(ActionListener)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void removeActionListener(ActionListener)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.removeActionListener(listener);
    //#SwingInputField.java:228: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$8.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$listener
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:229: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$8.run()
        });
    }
    //#SwingInputField.java:231: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.removeActionListener(ActionListener)

    /** {@inheritDoc} */
    @Override
    public void removeKeyListener(final KeyListener listener) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:236: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$9.com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): this.val$listener
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): this.val$listener == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)): init'ed(this.val$listener)
    //#SwingInputField.java:236: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$9.com.dmdirc.addons.ui_swing.components.SwingInputField$9(SwingInputField, KeyListener)
    //#SwingInputField.java:236: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.removeKeyListener(KeyListener)
    //#input(void removeKeyListener(KeyListener)): listener
    //#input(void removeKeyListener(KeyListener)): this
    //#unanalyzed(void removeKeyListener(KeyListener)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void removeKeyListener(KeyListener)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void removeKeyListener(KeyListener)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                listeners.remove(KeyListener.class, listener);
    //#SwingInputField.java:241: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$9.run()
    //#SwingInputField.java:241: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ListenerList:remove(Class, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$9
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.util.ListenerList:remove(Class, Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.listeners
    //#input(void run()): this.val$listener
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.listeners != null
            }
    //#SwingInputField.java:242: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$9.run()
        });
    }
    //#SwingInputField.java:244: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.removeKeyListener(KeyListener)

    /** {@inheritDoc} */
    @Override
    public String getSelectedText() {
        return UIUtilities.invokeAndWait(new ReturnableThread<String>() {
    //#SwingInputField.java:249: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$10.com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)
    //#SwingInputField.java:249: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$10
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:249: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$10.com.dmdirc.addons.ui_swing.components.SwingInputField$10(SwingInputField)
    //#SwingInputField.java:249: method: String com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectedText()
    //#input(String getSelectedText()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(String getSelectedText()): this
    //#output(String getSelectedText()): return_value
    //#post(String getSelectedText()): init'ed(return_value)
    //#unanalyzed(String getSelectedText()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(String getSelectedText()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getSelectedText()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(String getSelectedText()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(String getSelectedText()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(String getSelectedText()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(String getSelectedText()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:249: end of method: String com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectedText()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.getSelectedText());
    //#SwingInputField.java:254: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$10.run()
    //#SwingInputField.java:254: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$10:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$10
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$10:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:255: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$10.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public int getSelectionEnd() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Integer>() {
    //#SwingInputField.java:262: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$11.com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)
    //#SwingInputField.java:262: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$11
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:262: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$11.com.dmdirc.addons.ui_swing.components.SwingInputField$11(SwingInputField)
    //#SwingInputField.java:262: method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectionEnd()
    //#input(int getSelectionEnd()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(int getSelectionEnd()): this
    //#output(int getSelectionEnd()): return_value
    //#presumption(int getSelectionEnd()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(int getSelectionEnd()): init'ed(return_value)
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(int getSelectionEnd()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:262: end of method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectionEnd()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.getSelectionEnd());
    //#SwingInputField.java:267: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$11.run()
    //#SwingInputField.java:267: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$11:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$11
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$11:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:268: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$11.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public int getSelectionStart() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Integer>() {
    //#SwingInputField.java:275: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$12.com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)
    //#SwingInputField.java:275: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$12
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:275: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$12.com.dmdirc.addons.ui_swing.components.SwingInputField$12(SwingInputField)
    //#SwingInputField.java:275: method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectionStart()
    //#input(int getSelectionStart()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(int getSelectionStart()): this
    //#output(int getSelectionStart()): return_value
    //#presumption(int getSelectionStart()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(int getSelectionStart()): init'ed(return_value)
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(int getSelectionStart()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:275: end of method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getSelectionStart()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.getSelectionStart());
    //#SwingInputField.java:280: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$12.run()
    //#SwingInputField.java:280: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$12:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$12
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$12:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:281: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$12.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public String getText() {
        return UIUtilities.invokeAndWait(new ReturnableThread<String>() {
    //#SwingInputField.java:288: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$13.com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)
    //#SwingInputField.java:288: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$13
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:288: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$13.com.dmdirc.addons.ui_swing.components.SwingInputField$13(SwingInputField)
    //#SwingInputField.java:288: method: String com.dmdirc.addons.ui_swing.components.SwingInputField.getText()
    //#input(String getText()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(String getText()): this
    //#output(String getText()): return_value
    //#post(String getText()): init'ed(return_value)
    //#unanalyzed(String getText()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(String getText()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getText()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(String getText()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(String getText()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(String getText()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(String getText()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:288: end of method: String com.dmdirc.addons.ui_swing.components.SwingInputField.getText()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.getText());
    //#SwingInputField.java:293: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$13.run()
    //#SwingInputField.java:293: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$13:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$13
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$13:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:294: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$13.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public void setText(final String text) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:301: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$14.com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): this.val$text
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): this.val$text == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)): init'ed(this.val$text)
    //#SwingInputField.java:301: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$14.com.dmdirc.addons.ui_swing.components.SwingInputField$14(SwingInputField, String)
    //#SwingInputField.java:301: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setText(String)
    //#input(void setText(String)): text
    //#input(void setText(String)): this
    //#unanalyzed(void setText(String)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void setText(String)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void setText(String)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.setText(text);
    //#SwingInputField.java:306: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$14.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$text
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:307: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$14.run()
        });
    }
    //#SwingInputField.java:309: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setText(String)

    /** {@inheritDoc} */
    @Override
    public int getCaretPosition() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Integer>() {
    //#SwingInputField.java:314: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$15.com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)
    //#SwingInputField.java:314: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$15
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:314: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$15.com.dmdirc.addons.ui_swing.components.SwingInputField$15(SwingInputField)
    //#SwingInputField.java:314: method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getCaretPosition()
    //#input(int getCaretPosition()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(int getCaretPosition()): this
    //#output(int getCaretPosition()): return_value
    //#presumption(int getCaretPosition()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(int getCaretPosition()): init'ed(return_value)
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(int getCaretPosition()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:314: end of method: int com.dmdirc.addons.ui_swing.components.SwingInputField.getCaretPosition()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.getCaretPosition());
    //#SwingInputField.java:319: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$15.run()
    //#SwingInputField.java:319: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$15:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$15
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$15:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:320: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$15.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public void setCaretPosition(final int position) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:327: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$16.com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): this.val$position
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): this.val$position == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)): init'ed(this.val$position)
    //#SwingInputField.java:327: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$16.com.dmdirc.addons.ui_swing.components.SwingInputField$16(SwingInputField, int)
    //#SwingInputField.java:327: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setCaretPosition(int)
    //#input(void setCaretPosition(int)): position
    //#input(void setCaretPosition(int)): this
    //#unanalyzed(void setCaretPosition(int)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void setCaretPosition(int)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void setCaretPosition(int)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.setCaretPosition(position);
    //#SwingInputField.java:332: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$16.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$position
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:333: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$16.run()
        });
    }
    //#SwingInputField.java:335: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setCaretPosition(int)

    /**
     * Replaces the selection with the specified text.
     * 
     * @param clipboard Text to replace selection with
     */
    public void replaceSelection(final String clipboard) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:343: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$17.com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): this.val$clipboard
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): this.val$clipboard == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)): init'ed(this.val$clipboard)
    //#SwingInputField.java:343: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$17.com.dmdirc.addons.ui_swing.components.SwingInputField$17(SwingInputField, String)
    //#SwingInputField.java:343: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.replaceSelection(String)
    //#input(void replaceSelection(String)): clipboard
    //#input(void replaceSelection(String)): this
    //#unanalyzed(void replaceSelection(String)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void replaceSelection(String)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void replaceSelection(String)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.replaceSelection(clipboard);
    //#SwingInputField.java:348: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$17.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$clipboard
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:349: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$17.run()
        });
    }
    //#SwingInputField.java:351: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.replaceSelection(String)

    /**
     * Sets the caret colour to the specified coloour.
     * 
     * @param optionColour Colour for the caret
     */
    public void setCaretColor(final Color optionColour) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:359: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$18.com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): this.val$optionColour
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): this.val$optionColour == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)): init'ed(this.val$optionColour)
    //#SwingInputField.java:359: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$18.com.dmdirc.addons.ui_swing.components.SwingInputField$18(SwingInputField, Color)
    //#SwingInputField.java:359: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setCaretColor(Color)
    //#input(void setCaretColor(Color)): optionColour
    //#input(void setCaretColor(Color)): this
    //#unanalyzed(void setCaretColor(Color)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void setCaretColor(Color)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void setCaretColor(Color)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.setCaretColor(optionColour);
    //#SwingInputField.java:364: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$18.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$optionColour
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:365: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$18.run()
        });
    }
    //#SwingInputField.java:367: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setCaretColor(Color)

    /**
     * Sets the foreground colour to the specified coloour.
     * 
     * @param optionColour Colour for the caret
     */
    @Override
    public void setForeground(final Color optionColour) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:376: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$19.com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): this.val$optionColour
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): this.val$optionColour == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)): init'ed(this.val$optionColour)
    //#SwingInputField.java:376: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$19.com.dmdirc.addons.ui_swing.components.SwingInputField$19(SwingInputField, Color)
    //#SwingInputField.java:376: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setForeground(Color)
    //#input(void setForeground(Color)): optionColour
    //#input(void setForeground(Color)): this
    //#unanalyzed(void setForeground(Color)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void setForeground(Color)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void setForeground(Color)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.setForeground(optionColour);
    //#SwingInputField.java:381: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$19.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$optionColour
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:382: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$19.run()
        });
    }
    //#SwingInputField.java:384: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setForeground(Color)

    /**
     * Sets the background colour to the specified coloour.
     * 
     * @param optionColour Colour for the caret
     */
    @Override
    public void setBackground(final Color optionColour) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:393: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$20.com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): this.val$optionColour
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): this.val$optionColour == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)): init'ed(this.val$optionColour)
    //#SwingInputField.java:393: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$20.com.dmdirc.addons.ui_swing.components.SwingInputField$20(SwingInputField, Color)
    //#SwingInputField.java:393: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setBackground(Color)
    //#input(void setBackground(Color)): optionColour
    //#input(void setBackground(Color)): this
    //#unanalyzed(void setBackground(Color)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void setBackground(Color)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void setBackground(Color)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                textField.setBackground(optionColour);
    //#SwingInputField.java:398: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$20.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#input(void run()): this.val$optionColour
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:399: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$20.run()
        });
    }
    //#SwingInputField.java:401: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.setBackground(Color)

    /** {@inheritDoc} */
    @Override
    public boolean hasFocus() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Boolean>() {
    //#SwingInputField.java:406: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$21.com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)
    //#SwingInputField.java:406: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$21
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:406: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$21.com.dmdirc.addons.ui_swing.components.SwingInputField$21(SwingInputField)
    //#SwingInputField.java:406: method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.hasFocus()
    //#input(bool hasFocus()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(bool hasFocus()): this
    //#output(bool hasFocus()): return_value
    //#presumption(bool hasFocus()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(bool hasFocus()): init'ed(return_value)
    //#unanalyzed(bool hasFocus()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(bool hasFocus()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(bool hasFocus()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(bool hasFocus()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(bool hasFocus()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(bool hasFocus()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(bool hasFocus()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:406: end of method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.hasFocus()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.hasFocus());
    //#SwingInputField.java:411: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$21.run()
    //#SwingInputField.java:411: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$21:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$21
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$21:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:412: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$21.run()
        });
    }

    /** {@inheritDoc} */
    @Override
    public boolean isFocusOwner() {
        return UIUtilities.invokeAndWait(new ReturnableThread<Boolean>() {
    //#SwingInputField.java:419: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$22.com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)
    //#SwingInputField.java:419: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.ReturnableThread()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$22
    //#    method: void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)
    //#    unanalyzed callee: void com.dmdirc.util.ReturnableThread()
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:419: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$22.com.dmdirc.addons.ui_swing.components.SwingInputField$22(SwingInputField)
    //#SwingInputField.java:419: method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.isFocusOwner()
    //#input(bool isFocusOwner()): com/dmdirc/addons/ui_swing/UIUtilities.com.dmdirc.logger.ErrorLevel.HIGH
    //#input(bool isFocusOwner()): this
    //#output(bool isFocusOwner()): return_value
    //#presumption(bool isFocusOwner()): com.dmdirc.util.ReturnableThread:getObject(...)@203 != null
    //#post(bool isFocusOwner()): init'ed(return_value)
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:javax.swing.SwingUtilities:invokeAndWait
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:com.dmdirc.logger.Logger:appError
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:com.dmdirc.util.ReturnableThread:run
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:com.dmdirc.util.ReturnableThread:getObject
    //#unanalyzed(bool isFocusOwner()): Effects-of-calling:com.dmdirc.util.ReturnableThread
    //#SwingInputField.java:419: end of method: bool com.dmdirc.addons.ui_swing.components.SwingInputField.isFocusOwner()

            /** {@inheritDoc} */
            @Override
            public void run() {
                setObject(textField.isFocusOwner());
    //#SwingInputField.java:424: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$22.run()
    //#SwingInputField.java:424: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.SwingInputField$22:setObject(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField$22
    //#    method: void run()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.SwingInputField$22:setObject(Object)
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.textField
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.textField != null
            }
    //#SwingInputField.java:425: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$22.run()
        });
    }

    /** 
     * {@inheritDoc}
     * 
     * @param e Key event
     */
    @Override
    public void keyTyped(final KeyEvent e) {
        for (KeyListener listener : listeners.get(KeyListener.class)) {
    //#SwingInputField.java:436: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyTyped(KeyEvent)
    //#SwingInputField.java:436: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.util.ListenerList:get(Class)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void keyTyped(KeyEvent)
    //#    unanalyzed callee: List com.dmdirc.util.ListenerList:get(Class)
    //#input(void keyTyped(KeyEvent)): e
    //#input(void keyTyped(KeyEvent)): this
    //#input(void keyTyped(KeyEvent)): this.listeners
    //#pre[3] (void keyTyped(KeyEvent)): this.listeners != null
    //#presumption(void keyTyped(KeyEvent)): com.dmdirc.util.ListenerList:get(...)@436 != null
    //#presumption(void keyTyped(KeyEvent)): java.util.Iterator:next(...)@436 != null
    //#test_vector(void keyTyped(KeyEvent)): java.util.Iterator:hasNext(...)@436: {0}, {1}
            listener.keyTyped(e);
        }
    }
    //#SwingInputField.java:439: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyTyped(KeyEvent)

    /** 
     * {@inheritDoc}
     * 
     * @param e Key event
     */
    @Override
    public void keyPressed(final KeyEvent e) {
        for (KeyListener listener : listeners.get(KeyListener.class)) {
    //#SwingInputField.java:448: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyPressed(KeyEvent)
    //#SwingInputField.java:448: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.util.ListenerList:get(Class)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void keyPressed(KeyEvent)
    //#    unanalyzed callee: List com.dmdirc.util.ListenerList:get(Class)
    //#input(void keyPressed(KeyEvent)): e
    //#input(void keyPressed(KeyEvent)): this
    //#input(void keyPressed(KeyEvent)): this.listeners
    //#pre[3] (void keyPressed(KeyEvent)): this.listeners != null
    //#presumption(void keyPressed(KeyEvent)): com.dmdirc.util.ListenerList:get(...)@448 != null
    //#presumption(void keyPressed(KeyEvent)): java.util.Iterator:next(...)@448 != null
    //#test_vector(void keyPressed(KeyEvent)): java.util.Iterator:hasNext(...)@448: {0}, {1}
            listener.keyPressed(e);
        }
    }
    //#SwingInputField.java:451: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyPressed(KeyEvent)

    /** 
     * {@inheritDoc}
     * 
     * @param e Key event
     */
    @Override
    public void keyReleased(final KeyEvent e) {
        for (KeyListener listener : listeners.get(KeyListener.class)) {
    //#SwingInputField.java:460: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyReleased(KeyEvent)
    //#SwingInputField.java:460: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.util.ListenerList:get(Class)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.components.SwingInputField
    //#    method: void keyReleased(KeyEvent)
    //#    unanalyzed callee: List com.dmdirc.util.ListenerList:get(Class)
    //#input(void keyReleased(KeyEvent)): e
    //#input(void keyReleased(KeyEvent)): this
    //#input(void keyReleased(KeyEvent)): this.listeners
    //#pre[3] (void keyReleased(KeyEvent)): this.listeners != null
    //#presumption(void keyReleased(KeyEvent)): com.dmdirc.util.ListenerList:get(...)@460 != null
    //#presumption(void keyReleased(KeyEvent)): java.util.Iterator:next(...)@460 != null
    //#test_vector(void keyReleased(KeyEvent)): java.util.Iterator:hasNext(...)@460: {0}, {1}
            listener.keyReleased(e);
        }
    }
    //#SwingInputField.java:463: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.keyReleased(KeyEvent)

    /** {@inheritDoc} */
    @Override
    public void illegalCommand(final String reason) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:468: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$23.com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): this.val$reason
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): this.val$reason == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)): init'ed(this.val$reason)
    //#SwingInputField.java:468: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$23.com.dmdirc.addons.ui_swing.components.SwingInputField$23(SwingInputField, String)
    //#SwingInputField.java:468: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.illegalCommand(String)
    //#input(void illegalCommand(String)): reason
    //#input(void illegalCommand(String)): this
    //#unanalyzed(void illegalCommand(String)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void illegalCommand(String)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void illegalCommand(String)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                errorIndicator.setVisible(true);
    //#SwingInputField.java:473: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$23.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.errorIndicator
    //#input(void run()): this.this$0.wrapIndicator
    //#input(void run()): this.val$reason
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.errorIndicator != null
    //#pre[4] (void run()): this.wrapIndicator != null
                errorIndicator.setToolTipText(reason);
                wrapIndicator.setVisible(false);
            }
    //#SwingInputField.java:476: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$23.run()
        });
    }
    //#SwingInputField.java:478: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.illegalCommand(String)

    /** {@inheritDoc} */
    @Override
    public void legalCommand() {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:483: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$24.com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)): init'ed(this.this$0)
    //#SwingInputField.java:483: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$24.com.dmdirc.addons.ui_swing.components.SwingInputField$24(SwingInputField)
    //#SwingInputField.java:483: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.legalCommand()
    //#input(void legalCommand()): this
    //#unanalyzed(void legalCommand()): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void legalCommand()): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void legalCommand()): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                errorIndicator.setVisible(false);
    //#SwingInputField.java:488: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$24.run()
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.errorIndicator
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.errorIndicator != null
                errorIndicator.setToolTipText(null);
            }
    //#SwingInputField.java:490: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$24.run()
        });
    }
    //#SwingInputField.java:492: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.legalCommand()

    /** {@inheritDoc} */
    @Override
    public void wrappedText(final int count) {
        UIUtilities.invokeLater(new Runnable() {
    //#SwingInputField.java:497: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$25.com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): this
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): this.val$count
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): this.val$count == Param_2
    //#post(void com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)): init'ed(this.val$count)
    //#SwingInputField.java:497: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$25.com.dmdirc.addons.ui_swing.components.SwingInputField$25(SwingInputField, int)
    //#SwingInputField.java:497: method: void com.dmdirc.addons.ui_swing.components.SwingInputField.wrappedText(int)
    //#input(void wrappedText(int)): count
    //#input(void wrappedText(int)): this
    //#unanalyzed(void wrappedText(int)): Effects-of-calling:javax.swing.SwingUtilities:isEventDispatchThread
    //#unanalyzed(void wrappedText(int)): Effects-of-calling:java.lang.Runnable:run
    //#unanalyzed(void wrappedText(int)): Effects-of-calling:javax.swing.SwingUtilities:invokeLater

            /** {@inheritDoc} */
            @Override
            public void run() {
                wrapIndicator.setVisible(count > 1);
    //#SwingInputField.java:502: method: void com.dmdirc.addons.ui_swing.components.SwingInputField$25.run()
    //#input(void run()): " lines"._tainted
    //#input(void run()): this
    //#input(void run()): this.this$0
    //#input(void run()): this.this$0.errorIndicator
    //#input(void run()): this.this$0.wrapIndicator
    //#input(void run()): this.val$count
    //#pre[2] (void run()): this.this$0 != null
    //#pre[3] (void run()): this.errorIndicator != null
    //#pre[4] (void run()): this.wrapIndicator != null
                wrapIndicator.setToolTipText(count + " lines");
                errorIndicator.setVisible(false);
            }
    //#SwingInputField.java:505: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField$25.run()
        });
    }
    //#SwingInputField.java:507: end of method: void com.dmdirc.addons.ui_swing.components.SwingInputField.wrappedText(int)
}
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$25]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$25] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$25.com.dmdirc.addons.ui_swing.components.SwingInputField$25__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$25
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$24]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$24] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$24.com.dmdirc.addons.ui_swing.components.SwingInputField$24__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$24
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$23]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$23] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$23.com.dmdirc.addons.ui_swing.components.SwingInputField$23__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$23
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$22]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$22] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$22.com.dmdirc.addons.ui_swing.components.SwingInputField$22__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$22
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$21]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$21] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$21.com.dmdirc.addons.ui_swing.components.SwingInputField$21__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$21
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$20]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$20] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$20.com.dmdirc.addons.ui_swing.components.SwingInputField$20__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$20
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$19]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$19] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$19.com.dmdirc.addons.ui_swing.components.SwingInputField$19__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$19
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$18]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$18] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$18.com.dmdirc.addons.ui_swing.components.SwingInputField$18__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$18
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$17]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$17] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$17.com.dmdirc.addons.ui_swing.components.SwingInputField$17__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$17
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$16]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$16] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$16.com.dmdirc.addons.ui_swing.components.SwingInputField$16__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$16
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$15]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$15] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$15.com.dmdirc.addons.ui_swing.components.SwingInputField$15__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$15
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$14]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$14] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$14.com.dmdirc.addons.ui_swing.components.SwingInputField$14__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$14
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$13]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$13] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$13.com.dmdirc.addons.ui_swing.components.SwingInputField$13__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$13
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$12]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$12] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$12.com.dmdirc.addons.ui_swing.components.SwingInputField$12__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$12
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$11]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$11] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$11.com.dmdirc.addons.ui_swing.components.SwingInputField$11__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$11
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$10]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$10] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$10.com.dmdirc.addons.ui_swing.components.SwingInputField$10__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$10
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$9]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$9] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$9.com.dmdirc.addons.ui_swing.components.SwingInputField$9__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$9
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$8]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$8] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$8.com.dmdirc.addons.ui_swing.components.SwingInputField$8__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$8
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$7]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$7] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$7.com.dmdirc.addons.ui_swing.components.SwingInputField$7__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$7
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$6]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$6] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$6.com.dmdirc.addons.ui_swing.components.SwingInputField$6__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$6
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$5]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$5] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$5.com.dmdirc.addons.ui_swing.components.SwingInputField$5__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$5
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$4]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$4] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$4.com.dmdirc.addons.ui_swing.components.SwingInputField$4__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$4
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$3$1]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$3$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$3$1.com.dmdirc.addons.ui_swing.components.SwingInputField$3$1__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$3$1
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$3]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$3] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$3.com.dmdirc.addons.ui_swing.components.SwingInputField$3__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$3
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$2]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$2] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$2.com.dmdirc.addons.ui_swing.components.SwingInputField$2__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$2
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$1]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init): __Dispatch_Table.run()V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init): __Dispatch_Table.run()V == &run
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField$1.com.dmdirc.addons.ui_swing.components.SwingInputField$1__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField$1
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField]
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.addActionListener(Ljava/awt/event/ActionListener;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.addKeyListener(Ljava/awt/event/KeyListener;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getCaretPosition()I
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectedText()Ljava/lang/String;
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectionEnd()I
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectionStart()I
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getText()Ljava/lang/String;
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getTextField()Ljavax/swing/JTextField;
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.hasFocus()Z
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.hideColourPicker()V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.illegalCommand(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.isFocusOwner()Z
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyPressed(Ljava/awt/event/KeyEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyReleased(Ljava/awt/event/KeyEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyTyped(Ljava/awt/event/KeyEvent;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.legalCommand()V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.removeActionListener(Ljava/awt/event/ActionListener;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.removeKeyListener(Ljava/awt/event/KeyListener;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.replaceSelection(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.requestFocus()V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.requestFocusInWindow()Z
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setBackground(Ljava/awt/Color;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setCaretColor(Ljava/awt/Color;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setCaretPosition(I)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setForeground(Ljava/awt/Color;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setText(Ljava/lang/String;)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.showColourPicker(ZZ)V
    //#output(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.wrappedText(I)V
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/components/SwingInputField] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.addActionListener(Ljava/awt/event/ActionListener;)V == &addActionListener
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.addKeyListener(Ljava/awt/event/KeyListener;)V == &addKeyListener
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getCaretPosition()I == &getCaretPosition
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectedText()Ljava/lang/String; == &getSelectedText
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectionEnd()I == &getSelectionEnd
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getSelectionStart()I == &getSelectionStart
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getText()Ljava/lang/String; == &getText
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.getTextField()Ljavax/swing/JTextField; == &getTextField
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.hasFocus()Z == &hasFocus
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.hideColourPicker()V == &hideColourPicker
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.illegalCommand(Ljava/lang/String;)V == &illegalCommand
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.isFocusOwner()Z == &isFocusOwner
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyPressed(Ljava/awt/event/KeyEvent;)V == &keyPressed
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyReleased(Ljava/awt/event/KeyEvent;)V == &keyReleased
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.keyTyped(Ljava/awt/event/KeyEvent;)V == &keyTyped
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.legalCommand()V == &legalCommand
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.removeActionListener(Ljava/awt/event/ActionListener;)V == &removeActionListener
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.removeKeyListener(Ljava/awt/event/KeyListener;)V == &removeKeyListener
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.replaceSelection(Ljava/lang/String;)V == &replaceSelection
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.requestFocus()V == &requestFocus
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.requestFocusInWindow()Z == &requestFocusInWindow
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setBackground(Ljava/awt/Color;)V == &setBackground
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setCaretColor(Ljava/awt/Color;)V == &setCaretColor
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setCaretPosition(I)V == &setCaretPosition
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setForeground(Ljava/awt/Color;)V == &setForeground
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.setText(Ljava/lang/String;)V == &setText
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.showColourPicker(ZZ)V == &showColourPicker
    //#post(com.dmdirc.addons.ui_swing.components.SwingInputField__static_init): __Dispatch_Table.wrappedText(I)V == &wrappedText
    //#SwingInputField.java:: end of method: com.dmdirc.addons.ui_swing.components.SwingInputField.com.dmdirc.addons.ui_swing.components.SwingInputField__static_init
    //#SwingInputField.java:: end of class: com.dmdirc.addons.ui_swing.components.SwingInputField
