//# 0 errors, 1,402 messages
//#
/*
    //#ActionsManagerDialog.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#ActionsManagerDialog.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init
    //#ActionsManagerDialog.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#ActionsManagerDialog.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init
    //#ActionsManagerDialog.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1
    //#ActionsManagerDialog.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init
    //#ActionsManagerDialog.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#ActionsManagerDialog.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__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.dialogs.actionsmanager;

import com.dmdirc.actions.Action;
import com.dmdirc.actions.ActionGroup;
import com.dmdirc.actions.ActionManager;
import com.dmdirc.actions.CoreActionType;
import com.dmdirc.actions.interfaces.ActionType;
import com.dmdirc.config.IdentityManager;
import com.dmdirc.config.prefs.validator.ActionGroupValidator;
import com.dmdirc.config.prefs.validator.FileNameValidator;
import com.dmdirc.config.prefs.validator.ValidatorChain;
import com.dmdirc.addons.ui_swing.components.text.TextLabel;
import com.dmdirc.addons.ui_swing.components.ListScroller;
import com.dmdirc.addons.ui_swing.components.StandardDialog;
import com.dmdirc.addons.ui_swing.components.StandardInputDialog;
import com.dmdirc.addons.ui_swing.components.renderers.ActionGroupListCellRenderer;
import com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog;

import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
import java.util.Map;

import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import net.miginfocom.swing.MigLayout;

/**
 * Allows the user to manage actions.
 */
