//# 0 errors, 1,015 messages
//#
/*
    //#ActionConditionsPanel.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#ActionConditionsPanel.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__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.actioneditor;

import com.dmdirc.actions.ActionCondition;
import com.dmdirc.actions.ConditionTree;
import com.dmdirc.actions.ConditionTreeFactory.ConditionTreeFactoryType;
import com.dmdirc.actions.interfaces.ActionType;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;

import net.miginfocom.swing.MigLayout;

/**
 * Action conditions panel.
 */
public class ActionConditionsPanel extends JPanel implements ActionListener,
        PropertyChangeListener {

    /**
     * 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;
    /** Action trigger. */
    private ActionType trigger;
    /** Tree panel. */
    private ActionConditionsTreePanel tree;
    /** List Panel. */
    private ActionConditionsListPanel list;
    /** Add button. */
    private JButton add;
    /** tree validates? */
    private boolean treeValidates = true;
    /** list validates? */
    private boolean listValidates = true;

    /** Instantiates the panel. */
    public ActionConditionsPanel() {
        this(null);
    //#ActionConditionsPanel.java:71: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): __Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): __Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.add
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.list
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.listValidates
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.tree
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.treeValidates
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.trigger
    //#pre[1] (void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): (soft) this.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.list != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.tree != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): init'ed(this.add)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.list != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.listValidates == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.treeValidates == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.tree != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): this.trigger == null
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JToggleButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:addPropertyChangeListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:addPropertyChangeListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:getBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.BorderFactory:createTitledBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JScrollPane:setHorizontalScrollBarPolicy
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JScrollPane:getVerticalScrollBar
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JScrollBar:setUnitIncrement
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JSeparator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JRadioButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()): Effects-of-calling:initComponents
    }
    //#ActionConditionsPanel.java:72: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel()

    /** 
     * Instantiates the panel.
     * 
     * @param trigger Action trigger
     */
    public ActionConditionsPanel(final ActionType trigger) {
        super();
    //#ActionConditionsPanel.java:80: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): __Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): __Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.__Tag
    //#input(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): trigger
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.add
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.listValidates
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.treeValidates
    //#output(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.trigger
    //#pre[1] (void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): (soft) this.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.add != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.add@89 != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list.conditions != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree.allButton != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree.customButton != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree.oneButton != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): init'ed(this.add)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.list != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.listValidates == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.treeValidates == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.tree != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): this.trigger == trigger
    //#post(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): init'ed(this.trigger)
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JToggleButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:addPropertyChangeListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:addPropertyChangeListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:getBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.BorderFactory:createTitledBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JScrollPane:setHorizontalScrollBarPolicy
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JScrollPane:getVerticalScrollBar
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JScrollBar:setUnitIncrement
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JSeparator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): Effects-of-calling:javax.swing.JRadioButton:setEnabled
    //#test_vector(void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)): trigger: Inverse{null}, Addr_Set{null}

        this.trigger = trigger;

        initComponents();
    //#ActionConditionsPanel.java:84: Warning: call too complex - analysis skipped
    //#    call on void initComponents()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)
    //#    unanalyzed callee: void initComponents()
        addListeners();
        layoutComponents();

        if (trigger == null) {
            setEnabled(false);
            add.setEnabled(false);
        }
    }
    //#ActionConditionsPanel.java:92: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel(ActionType)

    /** Validates the conditions. */
    public void validateConditions() {
        tree.validateConditions();
    //#ActionConditionsPanel.java:96: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.validateConditions()
    //#input(void validateConditions()): com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1).length
    //#input(void validateConditions()): com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295]
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getText()Ljava/lang/String;
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setEnabled(Z)V
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel$1.$SwitchMap$com$dmdirc$actions$ConditionTreeFactory$ConditionTreeFactoryType
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.validateConditions()V
    //#input(void validateConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType.CONJUNCTION
    //#input(void validateConditions()): this
    //#input(void validateConditions()): this.tree
    //#input(void validateConditions()): this.tree.__Tag
    //#input(void validateConditions()): this.tree.allButton
    //#input(void validateConditions()): this.tree.conditionCount
    //#input(void validateConditions()): this.tree.customButton
    //#input(void validateConditions()): this.tree.group
    //#input(void validateConditions()): this.tree.oneButton
    //#input(void validateConditions()): this.tree.rule
    //#input(void validateConditions()): this.tree.rule.__Tag
    //#input(void validateConditions()): this.tree.rule.errorIcon
    //#input(void validateConditions()): this.tree.rule.textField
    //#input(void validateConditions()): this.tree.rule.validator
    //#input(void validateConditions()): this.tree.treeFactory
    //#input(void validateConditions()): this.tree.validates
    //#output(void validateConditions()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects
    //#output(void validateConditions()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects
    //#output(void validateConditions()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects
    //#output(void validateConditions()): this.tree.treeFactory
    //#output(void validateConditions()): this.tree.validates
    //#new obj(void validateConditions()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1)
    //#new obj(void validateConditions()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)
    //#new obj(void validateConditions()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2)
    //#pre[2] (void validateConditions()): init'ed(this.tree.treeFactory)
    //#pre[5] (void validateConditions()): this.tree != null
    //#pre[6] (void validateConditions()): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[10] (void validateConditions()): this.tree.group != null
    //#pre[12] (void validateConditions()): this.tree.rule != null
    //#pre[13] (void validateConditions()): this.tree.rule.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[14] (void validateConditions()): this.tree.rule.errorIcon != null
    //#pre[15] (void validateConditions()): this.tree.rule.textField != null
    //#pre[1] (void validateConditions()): (soft) init'ed(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295])
    //#pre[3] (void validateConditions()): (soft) init'ed(this.tree.validates)
    //#pre[7] (void validateConditions()): (soft) this.tree.allButton != null
    //#pre[8] (void validateConditions()): (soft) init'ed(this.tree.conditionCount)
    //#pre[9] (void validateConditions()): (soft) this.tree.customButton != null
    //#pre[11] (void validateConditions()): (soft) this.tree.oneButton != null
    //#pre[16] (void validateConditions()): (soft) this.tree.rule.validator != null
    //#presumption(void validateConditions()): com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:values(...).length >= 1
    //#post(void validateConditions()): this.tree.treeFactory == One-of{&new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1), &new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2), &new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)}
    //#post(void validateConditions()): this.tree.treeFactory in Addr_Set{&new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1),&new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2),&new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)}
    //#post(void validateConditions()): init'ed(this.tree.validates)
    //#post(void validateConditions()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects <= 1
    //#post(void validateConditions()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects <= 1
    //#post(void validateConditions()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects <= 1
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getType
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getConditionTree
    //#unanalyzed(void validateConditions()): Effects-of-calling:selectTreeButton
    //#unanalyzed(void validateConditions()): Effects-of-calling:java.lang.Object:equals
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void validateConditions()): Effects-of-calling:sortTreeFactory
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.ButtonGroup:clearSelection
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:ordinal
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JRadioButton:setSelected
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTree:toString
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.ButtonGroup:getSelection
    //#unanalyzed(void validateConditions()): Effects-of-calling:javax.swing.JRadioButton:getModel
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConjunctionFactory
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:firePropertyChange
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$DisjunctionFactory
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTree:parseString
    //#unanalyzed(void validateConditions()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$CustomFactory
    }
    //#ActionConditionsPanel.java:97: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.validateConditions()

    /** Initialises the components. */
    private void initComponents() {
        tree = new ActionConditionsTreePanel();
    //#ActionConditionsPanel.java:101: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.initComponents()
    //#input(void initComponents()): "."._tainted
    //#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.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1).length
    //#input(void initComponents()): com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295]
    //#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()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getDocument()Ljavax/swing/text/Document;
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getText()Ljava/lang/String;
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setEnabled(Z)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.addConditionListener(Lcom/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionRemovalListener;)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel$1.$SwitchMap$com$dmdirc$actions$ConditionTreeFactory$ConditionTreeFactoryType
    //#input(void initComponents()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType.CONJUNCTION
    //#input(void initComponents()): this
    //#output(void initComponents()): new ActionConditionsListPanel(initComponents#2) num objects
    //#output(void initComponents()): this.list.__Tag
    //#output(void initComponents()): this.list.conditions
    //#output(void initComponents()): this.list.treePanel
    //#output(void initComponents()): this.list.trigger
    //#output(void initComponents()): this.list.validates
    //#output(void initComponents()): this.list.validations
    //#output(void initComponents()): new ActionConditionsTreePanel(initComponents#1) num objects
    //#output(void initComponents()): this.tree.__Tag
    //#output(void initComponents()): this.tree.allButton
    //#output(void initComponents()): this.tree.conditionCount
    //#output(void initComponents()): this.tree.customButton
    //#output(void initComponents()): this.tree.group
    //#output(void initComponents()): this.tree.oneButton
    //#output(void initComponents()): this.tree.rule
    //#output(void initComponents()): this.tree.treeFactory
    //#output(void initComponents()): this.tree.treeValidator
    //#output(void initComponents()): this.tree.validates
    //#output(void initComponents()): new ArrayList(ActionConditionsListPanel#2) num objects
    //#output(void initComponents()): new ArrayList(ActionConditionsListPanel#2).__Lock
    //#output(void initComponents()): new ButtonGroup(initComponents#1) num objects
    //#output(void initComponents()): new ConditionRuleValidator(initComponents#5) num objects
    //#output(void initComponents()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects
    //#output(void initComponents()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects
    //#output(void initComponents()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects
    //#output(void initComponents()): new HashMap(ActionConditionsListPanel#1) num objects
    //#output(void initComponents()): new JButton(initComponents#3) num objects
    //#output(void initComponents()): new JLabel(ValidatingJTextField#1) num objects
    //#output(void initComponents()): new JRadioButton(initComponents#2) num objects
    //#output(void initComponents()): new JRadioButton(initComponents#3) num objects
    //#output(void initComponents()): new JRadioButton(initComponents#4) num objects
    //#output(void initComponents()): new JTextField(ValidatingJTextField#1) num objects
    //#output(void initComponents()): new ValidatingJTextField(initComponents#6) num objects
    //#output(void initComponents()): new ValidatingJTextField(initComponents#6).__Tag
    //#output(void initComponents()): new ValidatingJTextField(initComponents#6).errorIcon
    //#output(void initComponents()): new ValidatingJTextField(initComponents#6).textField
    //#output(void initComponents()): new ValidatingJTextField(initComponents#6).validator
    //#output(void initComponents()): this.add
    //#output(void initComponents()): this.list
    //#output(void initComponents()): this.tree
    //#new obj(void initComponents()): new ActionConditionsListPanel(initComponents#2)
    //#new obj(void initComponents()): new ActionConditionsTreePanel(initComponents#1)
    //#new obj(void initComponents()): new ArrayList(ActionConditionsListPanel#2)
    //#new obj(void initComponents()): new ButtonGroup(initComponents#1)
    //#new obj(void initComponents()): new ConditionRuleValidator(initComponents#5)
    //#new obj(void initComponents()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1)
    //#new obj(void initComponents()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)
    //#new obj(void initComponents()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2)
    //#new obj(void initComponents()): new HashMap(ActionConditionsListPanel#1)
    //#new obj(void initComponents()): new JButton(initComponents#3)
    //#new obj(void initComponents()): new JLabel(ValidatingJTextField#1)
    //#new obj(void initComponents()): new JRadioButton(initComponents#2)
    //#new obj(void initComponents()): new JRadioButton(initComponents#3)
    //#new obj(void initComponents()): new JRadioButton(initComponents#4)
    //#new obj(void initComponents()): new JTextField(ValidatingJTextField#1)
    //#new obj(void initComponents()): new ValidatingJTextField(initComponents#6)
    //#pre[1] (void initComponents()): (soft) init'ed(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295])
    //#presumption(void initComponents()): com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:values(...).length >= 1
    //#post(void initComponents()): this.add == &new JButton(initComponents#3)
    //#post(void initComponents()): this.list == &new ActionConditionsListPanel(initComponents#2)
    //#post(void initComponents()): this.tree == &new ActionConditionsTreePanel(initComponents#1)
    //#post(void initComponents()): this.list.treePanel == &new ActionConditionsTreePanel(initComponents#1)
    //#post(void initComponents()): new ActionConditionsListPanel(initComponents#2) num objects == 1
    //#post(void initComponents()): this.list.validates == 1
    //#post(void initComponents()): new ActionConditionsTreePanel(initComponents#1) num objects == 1
    //#post(void initComponents()): this.tree.validates == 1
    //#post(void initComponents()): new ArrayList(ActionConditionsListPanel#2) num objects == 1
    //#post(void initComponents()): new ButtonGroup(initComponents#1) num objects == 1
    //#post(void initComponents()): new ConditionRuleValidator(initComponents#5) num objects == 1
    //#post(void initComponents()): new HashMap(ActionConditionsListPanel#1) num objects == 1
    //#post(void initComponents()): new JButton(initComponents#3) num objects == 1
    //#post(void initComponents()): new JLabel(ValidatingJTextField#1) num objects == 1
    //#post(void initComponents()): new JRadioButton(initComponents#2) num objects == 1
    //#post(void initComponents()): new JRadioButton(initComponents#3) num objects == 1
    //#post(void initComponents()): new JRadioButton(initComponents#4) num objects == 1
    //#post(void initComponents()): new JTextField(ValidatingJTextField#1) num objects == 1
    //#post(void initComponents()): new ValidatingJTextField(initComponents#6) num objects == 1
    //#post(void initComponents()): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#post(void initComponents()): this.list.conditions == &new ArrayList(ActionConditionsListPanel#2)
    //#post(void initComponents()): this.list.trigger == null
    //#post(void initComponents()): this.list.validations == &new HashMap(ActionConditionsListPanel#1)
    //#post(void initComponents()): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#post(void initComponents()): this.tree.allButton == &new JRadioButton(initComponents#2)
    //#post(void initComponents()): init'ed(this.tree.conditionCount)
    //#post(void initComponents()): this.tree.customButton == &new JRadioButton(initComponents#4)
    //#post(void initComponents()): this.tree.group == &new ButtonGroup(initComponents#1)
    //#post(void initComponents()): this.tree.oneButton == &new JRadioButton(initComponents#3)
    //#post(void initComponents()): this.tree.rule == &new ValidatingJTextField(initComponents#6)
    //#post(void initComponents()): this.tree.treeFactory == One-of{&new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1), &new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2), &new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)}
    //#post(void initComponents()): this.tree.treeFactory in Addr_Set{&new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1),&new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2),&new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)}
    //#post(void initComponents()): this.tree.treeValidator == &new ConditionRuleValidator(initComponents#5)
    //#post(void initComponents()): new ValidatingJTextField(initComponents#6).validator == &new ConditionRuleValidator(initComponents#5)
    //#post(void initComponents()): init'ed(new ArrayList(ActionConditionsListPanel#2).__Lock)
    //#post(void initComponents()): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects <= 1
    //#post(void initComponents()): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects <= 1
    //#post(void initComponents()): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects <= 1
    //#post(void initComponents()): new ValidatingJTextField(initComponents#6).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void initComponents()): new ValidatingJTextField(initComponents#6).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void initComponents()): new ValidatingJTextField(initComponents#6).textField == &new JTextField(ValidatingJTextField#1)
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.ButtonGroup
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JRadioButton
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.validator.ConditionRuleValidator
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField:getDocument
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JComponent
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void initComponents()): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:add
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.text.Document:addDocumentListener
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.ButtonGroup:add
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getType
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:setLayout
    //#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:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getConditionTree
    //#unanalyzed(void initComponents()): Effects-of-calling:java.lang.Object:equals
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:sortTreeFactory
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.ButtonGroup:clearSelection
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:ordinal
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JRadioButton:setSelected
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTree:toString
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.ButtonGroup:getSelection
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JRadioButton:getModel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConjunctionFactory
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:firePropertyChange
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$DisjunctionFactory
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTree:parseString
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$CustomFactory
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JRadioButton:addActionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:addPropertyChangeListener
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:setVisible
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:removeAll
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:add
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getType
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.actions.interfaces.ActionMetaType:getArgNames
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.List: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:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void initComponents()): Effects-of-calling:addConditionListener
    //#unanalyzed(void initComponents()): Effects-of-calling:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:setLayout
    //#unanalyzed(void initComponents()): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.util.ListenerList:add
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JToggleButton:setEnabled
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
        list = new ActionConditionsListPanel(tree);
        add = new JButton("Add");
    }
    //#ActionConditionsPanel.java:104: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.initComponents()

    /** Adds the listeners. */
    private void addListeners() {
        add.addActionListener(this);
    //#ActionConditionsPanel.java:108: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.addListeners()
    //#input(void addListeners()): this
    //#input(void addListeners()): this.add
    //#input(void addListeners()): this.list
    //#input(void addListeners()): this.tree
    //#pre[2] (void addListeners()): this.add != null
    //#pre[3] (void addListeners()): this.list != null
    //#pre[4] (void addListeners()): this.tree != null
        tree.addPropertyChangeListener("validationResult", this);
    //#ActionConditionsPanel.java:109: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:addPropertyChangeListener(String, PropertyChangeListener)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:addPropertyChangeListener(String, PropertyChangeListener)
        list.addPropertyChangeListener("validationResult", this);
    //#ActionConditionsPanel.java:110: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:addPropertyChangeListener(String, PropertyChangeListener)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void addListeners()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:addPropertyChangeListener(String, PropertyChangeListener)
    }
    //#ActionConditionsPanel.java:111: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.addListeners()

    /** Lays out the components. */
    private void layoutComponents() {
        setLayout(new MigLayout("fill, wrap 1, pack"));
    //#ActionConditionsPanel.java:115: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.layoutComponents()
    //#ActionConditionsPanel.java:115: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#ActionConditionsPanel.java:115: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setLayout(LayoutManager)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setLayout(LayoutManager)
    //#input(void layoutComponents()): this
    //#input(void layoutComponents()): this.add
    //#input(void layoutComponents()): this.list
    //#input(void layoutComponents()): this.tree
    //#pre[2] (void layoutComponents()): init'ed(this.add)
    //#pre[3] (void layoutComponents()): init'ed(this.list)
    //#pre[4] (void layoutComponents()): init'ed(this.tree)
    //#presumption(void layoutComponents()): javax.swing.JScrollPane:getVerticalScrollBar(...)@121 != null

        setBorder(BorderFactory.createTitledBorder(getBorder(), "Conditions"));
    //#ActionConditionsPanel.java:117: Warning: method not available - call not analyzed
    //#    call on Border com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:getBorder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Border com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:getBorder()
    //#ActionConditionsPanel.java:117: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setBorder(Border)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:setBorder(Border)

        final JScrollPane sp = new JScrollPane(list);
        sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        sp.getVerticalScrollBar().setUnitIncrement(10);

        add(tree, "growx, pushx");
    //#ActionConditionsPanel.java:123: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
        add(new JSeparator(JSeparator.HORIZONTAL), "growx, pushx");
    //#ActionConditionsPanel.java:124: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
        add(sp, "grow, push");
    //#ActionConditionsPanel.java:125: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
        add(add, "right, gaptop push");
    //#ActionConditionsPanel.java:126: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:add(Component, Object)
    }
    //#ActionConditionsPanel.java:127: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.layoutComponents()

    /**
     * Sets the trigger for this conditions panel.
     * 
     * @param trigger Action trigger.
     */
    public void setActionTrigger(final ActionType trigger) {
        this.trigger = trigger;
    //#ActionConditionsPanel.java:135: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setActionTrigger(ActionType)
    //#input(void setActionTrigger(ActionType)): " "._tainted
    //#input(void setActionTrigger(ActionType)): " '"._tainted
    //#input(void setActionTrigger(ActionType)): " ..."._tainted
    //#input(void setActionTrigger(ActionType)): "'"._tainted
    //#input(void setActionTrigger(ActionType)): "'s "._tainted
    //#input(void setActionTrigger(ActionType)): "."._tainted
    //#input(void setActionTrigger(ActionType)): "; "._tainted
    //#input(void setActionTrigger(ActionType)): "The "._tainted
    //#input(void setActionTrigger(ActionType)): "body { font-family: "._tainted
    //#input(void setActionTrigger(ActionType)): "font-size: "._tainted
    //#input(void setActionTrigger(ActionType)): "pt; }"._tainted
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[others]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setActionTrigger(ActionType)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#input(void setActionTrigger(ActionType)): this
    //#input(void setActionTrigger(ActionType)): this.add
    //#input(void setActionTrigger(ActionType)): this.list
    //#input(void setActionTrigger(ActionType)): this.list.__Tag
    //#input(void setActionTrigger(ActionType)): this.list.conditions
    //#input(void setActionTrigger(ActionType)): this.list.trigger
    //#input(void setActionTrigger(ActionType)): trigger
    //#output(void setActionTrigger(ActionType)): this.list.trigger
    //#output(void setActionTrigger(ActionType)): this.trigger
    //#pre[1] (void setActionTrigger(ActionType)): init'ed(this.list.trigger)
    //#pre[3] (void setActionTrigger(ActionType)): this.add != null
    //#pre[4] (void setActionTrigger(ActionType)): this.list != null
    //#pre[5] (void setActionTrigger(ActionType)): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[6] (void setActionTrigger(ActionType)): this.list.conditions != null
    //#presumption(void setActionTrigger(ActionType)): com.dmdirc.actions.interfaces.ActionMetaType:getArgNames(...)@138 != null
    //#presumption(void setActionTrigger(ActionType)): com.dmdirc.actions.interfaces.ActionType:getType(...)@138 != null
    //#post(void setActionTrigger(ActionType)): this.list.trigger == trigger
    //#post(void setActionTrigger(ActionType)): init'ed(this.list.trigger)
    //#post(void setActionTrigger(ActionType)): this.trigger == this.list.trigger
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:setVisible
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:removeAll
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:add
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getType
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionMetaType:getArgNames
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JToggleButton:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.util.List:clear
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:setTrigger
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.ActionCondition:getArg
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JComboBox:setSelectedIndex
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionEditorPanel:setVisible
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:javax.swing.JToggleButton:setSelected
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.ActionCondition:getComponent
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.ActionCondition:getComparison
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.ActionCondition:getTarget
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionComponent:getName
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionComparison:getName
    //#unanalyzed(void setActionTrigger(ActionType)): Effects-of-calling:java.lang.Object:equals
        list.setTrigger(trigger);
        add.setEnabled(trigger != null);
        add.setEnabled(trigger != null && trigger.getType().getArgNames().length != 0);
    //#ActionConditionsPanel.java:138: Warning: method not available - call not analyzed
    //#    call on ActionMetaType com.dmdirc.actions.interfaces.ActionType:getType()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void setActionTrigger(ActionType)
    //#    unanalyzed callee: ActionMetaType com.dmdirc.actions.interfaces.ActionType:getType()
    //#ActionConditionsPanel.java:138: Warning: method not available - call not analyzed
    //#    call on String[] com.dmdirc.actions.interfaces.ActionMetaType:getArgNames()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void setActionTrigger(ActionType)
    //#    unanalyzed callee: String[] com.dmdirc.actions.interfaces.ActionMetaType:getArgNames()
    }
    //#ActionConditionsPanel.java:139: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setActionTrigger(ActionType)

    /** {@inheritDoc} */
    @Override
    public void setEnabled(final boolean enabled) {
        tree.setEnabled(enabled);
    //#ActionConditionsPanel.java:144: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setEnabled(bool)
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Descendant_Table[others]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionEditorPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void setEnabled(bool)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.setEnabled(Z)V
    //#input(void setEnabled(bool)): enabled
    //#input(void setEnabled(bool)): this
    //#input(void setEnabled(bool)): this.list
    //#input(void setEnabled(bool)): this.list.__Tag
    //#input(void setEnabled(bool)): this.list.conditions
    //#input(void setEnabled(bool)): this.tree
    //#input(void setEnabled(bool)): this.tree.__Tag
    //#input(void setEnabled(bool)): this.tree.allButton
    //#input(void setEnabled(bool)): this.tree.customButton
    //#input(void setEnabled(bool)): this.tree.oneButton
    //#pre[3] (void setEnabled(bool)): this.list != null
    //#pre[4] (void setEnabled(bool)): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[5] (void setEnabled(bool)): this.list.conditions != null
    //#pre[6] (void setEnabled(bool)): this.tree != null
    //#pre[7] (void setEnabled(bool)): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[8] (void setEnabled(bool)): this.tree.allButton != null
    //#pre[9] (void setEnabled(bool)): this.tree.customButton != null
    //#pre[10] (void setEnabled(bool)): this.tree.oneButton != null
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JComboBox:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JComboBox:getSelectedIndex
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JPanel:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JToggleButton:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.ImageButton:setEnabled
    //#unanalyzed(void setEnabled(bool)): Effects-of-calling:javax.swing.JRadioButton:setEnabled
        list.setEnabled(enabled);
    }
    //#ActionConditionsPanel.java:146: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setEnabled(bool)

    /** 
     * {@inheritDoc}
     * 
     * @param e Action event
     */
    @Override
    public void actionPerformed(final ActionEvent e) {
        list.addCondition(new ActionCondition(-1, null, null, ""));
    //#ActionConditionsPanel.java:155: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.actionPerformed(ActionEvent)
    //#ActionConditionsPanel.java:155: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.ActionCondition(int, ActionComponent, ActionComparison, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: void com.dmdirc.actions.ActionCondition(int, ActionComponent, ActionComparison, String)
    //#ActionConditionsPanel.java:155: Warning: call too complex - analysis skipped
    //#    call on void addCondition(ActionCondition)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: void addCondition(ActionCondition)
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.addCondition(Lcom/dmdirc/actions/ActionCondition;)V
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.list
    //#input(void actionPerformed(ActionEvent)): this.list.__Tag
    //#pre[2] (void actionPerformed(ActionEvent)): this.list != null
    //#pre[3] (void actionPerformed(ActionEvent)): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    }
    //#ActionConditionsPanel.java:156: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.actionPerformed(ActionEvent)

    /**
     * Sets the conditions.
     * 
     * @param conditions conditions list
     */
    public void setConditions(final List<ActionCondition> conditions) {
        list.clearConditions();
    //#ActionConditionsPanel.java:164: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setConditions(List)
    //#input(void setConditions(List)): "."._tainted
    //#input(void setConditions(List)): "; "._tainted
    //#input(void setConditions(List)): "body { font-family: "._tainted
    //#input(void setConditions(List)): "font-size: "._tainted
    //#input(void setConditions(List)): "pt; }"._tainted
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[com/dmdirc/addons/ui_swing/components/text/TextLabel]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Descendant_Table[others]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.getDocument()Ljavax/swing/text/StyledDocument;
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/text/TextLabel.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.getCondition()Lcom/dmdirc/actions/ActionCondition;
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.addCondition(Lcom/dmdirc/actions/ActionCondition;)V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.clearConditions()V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.conditionRemoved(Lcom/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel;)V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.delCondition(Lcom/dmdirc/actions/ActionCondition;)V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.propertyChange(Ljava/beans/PropertyChangeEvent;)V
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void setConditions(List)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.setConditionCount(I)V
    //#input(void setConditions(List)): conditions
    //#input(void setConditions(List)): this
    //#input(void setConditions(List)): this.list
    //#input(void setConditions(List)): this.list.__Tag
    //#input(void setConditions(List)): this.list.conditions
    //#input(void setConditions(List)): this.list.treePanel
    //#input(void setConditions(List)): this.list.treePanel.__Tag
    //#input(void setConditions(List)): this.list.treePanel.rule
    //#input(void setConditions(List)): this.list.treePanel.rule.__Tag
    //#input(void setConditions(List)): this.list.treePanel.rule.errorIcon
    //#input(void setConditions(List)): this.list.treePanel.rule.textField
    //#input(void setConditions(List)): this.list.treePanel.rule.validator
    //#input(void setConditions(List)): this.list.treePanel.treeValidator
    //#input(void setConditions(List)): this.list.trigger
    //#input(void setConditions(List)): this.list.validates
    //#input(void setConditions(List)): this.list.validations
    //#output(void setConditions(List)): this.list.treePanel.conditionCount
    //#output(void setConditions(List)): this.list.validates
    //#pre[1] (void setConditions(List)): conditions != null
    //#pre[5] (void setConditions(List)): this.list != null
    //#pre[7] (void setConditions(List)): this.list.conditions != null
    //#pre[3] (void setConditions(List)): (soft) init'ed(this.list.validates)
    //#pre[6] (void setConditions(List)): (soft) this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[9] (void setConditions(List)): (soft) this.list.treePanel != null
    //#pre[10] (void setConditions(List)): (soft) this.list.treePanel.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[11] (void setConditions(List)): (soft) this.list.treePanel.rule != null
    //#pre[12] (void setConditions(List)): (soft) this.list.treePanel.rule.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[13] (void setConditions(List)): (soft) this.list.treePanel.rule.errorIcon != null
    //#pre[14] (void setConditions(List)): (soft) this.list.treePanel.rule.textField != null
    //#pre[15] (void setConditions(List)): (soft) this.list.treePanel.rule.validator != null
    //#pre[16] (void setConditions(List)): (soft) this.list.treePanel.treeValidator != null
    //#pre[17] (void setConditions(List)): (soft) init'ed(this.list.trigger)
    //#pre[18] (void setConditions(List)): (soft) this.list.validations != null
    //#post(void setConditions(List)): possibly_updated(this.list.treePanel.conditionCount)
    //#post(void setConditions(List)): init'ed(this.list.validates)
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JTextPane:getDocument
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JTextPane:setText
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.String:isEmpty
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.StyledDocument:setParagraphAttributes
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.html.HTMLEditorKit
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditorKit
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.plaf.basic.BasicTextPaneUI
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setUI
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.UIManager:getFont
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.html.HTMLDocument:getStyleSheet
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.awt.Font:getFamily
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.awt.Font:getSize
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.html.StyleSheet:addRule
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setOpaque
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setEditable
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setHighlighter
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.text.TextLabel:setMargin
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.SimpleAttributeSet
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.text.StyleConstants:setAlignment
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:setVisible
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:removeAll
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:add
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionType:getType
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.actions.interfaces.ActionMetaType:getArgNames
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void setConditions(List)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.beans.PropertyChangeEvent:getSource
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.beans.PropertyChangeEvent:getNewValue
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Map:values
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Collection:iterator
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.lang.Boolean:booleanValue
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsListPanel:firePropertyChange
    //#unanalyzed(void setConditions(List)): Effects-of-calling:getCondition
    //#unanalyzed(void setConditions(List)): Effects-of-calling:delCondition
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.actions.ActionCondition:equals
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.List:size
    //#unanalyzed(void setConditions(List)): Effects-of-calling:com.dmdirc.config.prefs.validator.ConditionRuleValidator:setArgs
    //#unanalyzed(void setConditions(List)): Effects-of-calling:conditionRemoved
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.List:remove
    //#unanalyzed(void setConditions(List)): Effects-of-calling:java.util.Map:remove
    //#test_vector(void setConditions(List)): java.util.Iterator:hasNext(...)@166: {0}, {1}

        for (ActionCondition condition : conditions) {
            list.addCondition(condition);
    //#ActionConditionsPanel.java:167: Warning: call too complex - analysis skipped
    //#    call on void addCondition(ActionCondition)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void setConditions(List)
    //#    unanalyzed callee: void addCondition(ActionCondition)
        }
    }
    //#ActionConditionsPanel.java:169: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setConditions(List)

    /**
     * Sets the condition tree.
     * 
     * @param conditionTree new condition tree
     */
    public void setConditionTree(final ConditionTree conditionTree) {
        tree.setRule(list.getConditions().size(), conditionTree);
    //#ActionConditionsPanel.java:177: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setConditionTree(ConditionTree)
    //#input(void setConditionTree(ConditionTree)): com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1).length
    //#input(void setConditionTree(ConditionTree)): com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getText()Ljava/lang/String;
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setEnabled(Z)V
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.getCondition()Lcom/dmdirc/actions/ActionCondition;
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.getConditions()Ljava/util/List;
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel$1.$SwitchMap$com$dmdirc$actions$ConditionTreeFactory$ConditionTreeFactoryType
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.setRule(ILcom/dmdirc/actions/ConditionTree;)V
    //#input(void setConditionTree(ConditionTree)): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType.CONJUNCTION
    //#input(void setConditionTree(ConditionTree)): conditionTree
    //#input(void setConditionTree(ConditionTree)): this
    //#input(void setConditionTree(ConditionTree)): this.list
    //#input(void setConditionTree(ConditionTree)): this.list.__Tag
    //#input(void setConditionTree(ConditionTree)): this.list.conditions
    //#input(void setConditionTree(ConditionTree)): this.tree
    //#input(void setConditionTree(ConditionTree)): this.tree.__Tag
    //#input(void setConditionTree(ConditionTree)): this.tree.allButton
    //#input(void setConditionTree(ConditionTree)): this.tree.customButton
    //#input(void setConditionTree(ConditionTree)): this.tree.group
    //#input(void setConditionTree(ConditionTree)): this.tree.oneButton
    //#input(void setConditionTree(ConditionTree)): this.tree.rule
    //#input(void setConditionTree(ConditionTree)): this.tree.rule.__Tag
    //#input(void setConditionTree(ConditionTree)): this.tree.rule.errorIcon
    //#input(void setConditionTree(ConditionTree)): this.tree.rule.textField
    //#input(void setConditionTree(ConditionTree)): this.tree.rule.validator
    //#input(void setConditionTree(ConditionTree)): this.tree.validates
    //#output(void setConditionTree(ConditionTree)): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects
    //#output(void setConditionTree(ConditionTree)): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects
    //#output(void setConditionTree(ConditionTree)): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects
    //#output(void setConditionTree(ConditionTree)): this.tree.conditionCount
    //#output(void setConditionTree(ConditionTree)): this.tree.treeFactory
    //#output(void setConditionTree(ConditionTree)): this.tree.validates
    //#new obj(void setConditionTree(ConditionTree)): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1)
    //#new obj(void setConditionTree(ConditionTree)): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)
    //#new obj(void setConditionTree(ConditionTree)): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2)
    //#pre[7] (void setConditionTree(ConditionTree)): this.list != null
    //#pre[8] (void setConditionTree(ConditionTree)): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[9] (void setConditionTree(ConditionTree)): this.list.conditions != null
    //#pre[11] (void setConditionTree(ConditionTree)): this.tree != null
    //#pre[12] (void setConditionTree(ConditionTree)): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[1] (void setConditionTree(ConditionTree)): (soft) init'ed(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel$1__static_init.new int[](ActionConditionsTreePanel$1__static_init#1)[0..4_294_967_295])
    //#pre[5] (void setConditionTree(ConditionTree)): (soft) init'ed(this.tree.validates)
    //#pre[13] (void setConditionTree(ConditionTree)): (soft) this.tree.allButton != null
    //#pre[14] (void setConditionTree(ConditionTree)): (soft) this.tree.customButton != null
    //#pre[15] (void setConditionTree(ConditionTree)): (soft) this.tree.group != null
    //#pre[16] (void setConditionTree(ConditionTree)): (soft) this.tree.oneButton != null
    //#pre[17] (void setConditionTree(ConditionTree)): (soft) this.tree.rule != null
    //#pre[18] (void setConditionTree(ConditionTree)): (soft) this.tree.rule.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[19] (void setConditionTree(ConditionTree)): (soft) this.tree.rule.errorIcon != null
    //#pre[20] (void setConditionTree(ConditionTree)): (soft) this.tree.rule.textField != null
    //#pre[21] (void setConditionTree(ConditionTree)): (soft) this.tree.rule.validator != null
    //#presumption(void setConditionTree(ConditionTree)): com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:values(...).length >= 1
    //#post(void setConditionTree(ConditionTree)): possibly_updated(this.tree.conditionCount)
    //#post(void setConditionTree(ConditionTree)): this.tree.treeFactory == One-of{old this.tree.treeFactory, &new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1), &new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2), &new ConditionTreeFactory$CustomFactory(sortTreeFactory#3)}
    //#post(void setConditionTree(ConditionTree)): init'ed(this.tree.validates)
    //#post(void setConditionTree(ConditionTree)): new ConditionTreeFactory$ConjunctionFactory(sortTreeFactory#1) num objects <= 1
    //#post(void setConditionTree(ConditionTree)): new ConditionTreeFactory$CustomFactory(sortTreeFactory#3) num objects <= 1
    //#post(void setConditionTree(ConditionTree)): new ConditionTreeFactory$DisjunctionFactory(sortTreeFactory#2) num objects <= 1
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getType
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getConditionTree
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.lang.Object:equals
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JTextField:setEnabled
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:sortTreeFactory
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.ButtonGroup:clearSelection
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType:ordinal
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JRadioButton:setSelected
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTree:toString
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.ButtonGroup:getSelection
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:javax.swing.JRadioButton:getModel
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$ConjunctionFactory
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsTreePanel:firePropertyChange
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$DisjunctionFactory
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTree:parseString
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory$CustomFactory
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:getCondition
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:java.util.List:add
    //#unanalyzed(void setConditionTree(ConditionTree)): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getFactory
    }
    //#ActionConditionsPanel.java:178: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.setConditionTree(ConditionTree)

    /**
     * Gets the condition type.
     * 
     * @return condition type
     */
    public ConditionTreeFactoryType getConditionTreeType() {
        return tree.getRuleType(list.getConditions().size());
    //#ActionConditionsPanel.java:186: method: ConditionTreeFactory$ConditionTreeFactoryType com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditionTreeType()
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.getCondition()Lcom/dmdirc/actions/ActionCondition;
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.getConditions()Ljava/util/List;
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.getRuleType(I)Lcom/dmdirc/actions/ConditionTreeFactory$ConditionTreeFactoryType;
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.com.dmdirc.actions.ConditionTreeFactory$ConditionTreeFactoryType.CONJUNCTION
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list.__Tag
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list.conditions
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.tree
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.tree.__Tag
    //#input(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.tree.treeFactory
    //#output(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): return_value
    //#pre[2] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list != null
    //#pre[3] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[4] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.list.conditions != null
    //#pre[6] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.tree != null
    //#pre[7] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[8] (ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): (soft) this.tree.treeFactory != null
    //#post(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): init'ed(return_value)
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getType
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:getCondition
    //#unanalyzed(ConditionTreeFactory$ConditionTreeFactoryType getConditionTreeType()): Effects-of-calling:java.util.List:add
    //#ActionConditionsPanel.java:186: end of method: ConditionTreeFactory$ConditionTreeFactoryType com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditionTreeType()
    }

    /**
     * Gets the condition tree.
     * 
     * @return condition tree
     */
    public ConditionTree getConditionTree() {
        return tree.getRule(list.getConditions().size());
    //#ActionConditionsPanel.java:195: method: ConditionTree com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditionTree()
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.getCondition()Lcom/dmdirc/actions/ActionCondition;
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.getConditions()Ljava/util/List;
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Descendant_Table[others]
    //#input(ConditionTree getConditionTree()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel.__Dispatch_Table.getRule(I)Lcom/dmdirc/actions/ConditionTree;
    //#input(ConditionTree getConditionTree()): this
    //#input(ConditionTree getConditionTree()): this.list
    //#input(ConditionTree getConditionTree()): this.list.__Tag
    //#input(ConditionTree getConditionTree()): this.list.conditions
    //#input(ConditionTree getConditionTree()): this.tree
    //#input(ConditionTree getConditionTree()): this.tree.__Tag
    //#input(ConditionTree getConditionTree()): this.tree.treeFactory
    //#output(ConditionTree getConditionTree()): return_value
    //#pre[2] (ConditionTree getConditionTree()): this.list != null
    //#pre[3] (ConditionTree getConditionTree()): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[4] (ConditionTree getConditionTree()): this.list.conditions != null
    //#pre[6] (ConditionTree getConditionTree()): this.tree != null
    //#pre[7] (ConditionTree getConditionTree()): this.tree.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsTreePanel
    //#pre[8] (ConditionTree getConditionTree()): this.tree.treeFactory != null
    //#post(ConditionTree getConditionTree()): init'ed(return_value)
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:com.dmdirc.actions.ConditionTreeFactory:getConditionTree
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:getCondition
    //#unanalyzed(ConditionTree getConditionTree()): Effects-of-calling:java.util.List:add
    //#ActionConditionsPanel.java:195: end of method: ConditionTree com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditionTree()
    }

    /**
     * Returns the condition list.
     * 
     * @return condition list
     */
    public List<ActionCondition> getConditions() {
        return list.getConditions();
    //#ActionConditionsPanel.java:204: method: List com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditions()
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel]
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Descendant_Table[others]
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionDisplayPanel.__Dispatch_Table.getCondition()Lcom/dmdirc/actions/ActionCondition;
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel]
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Descendant_Table[others]
    //#input(List getConditions()): com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel.__Dispatch_Table.getConditions()Ljava/util/List;
    //#input(List getConditions()): this
    //#input(List getConditions()): this.list
    //#input(List getConditions()): this.list.__Tag
    //#input(List getConditions()): this.list.conditions
    //#output(List getConditions()): new ArrayList(getConditions#1*) num objects
    //#output(List getConditions()): return_value
    //#new obj(List getConditions()): new ArrayList(getConditions#1*)
    //#pre[2] (List getConditions()): this.list != null
    //#pre[3] (List getConditions()): this.list.__Tag == com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsListPanel
    //#pre[4] (List getConditions()): this.list.conditions != null
    //#post(List getConditions()): return_value == &new ArrayList(getConditions#1*)
    //#post(List getConditions()): new ArrayList(getConditions#1*) num objects == 1
    //#unanalyzed(List getConditions()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(List getConditions()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(List getConditions()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(List getConditions()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(List getConditions()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(List getConditions()): Effects-of-calling:getCondition
    //#unanalyzed(List getConditions()): Effects-of-calling:java.util.List:add
    //#ActionConditionsPanel.java:204: end of method: List com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.getConditions()
    }

    /** {@inheritDoc} */
    @Override
    public void propertyChange(final PropertyChangeEvent evt) {
        final boolean currentlyValidates = listValidates && treeValidates;
    //#ActionConditionsPanel.java:210: method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.propertyChange(PropertyChangeEvent)
    //#input(void propertyChange(PropertyChangeEvent)): evt
    //#input(void propertyChange(PropertyChangeEvent)): this
    //#input(void propertyChange(PropertyChangeEvent)): this.list
    //#input(void propertyChange(PropertyChangeEvent)): this.listValidates
    //#input(void propertyChange(PropertyChangeEvent)): this.treeValidates
    //#output(void propertyChange(PropertyChangeEvent)): this.listValidates
    //#output(void propertyChange(PropertyChangeEvent)): this.treeValidates
    //#pre[3] (void propertyChange(PropertyChangeEvent)): evt != null
    //#pre[4] (void propertyChange(PropertyChangeEvent)): init'ed(this.listValidates)
    //#pre[9] (void propertyChange(PropertyChangeEvent)): init'ed(this.list)
    //#pre[7] (void propertyChange(PropertyChangeEvent)): (soft) init'ed(this.treeValidates)
    //#presumption(void propertyChange(PropertyChangeEvent)): java.beans.PropertyChangeEvent:getNewValue(...)@212 != null
    //#presumption(void propertyChange(PropertyChangeEvent)): java.beans.PropertyChangeEvent:getNewValue(...)@214 != null
    //#post(void propertyChange(PropertyChangeEvent)): init'ed(this.listValidates)
    //#post(void propertyChange(PropertyChangeEvent)): init'ed(this.treeValidates)
        if (evt.getSource() == list) {
            listValidates = (Boolean) evt.getNewValue();
        } else {
            treeValidates = (Boolean) evt.getNewValue();
        }

        firePropertyChange("validationResult", currentlyValidates,
    //#ActionConditionsPanel.java:217: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:firePropertyChange(String, bool, bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
    //#    method: void propertyChange(PropertyChangeEvent)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel:firePropertyChange(String, bool, bool)
                listValidates && treeValidates);
    }
    //#ActionConditionsPanel.java:219: end of method: void com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.propertyChange(PropertyChangeEvent)
}
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel]
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.addListeners()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditionTree()Lcom/dmdirc/actions/ConditionTree;
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditionTreeType()Lcom/dmdirc/actions/ConditionTreeFactory$ConditionTreeFactoryType;
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditions()Ljava/util/List;
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.initComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.layoutComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.propertyChange(Ljava/beans/PropertyChangeEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setActionTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setConditionTree(Lcom/dmdirc/actions/ConditionTree;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setConditions(Ljava/util/List;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setEnabled(Z)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.validateConditions()V
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/actioneditor/ActionConditionsPanel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.addListeners()V == &addListeners
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditionTree()Lcom/dmdirc/actions/ConditionTree; == &getConditionTree
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditionTreeType()Lcom/dmdirc/actions/ConditionTreeFactory$ConditionTreeFactoryType; == &getConditionTreeType
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.getConditions()Ljava/util/List; == &getConditions
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.initComponents()V == &initComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.layoutComponents()V == &layoutComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.propertyChange(Ljava/beans/PropertyChangeEvent;)V == &propertyChange
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setActionTrigger(Lcom/dmdirc/actions/interfaces/ActionType;)V == &setActionTrigger
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setConditionTree(Lcom/dmdirc/actions/ConditionTree;)V == &setConditionTree
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setConditions(Ljava/util/List;)V == &setConditions
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.setEnabled(Z)V == &setEnabled
    //#post(com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init): __Dispatch_Table.validateConditions()V == &validateConditions
    //#ActionConditionsPanel.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel.com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel__static_init
    //#ActionConditionsPanel.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.actioneditor.ActionConditionsPanel