public final class ActionsManagerDialog extends StandardDialog implements ActionListener,
    //#ActionsManagerDialog.java:65: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.access$000(ActionsManagerDialog, ActionGroup)
    //#input(void access$000(ActionsManagerDialog, ActionGroup)): x0
    //#input(void access$000(ActionsManagerDialog, ActionGroup)): x0.groups
    //#input(void access$000(ActionsManagerDialog, ActionGroup)): x1
    //#pre[1] (void access$000(ActionsManagerDialog, ActionGroup)): x0 != null
    //#pre[2] (void access$000(ActionsManagerDialog, ActionGroup)): x0.groups != null
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void access$000(ActionsManagerDialog, ActionGroup)): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#ActionsManagerDialog.java:65: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.access$000(ActionsManagerDialog, ActionGroup)
    //#ActionsManagerDialog.java:65: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.access$100(ActionsManagerDialog)
    //#input(void access$100(ActionsManagerDialog)): x0
    //#input(void access$100(ActionsManagerDialog)): x0.groups
    //#pre[1] (void access$100(ActionsManagerDialog)): x0 != null
    //#pre[2] (void access$100(ActionsManagerDialog)): x0.groups != null
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void access$100(ActionsManagerDialog)): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#ActionsManagerDialog.java:65: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.access$100(ActionsManagerDialog)
        ListSelectionListener, com.dmdirc.interfaces.ActionListener {

    /**
     * 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;
    /** Previously created instance of ActionsManagerDialog. */
    private static volatile ActionsManagerDialog me;
    /** Info label. */
    private TextLabel infoLabel;
    /** Group list. */
    private JList groups;
    /** Add button. */
    private JButton add;
    /** Edit button. */
    private JButton edit;
    /** Delete button. */
    private JButton delete;
    /** Info panel. */
    private ActionGroupInformationPanel info;
    /** Actions panel. */
    private ActionsGroupPanel actions;
    /** Settings panels. */
    private Map<ActionGroup, ActionGroupSettingsPanel> settings;
    /** Active s panel. */
    private ActionGroupSettingsPanel activeSettings;
    /** Group panel. */
    private JPanel groupPanel;

    /** Creates a new instance of ActionsManagerDialog. */
    private ActionsManagerDialog() {
        super(null, ModalityType.MODELESS);
    //#ActionsManagerDialog.java:99: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#ActionsManagerDialog.java:99: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardDialog(Window, Dialog$ModalityType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardDialog(Window, Dialog$ModalityType)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_CREATED
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_DELETED
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_UPDATED
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): java.awt.Dialog$ModalityType.MODELESS
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.actions
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.activeSettings
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.add
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.delete
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.edit
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.groupPanel
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.groups
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.info
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.infoLabel
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(java.awt.Dialog$ModalityType.MODELESS)
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.activeSettings != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.add != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.delete != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.edit != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.groupPanel != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.groups != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): this.info != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.actions)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.activeSettings)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.add)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.delete)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.edit)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.groupPanel)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.groups)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.info)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): init'ed(this.infoLabel)
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.JList:getSelectionModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.ListSelectionModel:addListSelectionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.actions.ActionManager:addListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:java.awt.event.WindowAdapter
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:addWindowListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.JPanel:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:javax.swing.JPanel:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible

        initComponents();
    //#ActionsManagerDialog.java:101: Warning: call too complex - analysis skipped
    //#    call on void initComponents()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#    unanalyzed callee: void initComponents()
        addListeners();
        layoutGroupPanel();
        layoutComponents();

        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    //#ActionsManagerDialog.java:106: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setDefaultCloseOperation(int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setDefaultCloseOperation(int)
        setTitle("DMDirc: Action Manager");
    //#ActionsManagerDialog.java:107: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setTitle(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setTitle(String)
        setResizable(false);
    //#ActionsManagerDialog.java:108: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setResizable(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setResizable(bool)
    }
    //#ActionsManagerDialog.java:109: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog()

    /** 
     * Creates the dialog if one doesn't exist, and displays it. 
     * 
     * @param parentWindow Parent window
     */
    public static void showActionsManagerDialog(final Window parentWindow) {
        getActionsManagerDialog();
    //#ActionsManagerDialog.java:117: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.showActionsManagerDialog(Window)
    //#input(void showActionsManagerDialog(Window)): __Class_Obj.__Lock
    //#input(void showActionsManagerDialog(Window)): com.dmdirc.actions.CoreActionType.ACTION_CREATED
    //#input(void showActionsManagerDialog(Window)): com.dmdirc.actions.CoreActionType.ACTION_DELETED
    //#input(void showActionsManagerDialog(Window)): com.dmdirc.actions.CoreActionType.ACTION_UPDATED
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/OldTextLabel]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[others]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[others]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[others]
    //#input(void showActionsManagerDialog(Window)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.setActionGroup(Lcom/dmdirc/actions/ActionGroup;)V
    //#input(void showActionsManagerDialog(Window)): java.awt.Dialog$ModalityType.MODELESS
    //#input(void showActionsManagerDialog(Window)): me
    //#input(void showActionsManagerDialog(Window)): me.actions.model.__Tag
    //#input(void showActionsManagerDialog(Window)): me.info.infoLabel.__Tag
    //#input(void showActionsManagerDialog(Window)): parentWindow
    //#output(void showActionsManagerDialog(Window)): me
    //#output(void showActionsManagerDialog(Window)): me.actions.group
    //#output(void showActionsManagerDialog(Window)): me.actions.model.actions
    //#output(void showActionsManagerDialog(Window)): me.activeSettings
    //#output(void showActionsManagerDialog(Window)): me.info.group
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1) num objects
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).__Tag
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).actions
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).activeSettings
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).add
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).delete
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).edit
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).groupPanel
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).groups
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).info
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).infoLabel
    //#output(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1).settings
    //#output(void showActionsManagerDialog(Window)): new ArrayList(setActionGroup#1*) num objects
    //#output(void showActionsManagerDialog(Window)): new ArrayList(setActionGroup#1*).__Lock
    //#new obj(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1)
    //#new obj(void showActionsManagerDialog(Window)): new ArrayList(setActionGroup#1*)
    //#pre[19] (void showActionsManagerDialog(Window)): init'ed(me)
    //#pre[24] (void showActionsManagerDialog(Window)): parentWindow != null
    //#presumption(void showActionsManagerDialog(Window)): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@125 != null
    //#presumption(void showActionsManagerDialog(Window)): javax.swing.JList:getModel(...)@127 != null
    //#presumption(void showActionsManagerDialog(Window)): javax.swing.JList:getModel(...)@129 != null
    //#presumption(void showActionsManagerDialog(Window)): me.actions != null
    //#presumption(void showActionsManagerDialog(Window)): me.actions.add != null
    //#presumption(void showActionsManagerDialog(Window)): me.actions.model != null
    //#presumption(void showActionsManagerDialog(Window)): me.actions.model.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel
    //#presumption(void showActionsManagerDialog(Window)): me.groups != null
    //#presumption(void showActionsManagerDialog(Window)): me.groups != null
    //#presumption(void showActionsManagerDialog(Window)): me.groups != null
    //#presumption(void showActionsManagerDialog(Window)): me.info != null
    //#presumption(void showActionsManagerDialog(Window)): me.info.author != null
    //#presumption(void showActionsManagerDialog(Window)): me.info.authorLabel != null
    //#presumption(void showActionsManagerDialog(Window)): me.info.infoLabel != null
    //#presumption(void showActionsManagerDialog(Window)): me.info.infoLabel.__Tag == com/dmdirc/addons/ui_swing/components/text/OldTextLabel
    //#presumption(void showActionsManagerDialog(Window)): me.info.version != null
    //#presumption(void showActionsManagerDialog(Window)): me.info.versionLabel != null
    //#presumption(void showActionsManagerDialog(Window)): me.settings != null
    //#post(void showActionsManagerDialog(Window)): me == One-of{&new ActionsManagerDialog(getActionsManagerDialog#1), old me}
    //#post(void showActionsManagerDialog(Window)): me != null
    //#post(void showActionsManagerDialog(Window)): init'ed(me.actions.group)
    //#post(void showActionsManagerDialog(Window)): init'ed(me.actions.model.actions)
    //#post(void showActionsManagerDialog(Window)): init'ed(me.activeSettings)
    //#post(void showActionsManagerDialog(Window)): init'ed(me.info.group)
    //#post(void showActionsManagerDialog(Window)): new ActionsManagerDialog(getActionsManagerDialog#1) num objects <= 1
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).__Tag)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).actions)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).activeSettings)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).add)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).delete)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).edit)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).groupPanel)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).groups)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).info)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).infoLabel)
    //#post(void showActionsManagerDialog(Window)): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).settings)
    //#post(void showActionsManagerDialog(Window)): new ArrayList(setActionGroup#1*) num objects <= 1
    //#post(void showActionsManagerDialog(Window)): init'ed(new ArrayList(setActionGroup#1*).__Lock)
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getDescription
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JLabel:setText
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getAuthor
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getVersion
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.lang.Integer:toString
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:removeAll
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setLayout
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:getTitle
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.PrefsComponentFactory:getComponent
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:instanceof
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:setWindow
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:instanceof
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setWindow
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:instanceof
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:setWindow
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:registerChangeListener
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setMargin
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:add
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getSettings
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Map:isEmpty
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.BorderFactory:createTitledBorder
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JList:getSelectionModel
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.ListSelectionModel:addListSelectionListener
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionManager:addListener
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.event.WindowAdapter
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:addWindowListener
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JPanel:setLayout
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:javax.swing.JPanel:add
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:initComponents
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setDefaultCloseOperation
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setTitle
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setResizable
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getActions
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableDataChanged
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Map:containsKey
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:getBorder
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setBorder
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.util.Collection:isEmpty
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.Container:setVisible
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:java.awt.Container:removeAll
    //#unanalyzed(void showActionsManagerDialog(Window)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:validate
    //#test_vector(void showActionsManagerDialog(Window)): com.dmdirc.config.ConfigManager:getOptionInt(...)@125: {-2_147_483_648..-1}, {0..4_294_967_294}

        me.setIconImages(parentWindow.getIconImages());
    //#ActionsManagerDialog.java:119: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setIconImages(List)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setIconImages(List)
        me.pack();
    //#ActionsManagerDialog.java:120: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:pack()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:pack()
        me.setLocationRelativeTo(parentWindow);
    //#ActionsManagerDialog.java:121: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setLocationRelativeTo(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setLocationRelativeTo(Component)
        me.setVisible(true);
    //#ActionsManagerDialog.java:122: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setVisible(bool)
        me.requestFocusInWindow();
    //#ActionsManagerDialog.java:123: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:requestFocusInWindow()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:requestFocusInWindow()

        final int selected = IdentityManager.getGlobalConfig().
    //#ActionsManagerDialog.java:125: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#ActionsManagerDialog.java:125: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.config.ConfigManager:getOptionInt(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void showActionsManagerDialog(Window)
    //#    unanalyzed callee: int com.dmdirc.config.ConfigManager:getOptionInt(String, String)
                getOptionInt("dialogstate", "actionsmanagerdialog");
        if (selected >= 0 && selected < me.groups.getModel().getSize()) {
            me.groups.setSelectedIndex(selected);
            me.changeActiveGroup((ActionGroup) me.groups.getModel().getElementAt(selected));
        }
    }
    //#ActionsManagerDialog.java:131: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.showActionsManagerDialog(Window)

    /**
     * Returns the current instance of the ActionsManagerDialog.
     *
     * @return The current ActionsManagerDialog instance
     */
    public static ActionsManagerDialog getActionsManagerDialog() {
        synchronized (ActionsManagerDialog.class) {
    //#ActionsManagerDialog.java:139: method: ActionsManagerDialog com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.getActionsManagerDialog()
    //#input(ActionsManagerDialog getActionsManagerDialog()): __Class_Obj.__Lock
    //#input(ActionsManagerDialog getActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_CREATED
    //#input(ActionsManagerDialog getActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_DELETED
    //#input(ActionsManagerDialog getActionsManagerDialog()): com.dmdirc.actions.CoreActionType.ACTION_UPDATED
    //#input(ActionsManagerDialog getActionsManagerDialog()): java.awt.Dialog$ModalityType.MODELESS
    //#input(ActionsManagerDialog getActionsManagerDialog()): me
    //#output(ActionsManagerDialog getActionsManagerDialog()): me
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1) num objects
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).__Tag
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).actions
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).activeSettings
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).add
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).delete
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).edit
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).groupPanel
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).groups
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).info
    //#output(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1).infoLabel
    //#output(ActionsManagerDialog getActionsManagerDialog()): return_value
    //#new obj(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1)
    //#pre[2] (ActionsManagerDialog getActionsManagerDialog()): init'ed(me)
    //#presumption(ActionsManagerDialog getActionsManagerDialog()): me.groups != null
    //#post(ActionsManagerDialog getActionsManagerDialog()): me == One-of{&new ActionsManagerDialog(getActionsManagerDialog#1), old me}
    //#post(ActionsManagerDialog getActionsManagerDialog()): me != null
    //#post(ActionsManagerDialog getActionsManagerDialog()): return_value == One-of{&new ActionsManagerDialog(getActionsManagerDialog#1), old me}
    //#post(ActionsManagerDialog getActionsManagerDialog()): return_value != null
    //#post(ActionsManagerDialog getActionsManagerDialog()): new ActionsManagerDialog(getActionsManagerDialog#1) num objects <= 1
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).__Tag)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).actions)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).activeSettings)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).add)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).delete)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).edit)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).groupPanel)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).groups)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).info)
    //#post(ActionsManagerDialog getActionsManagerDialog()): init'ed(new ActionsManagerDialog(getActionsManagerDialog#1).infoLabel)
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JList:getSelectionModel
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.ListSelectionModel:addListSelectionListener
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.actions.ActionManager:addListener
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.awt.event.WindowAdapter
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:addWindowListener
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JPanel:setLayout
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:javax.swing.JPanel:add
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:initComponents
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setDefaultCloseOperation
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setTitle
    //#unanalyzed(ActionsManagerDialog getActionsManagerDialog()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:setResizable
    //#test_vector(ActionsManagerDialog getActionsManagerDialog()): me: Inverse{null}, Addr_Set{null}
            if (me == null) {
                me = new ActionsManagerDialog();
            } else {
                me.reloadGroups();
            }
        }

        return me;
    //#ActionsManagerDialog.java:147: end of method: ActionsManagerDialog com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.getActionsManagerDialog()
    }

    /**
     * Initialises the components.
     */
    private void initComponents() {
        orderButtons(new JButton(), new JButton());
    //#ActionsManagerDialog.java:154: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.initComponents()
    //#ActionsManagerDialog.java:154: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:orderButtons(JButton, JButton)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:orderButtons(JButton, JButton)
    //#input(void initComponents()): "; "._tainted
    //#input(void initComponents()): "body { font-family: "._tainted
    //#input(void initComponents()): "font-size: "._tainted
    //#input(void initComponents()): "pt; }"._tainted
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/OldTextLabel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void initComponents()): this
    //#output(void initComponents()): new ActionGroupInformationPanel(initComponents#7) num objects
    //#output(void initComponents()): this.info.__Tag
    //#output(void initComponents()): this.info.author
    //#output(void initComponents()): this.info.authorLabel
    //#output(void initComponents()): this.info.group
    //#output(void initComponents()): this.info.infoLabel
    //#output(void initComponents()): this.info.version
    //#output(void initComponents()): this.info.versionLabel
    //#output(void initComponents()): new ActionGroupSettingsPanel(initComponents#9) num objects
    //#output(void initComponents()): this.activeSettings.__Tag
    //#output(void initComponents()): this.activeSettings.settingMap
    //#output(void initComponents()): this.activeSettings.settings
    //#output(void initComponents()): this.activeSettings.window
    //#output(void initComponents()): new ActionTableModel(initComponents#2) num objects
    //#output(void initComponents()): new ActionTableModel(initComponents#2).__Tag
    //#output(void initComponents()): new ActionTableModel(initComponents#2).actions
    //#output(void initComponents()): new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1) num objects
    //#output(void initComponents()): new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1).__Tag
    //#output(void initComponents()): new ActionsGroupPanel$1(initComponents#4) num objects
    //#output(void initComponents()): new ActionsGroupPanel$1(initComponents#4).__Tag
    //#output(void initComponents()): new ActionsGroupPanel$1(initComponents#4).arrayRenderer
    //#output(void initComponents()): new ActionsGroupPanel$1(initComponents#4).this$0
    //#output(void initComponents()): new ActionsGroupPanel$1(initComponents#4).typeRenderer
    //#output(void initComponents()): new ActionsGroupPanel(initComponents#6) num objects
    //#output(void initComponents()): this.actions.__Tag
    //#output(void initComponents()): this.actions.add
    //#output(void initComponents()): this.actions.delete
    //#output(void initComponents()): this.actions.edit
    //#output(void initComponents()): this.actions.group
    //#output(void initComponents()): this.actions.model
    //#output(void initComponents()): this.actions.parent
    //#output(void initComponents()): this.actions.scrollPane
    //#output(void initComponents()): this.actions.table
    //#output(void initComponents()): new ArrayCellRenderer(ActionsGroupPanel$1#2) num objects
    //#output(void initComponents()): new ArrayCellRenderer(ActionsGroupPanel$1#2).__Tag
    //#output(void initComponents()): new ArrayList(ActionTableModel#1) num objects
    //#output(void initComponents()): new ArrayList(initComponents#3) num objects
    //#output(void initComponents()): new ArrayList(setActionGroup#1) num objects
    //#output(void initComponents()): new HashMap(initComponents#1) num objects
    //#output(void initComponents()): new HashMap(initComponents#8) num objects
    //#output(void initComponents()): new JButton(initComponents#10) num objects
    //#output(void initComponents()): new JButton(initComponents#11) num objects
    //#output(void initComponents()): new JButton(initComponents#12) num objects
    //#output(void initComponents()): new JButton(initComponents#6) num objects
    //#output(void initComponents()): new JButton(initComponents#7) num objects
    //#output(void initComponents()): new JButton(initComponents#8) num objects
    //#output(void initComponents()): new JLabel(initComponents#2) num objects
    //#output(void initComponents()): new JLabel(initComponents#3) num objects
    //#output(void initComponents()): new JLabel(initComponents#4) num objects
    //#output(void initComponents()): new JLabel(initComponents#5) num objects
    //#output(void initComponents()): new JList(initComponents#4) num objects
    //#output(void initComponents()): new JPanel(initComponents#13) num objects
    //#output(void initComponents()): new JScrollPane(initComponents#1) num objects
    //#output(void initComponents()): new OldTextLabel(initComponents#1) num objects
    //#output(void initComponents()): new OldTextLabel(initComponents#1).__Tag
    //#output(void initComponents()): new OldTextLabel(initComponents#1).sas
    //#output(void initComponents()): new SimpleAttributeSet(OldTextLabel#4) num objects
    //#output(void initComponents()): new SimpleAttributeSet(TextLabel#6) num objects
    //#output(void initComponents()): new TextLabel(initComponents#3) num objects
    //#output(void initComponents()): this.infoLabel.__Tag
    //#output(void initComponents()): this.infoLabel.sas
    //#output(void initComponents()): this.actions
    //#output(void initComponents()): this.activeSettings
    //#output(void initComponents()): this.add
    //#output(void initComponents()): this.delete
    //#output(void initComponents()): this.edit
    //#output(void initComponents()): this.groupPanel
    //#output(void initComponents()): this.groups
    //#output(void initComponents()): this.info
    //#output(void initComponents()): this.infoLabel
    //#output(void initComponents()): this.settings
    //#new obj(void initComponents()): new ActionGroupInformationPanel(initComponents#7)
    //#new obj(void initComponents()): new ActionGroupSettingsPanel(initComponents#9)
    //#new obj(void initComponents()): new ActionTableModel(initComponents#2)
    //#new obj(void initComponents()): new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1)
    //#new obj(void initComponents()): new ActionsGroupPanel$1(initComponents#4)
    //#new obj(void initComponents()): new ActionsGroupPanel(initComponents#6)
    //#new obj(void initComponents()): new ArrayCellRenderer(ActionsGroupPanel$1#2)
    //#new obj(void initComponents()): new ArrayList(ActionTableModel#1)
    //#new obj(void initComponents()): new ArrayList(initComponents#3)
    //#new obj(void initComponents()): new ArrayList(setActionGroup#1)
    //#new obj(void initComponents()): new HashMap(initComponents#1)
    //#new obj(void initComponents()): new HashMap(initComponents#8)
    //#new obj(void initComponents()): new JButton(initComponents#10)
    //#new obj(void initComponents()): new JButton(initComponents#11)
    //#new obj(void initComponents()): new JButton(initComponents#12)
    //#new obj(void initComponents()): new JButton(initComponents#6)
    //#new obj(void initComponents()): new JButton(initComponents#7)
    //#new obj(void initComponents()): new JButton(initComponents#8)
    //#new obj(void initComponents()): new JLabel(initComponents#2)
    //#new obj(void initComponents()): new JLabel(initComponents#3)
    //#new obj(void initComponents()): new JLabel(initComponents#4)
    //#new obj(void initComponents()): new JLabel(initComponents#5)
    //#new obj(void initComponents()): new JList(initComponents#4)
    //#new obj(void initComponents()): new JPanel(initComponents#13)
    //#new obj(void initComponents()): new JScrollPane(initComponents#1)
    //#new obj(void initComponents()): new OldTextLabel(initComponents#1)
    //#new obj(void initComponents()): new SimpleAttributeSet(OldTextLabel#4)
    //#new obj(void initComponents()): new SimpleAttributeSet(TextLabel#6)
    //#new obj(void initComponents()): new TextLabel(initComponents#3)
    //#post(void initComponents()): this.actions == &new ActionsGroupPanel(initComponents#6)
    //#post(void initComponents()): new ActionsGroupPanel$1(initComponents#4).this$0 == &new ActionsGroupPanel(initComponents#6)
    //#post(void initComponents()): this.activeSettings == &new ActionGroupSettingsPanel(initComponents#9)
    //#post(void initComponents()): this.add == &new JButton(initComponents#10)
    //#post(void initComponents()): this.delete == &new JButton(initComponents#12)
    //#post(void initComponents()): this.edit == &new JButton(initComponents#11)
    //#post(void initComponents()): this.groupPanel == &new JPanel(initComponents#13)
    //#post(void initComponents()): this.groups == &new JList(initComponents#4)
    //#post(void initComponents()): this.info == &new ActionGroupInformationPanel(initComponents#7)
    //#post(void initComponents()): this.infoLabel == &new TextLabel(initComponents#3)
    //#post(void initComponents()): this.settings == &new HashMap(initComponents#8)
    //#post(void initComponents()): new ActionGroupInformationPanel(initComponents#7) num objects == 1
    //#post(void initComponents()): new ActionGroupSettingsPanel(initComponents#9) num objects == 1
    //#post(void initComponents()): new ActionTableModel(initComponents#2) num objects == 1
    //#post(void initComponents()): new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1) num objects == 1
    //#post(void initComponents()): new ActionsGroupPanel$1(initComponents#4) num objects == 1
    //#post(void initComponents()): new ActionsGroupPanel(initComponents#6) num objects == 1
    //#post(void initComponents()): new ArrayCellRenderer(ActionsGroupPanel$1#2) num objects == 1
    //#post(void initComponents()): new ArrayList(initComponents#3) num objects == 1
    //#post(void initComponents()): new ArrayList(setActionGroup#1) num objects == 1
    //#post(void initComponents()): new HashMap(initComponents#1) num objects == 1
    //#post(void initComponents()): new HashMap(initComponents#8) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#10) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#11) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#12) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#6) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#7) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#8) num objects == 1
    //#post(void initComponents()): new JLabel(initComponents#2) num objects == 1
    //#post(void initComponents()): new JLabel(initComponents#3) num objects == 1
    //#post(void initComponents()): new JLabel(initComponents#4) num objects == 1
    //#post(void initComponents()): new JLabel(initComponents#5) num objects == 1
    //#post(void initComponents()): new JList(initComponents#4) num objects == 1
    //#post(void initComponents()): new JPanel(initComponents#13) num objects == 1
    //#post(void initComponents()): new JScrollPane(initComponents#1) num objects == 1
    //#post(void initComponents()): new OldTextLabel(initComponents#1) num objects == 1
    //#post(void initComponents()): new SimpleAttributeSet(OldTextLabel#4) num objects == 1
    //#post(void initComponents()): new SimpleAttributeSet(TextLabel#6) num objects == 1
    //#post(void initComponents()): new TextLabel(initComponents#3) num objects == 1
    //#post(void initComponents()): this.info.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupInformationPanel
    //#post(void initComponents()): this.info.author == &new JLabel(initComponents#5)
    //#post(void initComponents()): this.info.authorLabel == &new JLabel(initComponents#4)
    //#post(void initComponents()): init'ed(this.info.group)
    //#post(void initComponents()): this.info.infoLabel == &new OldTextLabel(initComponents#1)
    //#post(void initComponents()): this.info.version == &new JLabel(initComponents#3)
    //#post(void initComponents()): this.info.versionLabel == &new JLabel(initComponents#2)
    //#post(void initComponents()): this.activeSettings.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel
    //#post(void initComponents()): this.activeSettings.settingMap == &new HashMap(initComponents#1)
    //#post(void initComponents()): this.activeSettings.settings != null
    //#post(void initComponents()): this.activeSettings.window == this
    //#post(void initComponents()): this.activeSettings.window != null
    //#post(void initComponents()): this.actions.parent == this.activeSettings.window
    //#post(void initComponents()): new ActionTableModel(initComponents#2).__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel
    //#post(void initComponents()): new ActionTableModel(initComponents#2).actions != null
    //#post(void initComponents()): new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1).__Tag == com/dmdirc/addons/ui_swing/components/renderers/ActionTypeTableCellRenderer
    //#post(void initComponents()): new ActionsGroupPanel$1(initComponents#4).__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsGroupPanel$1
    //#post(void initComponents()): new ActionsGroupPanel$1(initComponents#4).arrayRenderer == &new ArrayCellRenderer(ActionsGroupPanel$1#2)
    //#post(void initComponents()): new ActionsGroupPanel$1(initComponents#4).typeRenderer == &new ActionTypeTableCellRenderer(ActionsGroupPanel$1#1)
    //#post(void initComponents()): this.actions.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsGroupPanel
    //#post(void initComponents()): this.actions.add == &new JButton(initComponents#6)
    //#post(void initComponents()): this.actions.delete == &new JButton(initComponents#8)
    //#post(void initComponents()): this.actions.edit == &new JButton(initComponents#7)
    //#post(void initComponents()): init'ed(this.actions.group)
    //#post(void initComponents()): this.actions.model == &new ActionTableModel(initComponents#2)
    //#post(void initComponents()): this.actions.scrollPane == &new JScrollPane(initComponents#1)
    //#post(void initComponents()): this.actions.table == &new ActionsGroupPanel$1(initComponents#4)
    //#post(void initComponents()): new ArrayCellRenderer(ActionsGroupPanel$1#2).__Tag == com/dmdirc/addons/ui_swing/components/renderers/ArrayCellRenderer
    //#post(void initComponents()): new ArrayList(ActionTableModel#1) num objects <= 1
    //#post(void initComponents()): new OldTextLabel(initComponents#1).__Tag == com/dmdirc/addons/ui_swing/components/text/OldTextLabel
    //#post(void initComponents()): new OldTextLabel(initComponents#1).sas == &new SimpleAttributeSet(OldTextLabel#4)
    //#post(void initComponents()): this.infoLabel.__Tag == com/dmdirc/addons/ui_swing/components/text/TextLabel
    //#post(void initComponents()): this.infoLabel.sas == &new SimpleAttributeSet(TextLabel#6)
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionGroup:getActions
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.table.AbstractTableModel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.table.DefaultTableCellRenderer
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.event.MouseAdapter
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:addMouseListener
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JScrollPane:setViewportView
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setAutoCreateRowSorter
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setAutoCreateColumnsFromModel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setColumnSelectionAllowed
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setCellSelectionEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setFillsViewportHeight
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setRowSelectionAllowed
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:setSelectionMode
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:getRowSorter
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.RowSorter:toggleSortOrder
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.PackingTable:getSelectionModel
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.ListSelectionModel:addListSelectionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionGroup:getDescription
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:setText
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionGroup:getAuthor
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionGroup:getVersion
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Integer:toString
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:setUI
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:setOpaque
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:setEditable
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:setHighlighter
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:setMargin
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.OldTextLabel:getFont
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setFontFamily
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setFontSize
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:isBold
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setBold
    //#unanalyzed(void initComponents()): Effects-of-calling:java.awt.Font:isItalic
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.StyleConstants:setItalic
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:removeAll
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:getTitle
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.PrefsComponentFactory:getComponent
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:instanceof
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:setWindow
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:instanceof
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setWindow
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:instanceof
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:setWindow
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:registerChangeListener
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setMargin
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ActionGroup:getSettings
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.Map:isEmpty
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultListCellRenderer
        infoLabel = new TextLabel("Actions allow you to make DMDirc" +
                " intelligently respond to various events.");
        groups = new JList(new DefaultListModel());
        actions = new ActionsGroupPanel(this, null);
        info = new ActionGroupInformationPanel(null);
        settings = new HashMap<ActionGroup, ActionGroupSettingsPanel>();
        activeSettings = new ActionGroupSettingsPanel(null, this);
        settings.put(null, activeSettings);
        add = new JButton("Add");
        edit = new JButton("Edit");
        delete = new JButton("Delete");
        groupPanel = new JPanel();
        groupPanel.setName("Groups");

        groupPanel.setBorder(BorderFactory.createTitledBorder(groupPanel.getBorder(),
                "Groups"));
        info.setBorder(BorderFactory.createTitledBorder(info.getBorder(),
    //#ActionsManagerDialog.java:171: Warning: method not available - call not analyzed
    //#    call on Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:getBorder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:getBorder()
    //#ActionsManagerDialog.java:171: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setBorder(Border)
                "Information"));
        actions.setBorder(BorderFactory.createTitledBorder(actions.getBorder(),
    //#ActionsManagerDialog.java:173: Warning: method not available - call not analyzed
    //#    call on Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:getBorder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:getBorder()
    //#ActionsManagerDialog.java:173: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsGroupPanel:setBorder(Border)
                "Actions"));

        groups.setCellRenderer(new ActionGroupListCellRenderer());
        groups.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        edit.setEnabled(false);
        delete.setEnabled(false);

        info.setVisible(false);
    //#ActionsManagerDialog.java:181: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible(bool)
        activeSettings.setVisible(false);
    //#ActionsManagerDialog.java:182: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible(bool)

        new ListScroller(groups);
    //#ActionsManagerDialog.java:184: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.ListScroller(JList)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.ListScroller(JList)

        reloadGroups();
    }
    //#ActionsManagerDialog.java:187: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.initComponents()

    /**
     * Adds listeners.
     */
    private void addListeners() {
        getOkButton().addActionListener(this);
    //#ActionsManagerDialog.java:193: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.addListeners()
    //#ActionsManagerDialog.java:193: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#input(void addListeners()): com.dmdirc.actions.CoreActionType.ACTION_CREATED
    //#input(void addListeners()): com.dmdirc.actions.CoreActionType.ACTION_DELETED
    //#input(void addListeners()): com.dmdirc.actions.CoreActionType.ACTION_UPDATED
    //#input(void addListeners()): this
    //#input(void addListeners()): this.add
    //#input(void addListeners()): this.delete
    //#input(void addListeners()): this.edit
    //#input(void addListeners()): this.groups
    //#pre[2] (void addListeners()): this.add != null
    //#pre[3] (void addListeners()): this.delete != null
    //#pre[4] (void addListeners()): this.edit != null
    //#pre[5] (void addListeners()): this.groups != null
    //#presumption(void addListeners()): init'ed(com.dmdirc.actions.CoreActionType.ACTION_CREATED)
    //#presumption(void addListeners()): init'ed(com.dmdirc.actions.CoreActionType.ACTION_DELETED)
    //#presumption(void addListeners()): init'ed(com.dmdirc.actions.CoreActionType.ACTION_UPDATED)
    //#presumption(void addListeners()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton(...)@194 != null
    //#presumption(void addListeners()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton(...)@193 != null
    //#presumption(void addListeners()): javax.swing.JList:getSelectionModel(...)@198 != null
    //#unanalyzed(void addListeners()): Effects-of-calling:java.awt.event.WindowAdapter
        getCancelButton().addActionListener(this);
    //#ActionsManagerDialog.java:194: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton()
        add.addActionListener(this);
        edit.addActionListener(this);
        delete.addActionListener(this);
        groups.getSelectionModel().addListSelectionListener(this);
        ActionManager.addListener(this, CoreActionType.ACTION_CREATED);
    //#ActionsManagerDialog.java:199: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])
        ActionManager.addListener(this, CoreActionType.ACTION_UPDATED);
    //#ActionsManagerDialog.java:200: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])
        ActionManager.addListener(this, CoreActionType.ACTION_DELETED);
    //#ActionsManagerDialog.java:201: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.actions.ActionManager:addListener(ActionListener, ActionType[])

        addWindowListener(new WindowAdapter() {
    //#ActionsManagerDialog.java:203: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)): init'ed(this.this$0)
    //#ActionsManagerDialog.java:203: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1(ActionsManagerDialog)
    //#ActionsManagerDialog.java:203: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:addWindowListener(WindowListener)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:addWindowListener(WindowListener)

            /** {@inheritDoc} */
            @Override
            public void windowClosing(final WindowEvent e) {
                getOkButton().doClick();
    //#ActionsManagerDialog.java:208: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.windowClosing(WindowEvent)
    //#ActionsManagerDialog.java:208: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1
    //#    method: void windowClosing(WindowEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#input(void windowClosing(WindowEvent)): this
    //#input(void windowClosing(WindowEvent)): this.this$0
    //#pre[2] (void windowClosing(WindowEvent)): this.this$0 != null
    //#presumption(void windowClosing(WindowEvent)): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton(...)@208 != null
            }
    //#ActionsManagerDialog.java:209: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.windowClosing(WindowEvent)
        });
    }
    //#ActionsManagerDialog.java:211: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.addListeners()

    /**
     * Lays out the group panel.
     */
    private void layoutGroupPanel() {
        groupPanel.setLayout(new MigLayout("fill, wrap 1"));
    //#ActionsManagerDialog.java:217: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.layoutGroupPanel()
    //#ActionsManagerDialog.java:217: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutGroupPanel()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#input(void layoutGroupPanel()): this
    //#input(void layoutGroupPanel()): this.add
    //#input(void layoutGroupPanel()): this.delete
    //#input(void layoutGroupPanel()): this.edit
    //#input(void layoutGroupPanel()): this.groupPanel
    //#input(void layoutGroupPanel()): this.groups
    //#pre[2] (void layoutGroupPanel()): init'ed(this.add)
    //#pre[3] (void layoutGroupPanel()): init'ed(this.delete)
    //#pre[4] (void layoutGroupPanel()): init'ed(this.edit)
    //#pre[5] (void layoutGroupPanel()): this.groupPanel != null
    //#pre[6] (void layoutGroupPanel()): init'ed(this.groups)

        groupPanel.add(new JScrollPane(groups), "growy, pushy, w 150!");
        groupPanel.add(add, "sgx button, w 150!");
        groupPanel.add(edit, "sgx button, w 150!");
        groupPanel.add(delete, "sgx button, w 150!");
    }
    //#ActionsManagerDialog.java:223: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.layoutGroupPanel()

    /**
     * Lays out the components.
     */
    private void layoutComponents() {

        getContentPane().setLayout(new MigLayout("fill, wrap 2, hidemode 3"));
    //#ActionsManagerDialog.java:230: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.layoutComponents()
    //#ActionsManagerDialog.java:230: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#ActionsManagerDialog.java:230: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#input(void layoutComponents()): this
    //#input(void layoutComponents()): this.actions
    //#input(void layoutComponents()): this.activeSettings
    //#input(void layoutComponents()): this.groupPanel
    //#input(void layoutComponents()): this.info
    //#input(void layoutComponents()): this.infoLabel
    //#pre[2] (void layoutComponents()): init'ed(this.actions)
    //#pre[4] (void layoutComponents()): init'ed(this.groupPanel)
    //#pre[5] (void layoutComponents()): this.info != null
    //#pre[6] (void layoutComponents()): init'ed(this.infoLabel)
    //#pre[3] (void layoutComponents()): (soft) this.activeSettings != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@230 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@232 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@234 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@236 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@238 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@240 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@241 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@242 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@243 != null
    //#test_vector(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible(...)@233: {0}, {1}
    //#test_vector(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible(...)@235: {1}, {0}
    //#test_vector(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible(...)@233: {0}, {1}
    //#test_vector(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible(...)@235: {0}, {1}

        getContentPane().add(infoLabel, "spanx 2, growx, pushx");
    //#ActionsManagerDialog.java:232: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        if (info.isVisible() && activeSettings.isVisible()) {
    //#ActionsManagerDialog.java:233: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible()
    //#ActionsManagerDialog.java:233: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible()
            getContentPane().add(groupPanel, "growy, pushy, spany 3");
    //#ActionsManagerDialog.java:234: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        } else if (info.isVisible() || activeSettings.isVisible()) {
    //#ActionsManagerDialog.java:235: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible()
    //#ActionsManagerDialog.java:235: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible()
            getContentPane().add(groupPanel, "growy, pushy, spany 2");
    //#ActionsManagerDialog.java:236: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        } else {
            getContentPane().add(groupPanel, "growy, pushy");
    //#ActionsManagerDialog.java:238: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        }
        getContentPane().add(info, "growx, pushx");
    //#ActionsManagerDialog.java:240: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        getContentPane().add(actions, "grow, pushx, pushx");
    //#ActionsManagerDialog.java:241: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        getContentPane().add(activeSettings, "growx, pushx");
    //#ActionsManagerDialog.java:242: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        getContentPane().add(getOkButton(), "skip, right, sgx button");
    //#ActionsManagerDialog.java:243: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#ActionsManagerDialog.java:243: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    }
    //#ActionsManagerDialog.java:244: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.layoutComponents()

    /**
     * Reloads the action groups.
     */
    private void reloadGroups() {
        reloadGroups(null);
    //#ActionsManagerDialog.java:250: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.reloadGroups()
    //#input(void reloadGroups()): this
    //#input(void reloadGroups()): this.groups
    //#pre[2] (void reloadGroups()): this.groups != null
    //#unanalyzed(void reloadGroups()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void reloadGroups()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void reloadGroups()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void reloadGroups()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void reloadGroups()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void reloadGroups()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void reloadGroups()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void reloadGroups()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void reloadGroups()): Effects-of-calling:javax.swing.JList:setSelectedValue
    }
    //#ActionsManagerDialog.java:251: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.reloadGroups()

    /**
     * Reloads the action groups.
     * 
     * @param selectedGroup Newly selected group
     */
    private void reloadGroups(final ActionGroup selectedGroup) {
        ((DefaultListModel) groups.getModel()).clear();
    //#ActionsManagerDialog.java:259: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.reloadGroups(ActionGroup)
    //#input(void reloadGroups(ActionGroup)): selectedGroup
    //#input(void reloadGroups(ActionGroup)): this
    //#input(void reloadGroups(ActionGroup)): this.groups
    //#pre[3] (void reloadGroups(ActionGroup)): this.groups != null
    //#presumption(void reloadGroups(ActionGroup)): com.dmdirc.actions.ActionManager:getGroups(...)@260 != null
    //#presumption(void reloadGroups(ActionGroup)): java.util.Map:values(...)@260 != null
    //#presumption(void reloadGroups(ActionGroup)): javax.swing.JList:getModel(...)@259 != null
    //#presumption(void reloadGroups(ActionGroup)): javax.swing.JList:getModel(...)@261 != null
    //#test_vector(void reloadGroups(ActionGroup)): java.util.Iterator:hasNext(...)@260: {0}, {1}
        for (ActionGroup group : ActionManager.getGroups().values()) {
    //#ActionsManagerDialog.java:260: Warning: method not available - call not analyzed
    //#    call on Map com.dmdirc.actions.ActionManager:getGroups()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void reloadGroups(ActionGroup)
    //#    unanalyzed callee: Map com.dmdirc.actions.ActionManager:getGroups()
            ((DefaultListModel) groups.getModel()).addElement(group);
        }
        groups.setSelectedValue(selectedGroup, true);
    }
    //#ActionsManagerDialog.java:264: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.reloadGroups(ActionGroup)

    /**
     * Changes the active group.
     *
     * @param group New group
     */
    private void changeActiveGroup(final ActionGroup group) {
        info.setActionGroup(group);
    //#ActionsManagerDialog.java:272: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.changeActiveGroup(ActionGroup)
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/OldTextLabel]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[others]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[others]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[others]
    //#input(void changeActiveGroup(ActionGroup)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.setActionGroup(Lcom/dmdirc/actions/ActionGroup;)V
    //#input(void changeActiveGroup(ActionGroup)): group
    //#input(void changeActiveGroup(ActionGroup)): this
    //#input(void changeActiveGroup(ActionGroup)): this.actions
    //#input(void changeActiveGroup(ActionGroup)): this.actions.add
    //#input(void changeActiveGroup(ActionGroup)): this.actions.model
    //#input(void changeActiveGroup(ActionGroup)): this.actions.model.__Tag
    //#input(void changeActiveGroup(ActionGroup)): this.actions.model.actions
    //#input(void changeActiveGroup(ActionGroup)): this.groupPanel
    //#input(void changeActiveGroup(ActionGroup)): this.info
    //#input(void changeActiveGroup(ActionGroup)): this.info.author
    //#input(void changeActiveGroup(ActionGroup)): this.info.authorLabel
    //#input(void changeActiveGroup(ActionGroup)): this.info.infoLabel
    //#input(void changeActiveGroup(ActionGroup)): this.info.infoLabel.__Tag
    //#input(void changeActiveGroup(ActionGroup)): this.info.infoLabel.sas
    //#input(void changeActiveGroup(ActionGroup)): this.info.version
    //#input(void changeActiveGroup(ActionGroup)): this.info.versionLabel
    //#input(void changeActiveGroup(ActionGroup)): this.infoLabel
    //#input(void changeActiveGroup(ActionGroup)): this.settings
    //#output(void changeActiveGroup(ActionGroup)): new ArrayList(setActionGroup#1*) num objects
    //#output(void changeActiveGroup(ActionGroup)): new ArrayList(setActionGroup#1*).__Lock
    //#output(void changeActiveGroup(ActionGroup)): this.actions.group
    //#output(void changeActiveGroup(ActionGroup)): this.actions.model.actions
    //#output(void changeActiveGroup(ActionGroup)): this.activeSettings
    //#output(void changeActiveGroup(ActionGroup)): this.info.group
    //#new obj(void changeActiveGroup(ActionGroup)): new ArrayList(setActionGroup#1*)
    //#pre[2] (void changeActiveGroup(ActionGroup)): init'ed(this.actions.model.actions)
    //#pre[4] (void changeActiveGroup(ActionGroup)): this.actions != null
    //#pre[5] (void changeActiveGroup(ActionGroup)): this.actions.add != null
    //#pre[6] (void changeActiveGroup(ActionGroup)): this.actions.model != null
    //#pre[7] (void changeActiveGroup(ActionGroup)): this.actions.model.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel
    //#pre[10] (void changeActiveGroup(ActionGroup)): init'ed(this.groupPanel)
    //#pre[11] (void changeActiveGroup(ActionGroup)): this.info != null
    //#pre[12] (void changeActiveGroup(ActionGroup)): this.info.author != null
    //#pre[14] (void changeActiveGroup(ActionGroup)): this.info.infoLabel != null
    //#pre[17] (void changeActiveGroup(ActionGroup)): this.info.version != null
    //#pre[19] (void changeActiveGroup(ActionGroup)): init'ed(this.infoLabel)
    //#pre[20] (void changeActiveGroup(ActionGroup)): this.settings != null
    //#pre[13] (void changeActiveGroup(ActionGroup)): (soft) this.info.authorLabel != null
    //#pre[15] (void changeActiveGroup(ActionGroup)): (soft) this.info.infoLabel.__Tag == com/dmdirc/addons/ui_swing/components/text/OldTextLabel
    //#pre[16] (void changeActiveGroup(ActionGroup)): (soft) init'ed(this.info.infoLabel.sas)
    //#pre[18] (void changeActiveGroup(ActionGroup)): (soft) this.info.versionLabel != null
    //#presumption(void changeActiveGroup(ActionGroup)): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@286 != null
    //#presumption(void changeActiveGroup(ActionGroup)): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@287 != null
    //#presumption(void changeActiveGroup(ActionGroup)): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane(...)@291 != null
    //#presumption(void changeActiveGroup(ActionGroup)): java.util.Map:get(...).__Tag@281 == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel
    //#presumption(void changeActiveGroup(ActionGroup)): java.util.Map:get(...)@281 != null
    //#presumption(void changeActiveGroup(ActionGroup)): this.activeSettings.settings@281 != null
    //#post(void changeActiveGroup(ActionGroup)): this.actions.group == group
    //#post(void changeActiveGroup(ActionGroup)): init'ed(this.actions.group)
    //#post(void changeActiveGroup(ActionGroup)): this.info.group == this.actions.group
    //#post(void changeActiveGroup(ActionGroup)): init'ed(this.actions.model.actions)
    //#post(void changeActiveGroup(ActionGroup)): this.activeSettings != null
    //#post(void changeActiveGroup(ActionGroup)): new ArrayList(setActionGroup#1*) num objects <= 1
    //#post(void changeActiveGroup(ActionGroup)): init'ed(new ArrayList(setActionGroup#1*).__Lock)
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getDescription
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JLabel:setText
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getAuthor
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getVersion
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.lang.Integer:toString
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:removeAll
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setLayout
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:getTitle
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.PrefsComponentFactory:getComponent
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:instanceof
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:setWindow
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:instanceof
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setWindow
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:instanceof
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:setWindow
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:registerChangeListener
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setMargin
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setVisible
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:add
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getSettings
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Map:isEmpty
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getActions
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableDataChanged
    //#unanalyzed(void changeActiveGroup(ActionGroup)): Effects-of-calling:java.util.Collection:isEmpty
    //#test_vector(void changeActiveGroup(ActionGroup)): java.util.Map:containsKey(...)@274: {1}, {0}
        actions.setActionGroup(group);
        if (!settings.containsKey(group)) {
            final ActionGroupSettingsPanel currentSettings =
                    new ActionGroupSettingsPanel(group, this);
            settings.put(group, currentSettings);
            currentSettings.setBorder(BorderFactory.createTitledBorder(currentSettings.getBorder(),
    //#ActionsManagerDialog.java:278: Warning: method not available - call not analyzed
    //#    call on Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:getBorder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: Border com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:getBorder()
    //#ActionsManagerDialog.java:278: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setBorder(Border)
                    "Settings"));
        }
        activeSettings = settings.get(group);

        info.setVisible(info.shouldDisplay());
    //#ActionsManagerDialog.java:283: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible(bool)
        activeSettings.setVisible(activeSettings.shouldDisplay());
    //#ActionsManagerDialog.java:284: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible(bool)

        getContentPane().setVisible(false);
    //#ActionsManagerDialog.java:286: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        getContentPane().removeAll();
    //#ActionsManagerDialog.java:287: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
        layoutComponents();
        validate();
    //#ActionsManagerDialog.java:289: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:validate()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:validate()
        layoutComponents();
        getContentPane().setVisible(true);
    //#ActionsManagerDialog.java:291: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void changeActiveGroup(ActionGroup)
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane()
    }
    //#ActionsManagerDialog.java:292: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.changeActiveGroup(ActionGroup)

    /**
     * {@inheritDoc}
     *
     * @param e Action event
     */
    @Override
    public void actionPerformed(final ActionEvent e) {
        if (e.getSource() == add) {
    //#ActionsManagerDialog.java:301: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.actionPerformed(ActionEvent)
    //#input(void actionPerformed(ActionEvent)): "' group and all actions within it?"._tainted
    //#input(void actionPerformed(ActionEvent)): "Are you sure you wish to delete the '"._tainted
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.__Class_Obj.__Lock
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.__Dispatch_Table.dispose()V
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.java.awt.Dialog$ModalityType.DOCUMENT_MODAL
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me.__Tag
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): e
    //#input(void actionPerformed(ActionEvent)): java.awt.Dialog$ModalityType.DOCUMENT_MODAL
    //#input(void actionPerformed(ActionEvent)): me
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.add
    //#input(void actionPerformed(ActionEvent)): this.delete
    //#input(void actionPerformed(ActionEvent)): this.edit
    //#input(void actionPerformed(ActionEvent)): this.groups
    //#input(void actionPerformed(ActionEvent)): this.settings
    //#output(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me
    //#output(void actionPerformed(ActionEvent)): me
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*) num objects
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).__Lock
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).__Tag
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).action
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).conditions
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).conditionsValid
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).group
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).name
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).nameValid
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).response
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).showSubstitutions
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).substitutions
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).triggers
    //#output(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*).triggersValid
    //#new obj(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*)
    //#pre[2] (void actionPerformed(ActionEvent)): e != null
    //#pre[7] (void actionPerformed(ActionEvent)): init'ed(this.add)
    //#pre[4] (void actionPerformed(ActionEvent)): (soft) init'ed(com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me)
    //#pre[5] (void actionPerformed(ActionEvent)): (soft) init'ed(me)
    //#pre[8] (void actionPerformed(ActionEvent)): (soft) init'ed(this.delete)
    //#pre[9] (void actionPerformed(ActionEvent)): (soft) init'ed(this.edit)
    //#pre[10] (void actionPerformed(ActionEvent)): (soft) this.groups != null
    //#pre[11] (void actionPerformed(ActionEvent)): (soft) this.settings != null
    //#presumption(void actionPerformed(ActionEvent)): com.dmdirc.config.IdentityManager:getConfigIdentity(...)@322 != null
    //#presumption(void actionPerformed(ActionEvent)): getActionEditorDialog(...).__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog
    //#presumption(void actionPerformed(ActionEvent)): java.util.Iterator:next(...).__Tag@319 == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel
    //#presumption(void actionPerformed(ActionEvent)): java.util.Iterator:next(...)@319 != null
    //#presumption(void actionPerformed(ActionEvent)): java.util.Map:values(...)@319 != null
    //#presumption(void actionPerformed(ActionEvent)): loopSettings.settings@319 != null
    //#post(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me == One-of{old com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me, null}
    //#post(void actionPerformed(ActionEvent)): init'ed(com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me)
    //#post(void actionPerformed(ActionEvent)): me == One-of{old me, null}
    //#post(void actionPerformed(ActionEvent)): init'ed(me)
    //#post(void actionPerformed(ActionEvent)): new ActionEditorDialog(getActionEditorDialog#1*) num objects <= 1
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).__Lock)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).__Tag)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).action)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).conditions)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).conditionsValid)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).group)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).name)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).nameValid)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).response)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).showSubstitutions)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).substitutions)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).triggers)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ActionEditorDialog(getActionEditorDialog#1*).triggersValid)
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.ListModel:getSize
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:setSelectedIndex
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.validator.FileNameValidator
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.validator.ActionGroupValidator
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidatorChain
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardInputDialog
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardInputDialog:display
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:getSelectedValue
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getName
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardInputDialog:setText
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JOptionPane:showConfirmDialog
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroup
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.DefaultListModel:indexOf
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.actions.ActionManager:removeGroup
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog:dispose
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:getOkButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:getCancelButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionNamePanel:addPropertyChangeListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionTriggersPanel:addPropertyChangeListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:addPropertyChangeListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.event.WindowAdapter
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:addWindowListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.Dimension
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:setMinimumSize
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:setLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:add
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:getLeftButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:getRightButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:setDefaultCloseOperation
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:setTitle
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:initComponents
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:doComponents
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionEditorDialog:setResizable
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:save
    //#test_vector(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionEditorDialog.me: Addr_Set{null}, Inverse{null}
    //#test_vector(void actionPerformed(ActionEvent)): java.util.Iterator:hasNext(...)@319: {0}, {1}
    //#test_vector(void actionPerformed(ActionEvent)): javax.swing.JOptionPane:showConfirmDialog(...)@310: {-2_147_483_648..-1, 1..4_294_967_295}, {0}
            addGroup();
        } else if (e.getSource() == edit) {
            editGroup();
        } else if (e.getSource() == delete) {
            delGroup();
        } else if (e.getSource() == getOkButton() || e.getSource() ==
    //#ActionsManagerDialog.java:307: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton()
    //#ActionsManagerDialog.java:307: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getCancelButton()
                getCancelButton()) {
            if (ActionEditorDialog.isOpen()) {
                if (JOptionPane.showConfirmDialog(this,
                        "The action editor is currently open, do you want to cotinue and lose any unsaved changes?",
                        "Confirm close?", JOptionPane.YES_NO_OPTION,
                        JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
                    ActionEditorDialog.getActionEditorDialog(this, "").dispose();
                } else {
                    return;
                }
            }
            for (ActionGroupSettingsPanel loopSettings : settings.values()) {
                loopSettings.save();
            }
            IdentityManager.getConfigIdentity().setOption("dialogstate",
    //#ActionsManagerDialog.java:322: Warning: method not available - call not analyzed
    //#    call on Identity com.dmdirc.config.IdentityManager:getConfigIdentity()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: Identity com.dmdirc.config.IdentityManager:getConfigIdentity()
    //#ActionsManagerDialog.java:322: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.Identity:setOption(String, String, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: void com.dmdirc.config.Identity:setOption(String, String, int)
                    "actionsmanagerdialog", groups.getSelectedIndex());
            dispose();
        }
    }
    //#ActionsManagerDialog.java:326: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.actionPerformed(ActionEvent)

    /**
     * Prompts then adds an action group.
     */
    @SuppressWarnings("unchecked")
    private void addGroup() {
        final StandardInputDialog inputDialog = new StandardInputDialog(this,
    //#ActionsManagerDialog.java:333: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.addGroup()
    //#ActionsManagerDialog.java:333: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.FileNameValidator()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.FileNameValidator()
    //#ActionsManagerDialog.java:333: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.ActionGroupValidator()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.ActionGroupValidator()
    //#ActionsManagerDialog.java:333: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.ValidatorChain(Validator[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.ValidatorChain(Validator[])
    //#input(void addGroup()): java.awt.Dialog$ModalityType.DOCUMENT_MODAL
    //#input(void addGroup()): this
    //#presumption(void addGroup()): init'ed(java.awt.Dialog$ModalityType.DOCUMENT_MODAL)
    //#unanalyzed(void addGroup()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardInputDialog
                ModalityType.DOCUMENT_MODAL, "New action group",
                "Please enter the name of the new action group",
                new ValidatorChain<String>(new FileNameValidator(),
                new ActionGroupValidator())) {
    //#ActionsManagerDialog.java:337: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)
    //#ActionsManagerDialog.java:337: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardInputDialog(Window, Dialog$ModalityType, String, String, Validator)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardInputDialog(Window, Dialog$ModalityType, String, String, Validator)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): this
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): x0
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): x1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): x2
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): x3
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): x4
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)): init'ed(this.this$0)
    //#ActionsManagerDialog.java:337: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator)

            /**
             * 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;

            /** {@inheritDoc} */
            @Override
            public boolean save() {
                if (getText() == null || getText().isEmpty() && !ActionManager.getGroups().
    //#ActionsManagerDialog.java:349: method: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.save()
    //#ActionsManagerDialog.java:349: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2:getText()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#    method: bool save()
    //#    unanalyzed callee: String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2:getText()
    //#ActionsManagerDialog.java:349: Warning: method not available - call not analyzed
    //#    call on Map com.dmdirc.actions.ActionManager:getGroups()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#    method: bool save()
    //#    unanalyzed callee: Map com.dmdirc.actions.ActionManager:getGroups()
    //#input(bool save()): this
    //#input(bool save()): this.this$0
    //#input(bool save()): this.this$0.groups
    //#output(bool save()): return_value
    //#pre[2] (bool save()): (soft) this.this$0 != null
    //#pre[3] (bool save()): (soft) this.groups != null
    //#presumption(bool save()): com.dmdirc.actions.ActionManager:getGroups(...)@349 != null
    //#presumption(bool save()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog_2:getText(...)@349 != null
    //#post(bool save()): init'ed(return_value)
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(bool save()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#test_vector(bool save()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog_2:getText(...)@349: Addr_Set{null}, Inverse{null}
    //#test_vector(bool save()): java.lang.String:isEmpty(...)@349: {0}, {1}
    //#test_vector(bool save()): java.util.Map:containsKey(...)@349: {1}, {0}
                        containsKey(getText())) {
                    return false;
                } else {
                    final ActionGroup group =
    //#ActionsManagerDialog.java:353: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2:getText()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#    method: bool save()
    //#    unanalyzed callee: String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2:getText()
    //#ActionsManagerDialog.java:353: Warning: method not available - call not analyzed
    //#    call on ActionGroup com.dmdirc.actions.ActionManager:makeGroup(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#    method: bool save()
    //#    unanalyzed callee: ActionGroup com.dmdirc.actions.ActionManager:makeGroup(String)
                            ActionManager.makeGroup(getText());
                    reloadGroups(group);
                    return true;
    //#ActionsManagerDialog.java:356: end of method: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.save()
                }
            }

            /** {@inheritDoc} */
            @Override
            public void cancelled() {
            //Ignore
            }
    //#ActionsManagerDialog.java:364: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.cancelled()
    //#ActionsManagerDialog.java:364: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.cancelled()
        };
        inputDialog.display(this);
    //#ActionsManagerDialog.java:366: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardInputDialog:display(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void addGroup()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardInputDialog:display(Component)
    }
    //#ActionsManagerDialog.java:367: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.addGroup()

    /**
     * Prompts then edits an action group.
     */
    @SuppressWarnings("unchecked")
    private void editGroup() {
        final String oldName =
    //#ActionsManagerDialog.java:374: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.editGroup()
    //#ActionsManagerDialog.java:374: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.ActionGroup:getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: String com.dmdirc.actions.ActionGroup:getName()
    //#input(void editGroup()): java.awt.Dialog$ModalityType.DOCUMENT_MODAL
    //#input(void editGroup()): this
    //#input(void editGroup()): this.groups
    //#pre[2] (void editGroup()): this.groups != null
    //#presumption(void editGroup()): init'ed(java.awt.Dialog$ModalityType.DOCUMENT_MODAL)
    //#presumption(void editGroup()): javax.swing.JList:getSelectedValue(...)@374 != null
    //#unanalyzed(void editGroup()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardInputDialog
                ((ActionGroup) groups.getSelectedValue()).getName();
        final StandardInputDialog inputDialog = new StandardInputDialog(this,
    //#ActionsManagerDialog.java:376: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.FileNameValidator()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.FileNameValidator()
    //#ActionsManagerDialog.java:376: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.ActionGroupValidator()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.ActionGroupValidator()
    //#ActionsManagerDialog.java:376: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.ValidatorChain(Validator[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.ValidatorChain(Validator[])
                ModalityType.DOCUMENT_MODAL,
                "Edit action group",
                "Please enter the new name of the action group",
                new ValidatorChain<String>(new FileNameValidator(),
                new ActionGroupValidator())) {
    //#ActionsManagerDialog.java:381: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)
    //#ActionsManagerDialog.java:381: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardInputDialog(Window, Dialog$ModalityType, String, String, Validator)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardInputDialog(Window, Dialog$ModalityType, String, String, Validator)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): Param_7
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): this
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): x0
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): x1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): x2
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): x3
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): x4
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): this.val$oldName
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): this.val$oldName == Param_7
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)): init'ed(this.val$oldName)
    //#ActionsManagerDialog.java:381: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3(ActionsManagerDialog, Window, Dialog$ModalityType, String, String, Validator, String)

            /**
             * A version number for this class. It should be changed whenever the class
             * structure is changed (or anything eloh blese that would prevent serialized
             * objects being unserialized with the new class).
             */
            private static final long serialVersionUID = 1;

            /** {@inheritDoc} */
            @Override
            public boolean save() {
                if (getText() == null || getText().isEmpty()) {
    //#ActionsManagerDialog.java:393: method: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.save()
    //#ActionsManagerDialog.java:393: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3:getText()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#    method: bool save()
    //#    unanalyzed callee: String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3:getText()
    //#input(bool save()): this
    //#input(bool save()): this.this$0
    //#input(bool save()): this.this$0.groups
    //#input(bool save()): this.val$oldName
    //#output(bool save()): return_value
    //#pre[2] (bool save()): (soft) this.this$0 != null
    //#pre[3] (bool save()): (soft) this.groups != null
    //#presumption(bool save()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog_3:getText(...)@393 != null
    //#post(bool save()): init'ed(return_value)
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(bool save()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(bool save()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(bool save()): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#test_vector(bool save()): com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog_3:getText(...)@393: Addr_Set{null}, Inverse{null}
    //#test_vector(bool save()): java.lang.String:isEmpty(...)@393: {0}, {1}
                    return false;
                } else {
                    ActionManager.renameGroup(oldName, getText());
    //#ActionsManagerDialog.java:396: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3:getText()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#    method: bool save()
    //#    unanalyzed callee: String com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3:getText()
    //#ActionsManagerDialog.java:396: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionManager:renameGroup(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#    method: bool save()
    //#    unanalyzed callee: void com.dmdirc.actions.ActionManager:renameGroup(String, String)
                    reloadGroups();
                    return true;
    //#ActionsManagerDialog.java:398: end of method: bool com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.save()
                }
            }

            /** {@inheritDoc} */
            @Override
            public void cancelled() {
            //Ignore
            }
    //#ActionsManagerDialog.java:406: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.cancelled()
    //#ActionsManagerDialog.java:406: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.cancelled()
        };
        inputDialog.setText(oldName);
    //#ActionsManagerDialog.java:408: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardInputDialog:setText(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardInputDialog:setText(String)
        inputDialog.display(this);
    //#ActionsManagerDialog.java:409: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardInputDialog:display(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void editGroup()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardInputDialog:display(Component)
    }
    //#ActionsManagerDialog.java:410: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.editGroup()

    /**
     * Prompts then deletes an action group.
     */
    private void delGroup() {
        final String group =
    //#ActionsManagerDialog.java:416: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.delGroup()
    //#ActionsManagerDialog.java:416: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.ActionGroup:getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void delGroup()
    //#    unanalyzed callee: String com.dmdirc.actions.ActionGroup:getName()
    //#input(void delGroup()): "' group and all actions within it?"._tainted
    //#input(void delGroup()): "Are you sure you wish to delete the '"._tainted
    //#input(void delGroup()): this
    //#input(void delGroup()): this.groups
    //#pre[2] (void delGroup()): this.groups != null
    //#presumption(void delGroup()): javax.swing.JList:getModel(...)@423 != null
    //#presumption(void delGroup()): javax.swing.JList:getModel(...)@427 != null
    //#presumption(void delGroup()): javax.swing.JList:getModel(...)@429 != null
    //#presumption(void delGroup()): javax.swing.JList:getModel(...)@430 != null
    //#presumption(void delGroup()): javax.swing.JList:getSelectedValue(...)@416 != null
    //#unanalyzed(void delGroup()): Effects-of-calling:javax.swing.JList:getModel
    //#unanalyzed(void delGroup()): Effects-of-calling:javax.swing.DefaultListModel:clear
    //#unanalyzed(void delGroup()): Effects-of-calling:com.dmdirc.actions.ActionManager:getGroups
    //#unanalyzed(void delGroup()): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void delGroup()): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void delGroup()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void delGroup()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void delGroup()): Effects-of-calling:javax.swing.DefaultListModel:addElement
    //#unanalyzed(void delGroup()): Effects-of-calling:javax.swing.JList:setSelectedValue
    //#test_vector(void delGroup()): javax.swing.DefaultListModel:indexOf(...)@423: {1..4_294_967_294}, {-2_147_483_648..0}
    //#test_vector(void delGroup()): javax.swing.JOptionPane:showConfirmDialog(...)@418: {-2_147_483_648..-1, 1..4_294_967_295}, {0}
    //#test_vector(void delGroup()): javax.swing.ListModel:getSize(...)@427: {-2_147_483_648..-1, 1..4_294_967_295}, {0}
                ((ActionGroup) groups.getSelectedValue()).getName();
        final int response = JOptionPane.showConfirmDialog(this,
                "Are you sure you wish to delete the '" + group +
                "' group and all actions within it?",
                "Confirm deletion", JOptionPane.YES_NO_OPTION);
        if (response == JOptionPane.YES_OPTION) {
            int location =
    //#ActionsManagerDialog.java:423: Warning: method not available - call not analyzed
    //#    call on ActionGroup com.dmdirc.actions.ActionManager:getGroup(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void delGroup()
    //#    unanalyzed callee: ActionGroup com.dmdirc.actions.ActionManager:getGroup(String)
                    ((DefaultListModel) groups.getModel()).indexOf(ActionManager.getGroup(group));
            ActionManager.removeGroup(group);
    //#ActionsManagerDialog.java:425: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionManager:removeGroup(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void delGroup()
    //#    unanalyzed callee: void com.dmdirc.actions.ActionManager:removeGroup(String)
            reloadGroups();
            if (groups.getModel().getSize() == 0) {
                location = -1;
            } else if (location >= groups.getModel().getSize()) {
                location = groups.getModel().getSize();
            } else if (location <= 0) {
                location = 0;
            }
            groups.setSelectedIndex(location);
        }
    }
    //#ActionsManagerDialog.java:436: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.delGroup()

    /** {@inheritDoc} */
    @Override
    public void valueChanged(final ListSelectionEvent e) {
        if (e.getValueIsAdjusting()) {
    //#ActionsManagerDialog.java:441: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.valueChanged(ListSelectionEvent)
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/OldTextLabel]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Descendant_Table[others]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/components/text/OldTextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionGroupSettingsPanel.__Descendant_Table[others]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[others]
    //#input(void valueChanged(ListSelectionEvent)): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.setActionGroup(Lcom/dmdirc/actions/ActionGroup;)V
    //#input(void valueChanged(ListSelectionEvent)): e
    //#input(void valueChanged(ListSelectionEvent)): this
    //#input(void valueChanged(ListSelectionEvent)): this.actions
    //#input(void valueChanged(ListSelectionEvent)): this.actions.add
    //#input(void valueChanged(ListSelectionEvent)): this.actions.model
    //#input(void valueChanged(ListSelectionEvent)): this.actions.model.__Tag
    //#input(void valueChanged(ListSelectionEvent)): this.actions.model.actions
    //#input(void valueChanged(ListSelectionEvent)): this.delete
    //#input(void valueChanged(ListSelectionEvent)): this.edit
    //#input(void valueChanged(ListSelectionEvent)): this.groupPanel
    //#input(void valueChanged(ListSelectionEvent)): this.groups
    //#input(void valueChanged(ListSelectionEvent)): this.info
    //#input(void valueChanged(ListSelectionEvent)): this.info.author
    //#input(void valueChanged(ListSelectionEvent)): this.info.authorLabel
    //#input(void valueChanged(ListSelectionEvent)): this.info.infoLabel
    //#input(void valueChanged(ListSelectionEvent)): this.info.infoLabel.__Tag
    //#input(void valueChanged(ListSelectionEvent)): this.info.infoLabel.sas
    //#input(void valueChanged(ListSelectionEvent)): this.info.version
    //#input(void valueChanged(ListSelectionEvent)): this.info.versionLabel
    //#input(void valueChanged(ListSelectionEvent)): this.infoLabel
    //#input(void valueChanged(ListSelectionEvent)): this.settings
    //#output(void valueChanged(ListSelectionEvent)): new ArrayList(setActionGroup#1*) num objects
    //#output(void valueChanged(ListSelectionEvent)): new ArrayList(setActionGroup#1*).__Lock
    //#output(void valueChanged(ListSelectionEvent)): this.actions.group
    //#output(void valueChanged(ListSelectionEvent)): this.actions.model.actions
    //#output(void valueChanged(ListSelectionEvent)): this.activeSettings
    //#output(void valueChanged(ListSelectionEvent)): this.info.group
    //#new obj(void valueChanged(ListSelectionEvent)): new ArrayList(setActionGroup#1*)
    //#pre[1] (void valueChanged(ListSelectionEvent)): e != null
    //#pre[3] (void valueChanged(ListSelectionEvent)): (soft) init'ed(this.actions.model.actions)
    //#pre[7] (void valueChanged(ListSelectionEvent)): (soft) this.actions != null
    //#pre[8] (void valueChanged(ListSelectionEvent)): (soft) this.actions.add != null
    //#pre[9] (void valueChanged(ListSelectionEvent)): (soft) this.actions.model != null
    //#pre[10] (void valueChanged(ListSelectionEvent)): (soft) this.actions.model.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel
    //#pre[13] (void valueChanged(ListSelectionEvent)): (soft) this.delete != null
    //#pre[14] (void valueChanged(ListSelectionEvent)): (soft) this.edit != null
    //#pre[15] (void valueChanged(ListSelectionEvent)): (soft) init'ed(this.groupPanel)
    //#pre[16] (void valueChanged(ListSelectionEvent)): (soft) this.groups != null
    //#pre[17] (void valueChanged(ListSelectionEvent)): (soft) this.info != null
    //#pre[18] (void valueChanged(ListSelectionEvent)): (soft) this.info.author != null
    //#pre[19] (void valueChanged(ListSelectionEvent)): (soft) this.info.authorLabel != null
    //#pre[20] (void valueChanged(ListSelectionEvent)): (soft) this.info.infoLabel != null
    //#pre[21] (void valueChanged(ListSelectionEvent)): (soft) this.info.infoLabel.__Tag == com/dmdirc/addons/ui_swing/components/text/OldTextLabel
    //#pre[22] (void valueChanged(ListSelectionEvent)): (soft) init'ed(this.info.infoLabel.sas)
    //#pre[23] (void valueChanged(ListSelectionEvent)): (soft) this.info.version != null
    //#pre[24] (void valueChanged(ListSelectionEvent)): (soft) this.info.versionLabel != null
    //#pre[25] (void valueChanged(ListSelectionEvent)): (soft) init'ed(this.infoLabel)
    //#pre[26] (void valueChanged(ListSelectionEvent)): (soft) this.settings != null
    //#presumption(void valueChanged(ListSelectionEvent)): javax.swing.JList:getSelectedValue(...)@446 != null
    //#post(void valueChanged(ListSelectionEvent)): possibly_updated(this.actions.group)
    //#post(void valueChanged(ListSelectionEvent)): init'ed(this.actions.model.actions)
    //#post(void valueChanged(ListSelectionEvent)): possibly_updated(this.activeSettings)
    //#post(void valueChanged(ListSelectionEvent)): possibly_updated(this.info.group)
    //#post(void valueChanged(ListSelectionEvent)): new ArrayList(setActionGroup#1*) num objects <= 1
    //#post(void valueChanged(ListSelectionEvent)): init'ed(new ArrayList(setActionGroup#1*).__Lock)
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getDescription
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JLabel:setText
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getAuthor
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getVersion
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.lang.Integer:toString
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:removeAll
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setLayout
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:getTitle
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.PrefsComponentFactory:getComponent
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:instanceof
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay:setWindow
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:instanceof
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ColourChooser:setWindow
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:instanceof
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.OptionalColourChooser:setWindow
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.config.prefs.PreferencesSetting:registerChangeListener
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setMargin
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.SettingsRevertButton:setVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:add
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getSettings
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Map:isEmpty
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:javax.swing.BorderFactory:createTitledBorder
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:setVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getOkButton
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:getContentPane
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupInformationPanel:isVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:isVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.actions.ActionGroup:getActions
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableDataChanged
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Map:containsKey
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:getBorder
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionGroupSettingsPanel:setBorder
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.util.Collection:isEmpty
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.awt.Container:setVisible
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:java.awt.Container:removeAll
    //#unanalyzed(void valueChanged(ListSelectionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog:validate
    //#test_vector(void valueChanged(ListSelectionEvent)): com.dmdirc.actions.ActionGroup:isDelible(...)@446: {1}, {0}
    //#test_vector(void valueChanged(ListSelectionEvent)): javax.swing.JList:getSelectedIndex(...)@446: {-1}, {-2_147_483_648..-2, 0..4_294_967_295}
    //#test_vector(void valueChanged(ListSelectionEvent)): javax.swing.event.ListSelectionEvent:getValueIsAdjusting(...)@441: {0}, {1}
            return;
        }

        changeActiveGroup((ActionGroup) groups.getSelectedValue());
        if (groups.getSelectedIndex() == -1 ||
    //#ActionsManagerDialog.java:446: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.actions.ActionGroup:isDelible()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void valueChanged(ListSelectionEvent)
    //#    unanalyzed callee: bool com.dmdirc.actions.ActionGroup:isDelible()
                !((ActionGroup) groups.getSelectedValue()).isDelible()) {
            edit.setEnabled(false);
            delete.setEnabled(false);
        } else {
            edit.setEnabled(true);
            delete.setEnabled(true);
        }
    }
    //#ActionsManagerDialog.java:454: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.valueChanged(ListSelectionEvent)

    /** {@inheritDoc} */
    @Override
    public void processEvent(final ActionType type, final StringBuffer format,
            final Object... arguments) {
        if (groups.getSelectedValue() == null) {
    //#ActionsManagerDialog.java:460: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.processEvent(ActionType, StringBuffer, Object[])
    //#input(void processEvent(ActionType, StringBuffer, Object[])): arguments
    //#input(void processEvent(ActionType, StringBuffer, Object[])): arguments.length
    //#input(void processEvent(ActionType, StringBuffer, Object[])): arguments[0]
    //#input(void processEvent(ActionType, StringBuffer, Object[])): arguments[1]
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com.dmdirc.actions.CoreActionType.ACTION_CREATED
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com.dmdirc.actions.CoreActionType.ACTION_UPDATED
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel]
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Descendant_Table[others]
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.add(Lcom/dmdirc/actions/Action;)V
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.contains(Lcom/dmdirc/actions/Action;)Z
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.findAction(Ljava/lang/String;)I
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.getAction(Lcom/dmdirc/actions/Action;)I
    //#input(void processEvent(ActionType, StringBuffer, Object[])): com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel.__Dispatch_Table.remove(I)V
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this.actions
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this.actions.model
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this.actions.model.__Tag
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this.actions.model.actions
    //#input(void processEvent(ActionType, StringBuffer, Object[])): this.groups
    //#input(void processEvent(ActionType, StringBuffer, Object[])): type
    //#pre[11] (void processEvent(ActionType, StringBuffer, Object[])): this.groups != null
    //#pre[1] (void processEvent(ActionType, StringBuffer, Object[])): (soft) arguments != null
    //#pre[2] (void processEvent(ActionType, StringBuffer, Object[])): (soft) arguments.length >= 2
    //#pre[3] (void processEvent(ActionType, StringBuffer, Object[])): (soft) arguments[0] != null
    //#pre[4] (void processEvent(ActionType, StringBuffer, Object[])): (soft) init'ed(arguments[1])
    //#pre[6] (void processEvent(ActionType, StringBuffer, Object[])): (soft) this.actions != null
    //#pre[7] (void processEvent(ActionType, StringBuffer, Object[])): (soft) this.actions.model != null
    //#pre[8] (void processEvent(ActionType, StringBuffer, Object[])): (soft) this.actions.model.__Tag == com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionTableModel
    //#pre[9] (void processEvent(ActionType, StringBuffer, Object[])): (soft) this.actions.model.actions != null
    //#pre[12] (void processEvent(ActionType, StringBuffer, Object[])): (soft) type != null
    //#presumption(void processEvent(ActionType, StringBuffer, Object[])): com.dmdirc.actions.Action:getGroup(...)@466 != null
    //#presumption(void processEvent(ActionType, StringBuffer, Object[])): init'ed(com.dmdirc.actions.CoreActionType.ACTION_CREATED)
    //#presumption(void processEvent(ActionType, StringBuffer, Object[])): init'ed(com.dmdirc.actions.CoreActionType.ACTION_UPDATED)
    //#presumption(void processEvent(ActionType, StringBuffer, Object[])): javax.swing.JList:getSelectedValue(...)@466 != null
    //#presumption(void processEvent(ActionType, StringBuffer, Object[])): javax.swing.JList:getSelectedValue(...)@470 != null
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:indexOf
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:contains
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableCellUpdated
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:size
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:add
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableRowsInserted
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:com.dmdirc.actions.Action:getName
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:java.util.List:remove
    //#unanalyzed(void processEvent(ActionType, StringBuffer, Object[])): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionTableModel:fireTableRowsDeleted
    //#test_vector(void processEvent(ActionType, StringBuffer, Object[])): java.lang.Object:equals(...)@463: {1}, {0}
    //#test_vector(void processEvent(ActionType, StringBuffer, Object[])): java.lang.Object:equals(...)@463: {0}, {1}
    //#test_vector(void processEvent(ActionType, StringBuffer, Object[])): java.lang.Object:equals(...)@470: {0}, {1}
    //#test_vector(void processEvent(ActionType, StringBuffer, Object[])): java.lang.String:equals(...)@466: {0}, {1}
    //#test_vector(void processEvent(ActionType, StringBuffer, Object[])): javax.swing.JList:getSelectedValue(...)@460: Inverse{null}, Addr_Set{null}
            return;
        }
        if (type.equals(CoreActionType.ACTION_CREATED) ||
                type.equals(CoreActionType.ACTION_UPDATED)) {
            final Action action = (Action) arguments[0];
            if (action.getGroup().equals(((ActionGroup) groups.getSelectedValue()).getName())) {
    //#ActionsManagerDialog.java:466: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.Action:getGroup()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void processEvent(ActionType, StringBuffer, Object[])
    //#    unanalyzed callee: String com.dmdirc.actions.Action:getGroup()
    //#ActionsManagerDialog.java:466: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.ActionGroup:getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void processEvent(ActionType, StringBuffer, Object[])
    //#    unanalyzed callee: String com.dmdirc.actions.ActionGroup:getName()
                actions.actionChanged(action);
            }
        } else {
            if (arguments[0].equals(((ActionGroup) groups.getSelectedValue()).getName())) {
    //#ActionsManagerDialog.java:470: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.ActionGroup:getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void processEvent(ActionType, StringBuffer, Object[])
    //#    unanalyzed callee: String com.dmdirc.actions.ActionGroup:getName()
                actions.actionDeleted((String) arguments[1]);
            }
        }
    }
    //#ActionsManagerDialog.java:474: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.processEvent(ActionType, StringBuffer, Object[])

    /** {@inheritDoc} */
    @Override
    public void dispose() {
        if (me == null) {
    //#ActionsManagerDialog.java:479: method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.dispose()
    //#input(void dispose()): me
    //#input(void dispose()): me.__Lock
    //#input(void dispose()): this
    //#output(void dispose()): me
    //#pre[1] (void dispose()): init'ed(me)
    //#post(void dispose()): me == null
    //#test_vector(void dispose()): me: Inverse{null}, Addr_Set{null}
            return;
        }
        synchronized (me) {
            super.dispose();
    //#ActionsManagerDialog.java:483: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
    //#    method: void dispose()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardDialog:dispose()
            me = null;
        }
    }
    //#ActionsManagerDialog.java:486: end of method: void com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.dispose()
}
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$3]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Dispatch_Table.cancelled()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Dispatch_Table.save()Z
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$3] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Dispatch_Table.cancelled()V == &cancelled
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init): __Dispatch_Table.save()Z == &save
    //#ActionsManagerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3__static_init
    //#ActionsManagerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$3
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$2]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Dispatch_Table.cancelled()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Dispatch_Table.save()Z
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$2] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Dispatch_Table.cancelled()V == &cancelled
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init): __Dispatch_Table.save()Z == &save
    //#ActionsManagerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2__static_init
    //#ActionsManagerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$2
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$1]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init): __Dispatch_Table.windowClosing(Ljava/awt/event/WindowEvent;)V
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init): __Dispatch_Table.windowClosing(Ljava/awt/event/WindowEvent;)V == &windowClosing
    //#ActionsManagerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1__static_init
    //#ActionsManagerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog$1
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.addGroup()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.addListeners()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.changeActiveGroup(Lcom/dmdirc/actions/ActionGroup;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.delGroup()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.dispose()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.editGroup()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.initComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.layoutComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.layoutGroupPanel()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.processEvent(Lcom/dmdirc/actions/interfaces/ActionType;Ljava/lang/StringBuffer;[Ljava/lang/Object;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.reloadGroups()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.reloadGroups(Lcom/dmdirc/actions/ActionGroup;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.valueChanged(Ljavax/swing/event/ListSelectionEvent;)V
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.addGroup()V == &addGroup
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.addListeners()V == &addListeners
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.changeActiveGroup(Lcom/dmdirc/actions/ActionGroup;)V == &changeActiveGroup
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.delGroup()V == &delGroup
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.dispose()V == &dispose
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.editGroup()V == &editGroup
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.initComponents()V == &initComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.layoutComponents()V == &layoutComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.layoutGroupPanel()V == &layoutGroupPanel
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.processEvent(Lcom/dmdirc/actions/interfaces/ActionType;Ljava/lang/StringBuffer;[Ljava/lang/Object;)V == &processEvent
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.reloadGroups()V == &reloadGroups
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.reloadGroups(Lcom/dmdirc/actions/ActionGroup;)V == &reloadGroups
    //#post(com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init): __Dispatch_Table.valueChanged(Ljavax/swing/event/ListSelectionEvent;)V == &valueChanged
    //#ActionsManagerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog.com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog__static_init
    //#ActionsManagerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog
