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

import com.dmdirc.Server;
import com.dmdirc.ServerManager;
import com.dmdirc.addons.ui_swing.MainFrame;
import com.dmdirc.config.Identity;
import com.dmdirc.config.IdentityManager;
import com.dmdirc.config.prefs.validator.PortValidator;
import com.dmdirc.config.prefs.validator.RegexStringValidator;
import com.dmdirc.addons.ui_swing.components.LoggingSwingWorker;
import com.dmdirc.addons.ui_swing.components.StandardDialog;
import com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField;
import com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog;

import java.awt.Dialog.ModalityType;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;

import net.miginfocom.swing.MigLayout;

/**
 * Dialog that allows the user to enter details of a new server to connect to.
 */
public final class NewServerDialog extends StandardDialog implements ActionListener {
    //#NewServerDialog.java:61: method: JCheckBox com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.access$000(NewServerDialog)
    //#input(JCheckBox access$000(NewServerDialog)): x0
    //#input(JCheckBox access$000(NewServerDialog)): x0.sslCheck
    //#output(JCheckBox access$000(NewServerDialog)): return_value
    //#pre[1] (JCheckBox access$000(NewServerDialog)): x0 != null
    //#pre[2] (JCheckBox access$000(NewServerDialog)): init'ed(x0.sslCheck)
    //#post(JCheckBox access$000(NewServerDialog)): return_value == x0.sslCheck
    //#post(JCheckBox access$000(NewServerDialog)): init'ed(return_value)
    //#NewServerDialog.java:61: end of method: JCheckBox com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.access$000(NewServerDialog)

    /**
     * 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 = 8;
    /** A previously created instance of NewServerDialog. */
    private static volatile NewServerDialog me;
    /** checkbox. */
    private JCheckBox newServerWindowCheck;
    /** checkbox. */
    private JCheckBox sslCheck;
    /** text field. */
    private ValidatingJTextField serverField;
    /** text field. */
    private ValidatingJTextField portField;
    /** text field. */
    private JTextField passwordField;
    /** combo box. */
    private JComboBox identityField;
    /** button. */
    private JButton editProfileButton;
    /** Main frame. */
    private MainFrame mainFrame;

    /**
     * Creates a new instance of the dialog.
     * 
     * @param parentWindow Main frame
     */
    private NewServerDialog(final MainFrame mainFrame) {
        super(mainFrame, ModalityType.MODELESS);
    //#NewServerDialog.java:94: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)
    //#NewServerDialog.java:94: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardDialog(Window, Dialog$ModalityType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardDialog(Window, Dialog$ModalityType)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): java.awt.Dialog$ModalityType.MODELESS
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): mainFrame
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JButton(initComponents#9) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.editProfileButton
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.identityField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.mainFrame
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.newServerWindowCheck
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.passwordField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.portField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.serverField
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.sslCheck
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JButton(initComponents#9)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#6)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#7)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JComboBox(initComponents#8)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JPasswordField(initComponents#5)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new PortValidator(initComponents#4)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1)
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3)
    //#pre[1] (void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): (soft) mainFrame != null
    //#presumption(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): init'ed(java.awt.Dialog$ModalityType.MODELESS)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.editProfileButton == &new JButton(initComponents#9)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.identityField == &new JComboBox(initComponents#8)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.mainFrame == mainFrame
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.mainFrame != null
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.newServerWindowCheck == &new JCheckBox(initComponents#6)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.passwordField == &new JPasswordField(initComponents#5)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.portField == &new ValidatingJTextField(initComponents#3)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.serverField == &new ValidatingJTextField(initComponents#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): this.sslCheck == &new JCheckBox(initComponents#7)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JButton(initComponents#9) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects == 1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField == &new JTextField(ValidatingJTextField#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField == &new JTextField(ValidatingJTextField#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator == &new RegexStringValidator(initComponents#2)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator == &new PortValidator(initComponents#4)
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getProfiles
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.RegexStringValidator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getDocument
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComponent
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.text.Document:addDocumentListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.PortValidator
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JPasswordField
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setSelected
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setDefaultCloseOperation
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:orderButtons
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setTitle
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:setText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.BorderFactory:createEmptyBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setBorder
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setMargin
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getLeftButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRightButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:pack
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.KeyStroke:getKeyStroke
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JRootPane:registerKeyboardAction
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:numServers
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOption
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setEnabled
        
        this.mainFrame = mainFrame;

        initComponents();
        layoutComponents();
        addListeners();
        setResizable(false);
    //#NewServerDialog.java:101: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setResizable(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setResizable(bool)
        
        update();
    }
    //#NewServerDialog.java:104: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog(MainFrame)

    /**
     * Creates the new server dialog if one doesn't exist, and displays it.
     * 
     * @param mainFrame Main frame
     */
    public static void showNewServerDialog(final MainFrame mainFrame) {
        me = getNewServerDialog(mainFrame);
    //#NewServerDialog.java:112: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.showNewServerDialog(MainFrame)
    //#input(void showNewServerDialog(MainFrame)): __Class_Obj.__Lock
    //#input(void showNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void showNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void showNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(void showNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(void showNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void showNewServerDialog(MainFrame)): java.awt.Dialog$ModalityType.MODELESS
    //#input(void showNewServerDialog(MainFrame)): mainFrame
    //#input(void showNewServerDialog(MainFrame)): me
    //#output(void showNewServerDialog(MainFrame)): me
    //#output(void showNewServerDialog(MainFrame)): new JButton(initComponents#9) num objects
    //#output(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects
    //#output(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects
    //#output(void showNewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects
    //#output(void showNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects
    //#output(void showNewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects
    //#output(void showNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1) num objects
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).__Tag
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).editProfileButton
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).identityField
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).newServerWindowCheck
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).passwordField
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).portField
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).serverField
    //#output(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).sslCheck
    //#output(void showNewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects
    //#output(void showNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField
    //#output(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator
    //#new obj(void showNewServerDialog(MainFrame)): new JButton(initComponents#9)
    //#new obj(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#6)
    //#new obj(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#7)
    //#new obj(void showNewServerDialog(MainFrame)): new JComboBox(initComponents#8)
    //#new obj(void showNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1)
    //#new obj(void showNewServerDialog(MainFrame)): new JPasswordField(initComponents#5)
    //#new obj(void showNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1)
    //#new obj(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1)
    //#new obj(void showNewServerDialog(MainFrame)): new PortValidator(initComponents#4)
    //#new obj(void showNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2)
    //#new obj(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1)
    //#new obj(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3)
    //#pre[2] (void showNewServerDialog(MainFrame)): init'ed(me)
    //#pre[1] (void showNewServerDialog(MainFrame)): (soft) mainFrame != null
    //#post(void showNewServerDialog(MainFrame)): me == One-of{old me, &new NewServerDialog(getNewServerDialog#1)}
    //#post(void showNewServerDialog(MainFrame)): me != null
    //#post(void showNewServerDialog(MainFrame)): new JButton(initComponents#9) num objects <= 1
    //#post(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects == new JButton(initComponents#9) num objects
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).__Tag == com/dmdirc/addons/ui_swing/dialogs/NewServerDialog
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).editProfileButton == &new JButton(initComponents#9)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).identityField == &new JComboBox(initComponents#8)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame == mainFrame
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame != null
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).newServerWindowCheck == &new JCheckBox(initComponents#6)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).passwordField == &new JPasswordField(initComponents#5)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).portField == &new ValidatingJTextField(initComponents#3)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).serverField == &new ValidatingJTextField(initComponents#1)
    //#post(void showNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).sslCheck == &new JCheckBox(initComponents#7)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField == &new JTextField(ValidatingJTextField#1)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField == &new JTextField(ValidatingJTextField#1)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator == &new RegexStringValidator(initComponents#2)
    //#post(void showNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator == &new PortValidator(initComponents#4)
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getProfiles
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.RegexStringValidator
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getDocument
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComponent
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:setLayout
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:add
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.text.Document:addDocumentListener
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.PortValidator
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JPasswordField
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setSelected
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setDefaultCloseOperation
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:orderButtons
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setTitle
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:setText
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setText
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.BorderFactory:createEmptyBorder
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setBorder
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setMargin
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getLeftButton
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRightButton
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:pack
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.KeyStroke:getKeyStroke
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JRootPane:registerKeyboardAction
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:numServers
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOption
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setEnabled
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(void showNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setResizable

        me.setLocationRelativeTo(mainFrame);
    //#NewServerDialog.java:114: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setLocationRelativeTo(Component)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void showNewServerDialog(MainFrame)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setLocationRelativeTo(Component)
        me.setVisible(true);
    //#NewServerDialog.java:115: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void showNewServerDialog(MainFrame)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setVisible(bool)
        me.requestFocusInWindow();
    //#NewServerDialog.java:116: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:requestFocusInWindow()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void showNewServerDialog(MainFrame)
    //#    unanalyzed callee: bool com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:requestFocusInWindow()
    }
    //#NewServerDialog.java:117: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.showNewServerDialog(MainFrame)

    /**
     * Returns the current instance of the NewServerDialog.
     * 
     * @param mainFrame Main frame
     *
     * @return The current NewServerDialog instance
     */
    public static NewServerDialog getNewServerDialog(final MainFrame mainFrame) {
        synchronized (NewServerDialog.class) {
    //#NewServerDialog.java:127: method: NewServerDialog com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.getNewServerDialog(MainFrame)
    //#input(NewServerDialog getNewServerDialog(MainFrame)): __Class_Obj.__Lock
    //#input(NewServerDialog getNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(NewServerDialog getNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(NewServerDialog getNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.checkError()V
    //#input(NewServerDialog getNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(NewServerDialog getNewServerDialog(MainFrame)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(NewServerDialog getNewServerDialog(MainFrame)): java.awt.Dialog$ModalityType.MODELESS
    //#input(NewServerDialog getNewServerDialog(MainFrame)): mainFrame
    //#input(NewServerDialog getNewServerDialog(MainFrame)): me
    //#output(NewServerDialog getNewServerDialog(MainFrame)): me
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JButton(initComponents#9) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).__Tag
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).editProfileButton
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).identityField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).newServerWindowCheck
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).passwordField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).portField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).serverField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).sslCheck
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField
    //#output(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator
    //#output(NewServerDialog getNewServerDialog(MainFrame)): return_value
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JButton(initComponents#9)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#6)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#7)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JComboBox(initComponents#8)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JPasswordField(initComponents#5)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new PortValidator(initComponents#4)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1)
    //#new obj(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3)
    //#pre[2] (NewServerDialog getNewServerDialog(MainFrame)): init'ed(me)
    //#pre[1] (NewServerDialog getNewServerDialog(MainFrame)): (soft) mainFrame != null
    //#post(NewServerDialog getNewServerDialog(MainFrame)): me == One-of{old me, &new NewServerDialog(getNewServerDialog#1)}
    //#post(NewServerDialog getNewServerDialog(MainFrame)): me != null
    //#post(NewServerDialog getNewServerDialog(MainFrame)): return_value == One-of{old me, &new NewServerDialog(getNewServerDialog#1)}
    //#post(NewServerDialog getNewServerDialog(MainFrame)): return_value != null
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JButton(initComponents#9) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#6) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JCheckBox(initComponents#7) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JComboBox(initComponents#8) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JLabel(ValidatingJTextField#1) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JPasswordField(initComponents#5) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new JTextField(ValidatingJTextField#1) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).__Tag == com/dmdirc/addons/ui_swing/dialogs/NewServerDialog
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).editProfileButton == &new JButton(initComponents#9)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).identityField == &new JComboBox(initComponents#8)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame == mainFrame
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).mainFrame != null
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).newServerWindowCheck == &new JCheckBox(initComponents#6)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).passwordField == &new JPasswordField(initComponents#5)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).portField == &new ValidatingJTextField(initComponents#3)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).serverField == &new ValidatingJTextField(initComponents#1)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new NewServerDialog(getNewServerDialog#1).sslCheck == &new JCheckBox(initComponents#7)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new PortValidator(initComponents#4) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new RegexStringValidator(initComponents#2) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).textField == &new JTextField(ValidatingJTextField#1)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#1).validator == &new RegexStringValidator(initComponents#2)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3) num objects <= 1
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).textField == &new JTextField(ValidatingJTextField#1)
    //#post(NewServerDialog getNewServerDialog(MainFrame)): new ValidatingJTextField(initComponents#3).validator == &new PortValidator(initComponents#4)
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getProfiles
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.RegexStringValidator
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:getFailureReason
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setToolTipText
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:isVisible
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:firePropertyChange
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel:setVisible
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:getDocument
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComponent
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JLabel
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:setLayout
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField:add
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.text.Document:addDocumentListener
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.prefs.validator.PortValidator
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JPasswordField
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setSelected
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JComboBox
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setDefaultCloseOperation
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:orderButtons
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setTitle
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:setText
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setText
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.BorderFactory:createEmptyBorder
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setBorder
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Insets
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setMargin
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getLeftButton
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRightButton
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:pack
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.KeyStroke:getKeyStroke
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JRootPane:registerKeyboardAction
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.ServerManager:numServers
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.IdentityManager:getGlobalConfig
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.config.ConfigManager:getOption
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JTextField:setText
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:javax.swing.JCheckBox:setEnabled
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(NewServerDialog getNewServerDialog(MainFrame)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setResizable
            if (me == null) {
                me = new NewServerDialog(mainFrame);
            }
        }

        return me;
    //#NewServerDialog.java:133: end of method: NewServerDialog com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.getNewServerDialog(MainFrame)
    }

    /**
     * Is the new server dialog showing?
     * 
     * @return true iif the NSD is showing
     */
    public static synchronized boolean isNewServerDialogShowing() {
        return me != null;
    //#NewServerDialog.java:142: method: bool com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.isNewServerDialogShowing()
    //#input(bool isNewServerDialogShowing()): __Class_Obj.__Lock
    //#input(bool isNewServerDialogShowing()): me
    //#output(bool isNewServerDialogShowing()): return_value
    //#pre[1] (bool isNewServerDialogShowing()): init'ed(me)
    //#post(bool isNewServerDialogShowing()): init'ed(return_value)
    //#NewServerDialog.java:142: end of method: bool com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.isNewServerDialogShowing()
    }

    /** Updates the values to defaults. */
    private void update() {
        serverField.setText(IdentityManager.getGlobalConfig().getOption("general",
    //#NewServerDialog.java:147: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.update()
    //#NewServerDialog.java:147: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#NewServerDialog.java:147: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.config.ConfigManager:getOption(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: String com.dmdirc.config.ConfigManager:getOption(String, String)
    //#input(void update()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void update()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void update()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(void update()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.setText(Ljava/lang/String;)V
    //#input(void update()): this
    //#input(void update()): this.identityField
    //#input(void update()): this.mainFrame
    //#input(void update()): this.newServerWindowCheck
    //#input(void update()): this.passwordField
    //#input(void update()): this.portField
    //#input(void update()): this.portField.__Tag
    //#input(void update()): this.portField.textField
    //#input(void update()): this.serverField
    //#input(void update()): this.serverField.__Tag
    //#input(void update()): this.serverField.textField
    //#input(void update()): this.sslCheck
    //#pre[2] (void update()): this.identityField != null
    //#pre[4] (void update()): this.newServerWindowCheck != null
    //#pre[5] (void update()): this.passwordField != null
    //#pre[6] (void update()): this.portField != null
    //#pre[7] (void update()): this.portField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[8] (void update()): this.portField.textField != null
    //#pre[9] (void update()): this.serverField != null
    //#pre[10] (void update()): this.serverField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[11] (void update()): this.serverField.textField != null
    //#pre[12] (void update()): this.sslCheck != null
    //#pre[3] (void update()): (soft) this.mainFrame != null
    //#presumption(void update()): com.dmdirc.ServerManager:getServerManager(...)@158 != null
    //#presumption(void update()): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@147 != null
    //#presumption(void update()): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@149 != null
    //#presumption(void update()): com.dmdirc.config.IdentityManager:getGlobalConfig(...)@151 != null
    //#unanalyzed(void update()): Effects-of-calling:com.dmdirc.config.IdentityManager:getProfiles
    //#unanalyzed(void update()): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void update()): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#unanalyzed(void update()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void update()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void update()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void update()): Effects-of-calling:javax.swing.DefaultComboBoxModel:addElement
    //#unanalyzed(void update()): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(void update()): Effects-of-calling:javax.swing.JTextField:setText
    //#test_vector(void update()): com.dmdirc.ServerManager:numServers(...)@158: {0}, {-2_147_483_648..-1, 1..4_294_967_295}
    //#test_vector(void update()): com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame(...)@158: Inverse{null}, Addr_Set{null}
                "server"));
        portField.setText(IdentityManager.getGlobalConfig().getOption("general",
    //#NewServerDialog.java:149: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#NewServerDialog.java:149: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.config.ConfigManager:getOption(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: String com.dmdirc.config.ConfigManager:getOption(String, String)
                "port"));
        passwordField.setText(IdentityManager.getGlobalConfig().getOption("general",
    //#NewServerDialog.java:151: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: ConfigManager com.dmdirc.config.IdentityManager:getGlobalConfig()
    //#NewServerDialog.java:151: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.config.ConfigManager:getOption(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: String com.dmdirc.config.ConfigManager:getOption(String, String)
                "password"));
        sslCheck.setSelected(false);
        newServerWindowCheck.setEnabled(false);

        serverField.requestFocusInWindow();

        if (ServerManager.getServerManager().numServers() == 0 || 
    //#NewServerDialog.java:158: Warning: method not available - call not analyzed
    //#    call on ServerManager com.dmdirc.ServerManager:getServerManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: ServerManager com.dmdirc.ServerManager:getServerManager()
    //#NewServerDialog.java:158: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.ServerManager:numServers()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: int com.dmdirc.ServerManager:numServers()
    //#NewServerDialog.java:158: Warning: method not available - call not analyzed
    //#    call on Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void update()
    //#    unanalyzed callee: Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
                mainFrame.getActiveFrame() == null) {
            newServerWindowCheck.setSelected(true);
            newServerWindowCheck.setEnabled(false);
        } else {
            newServerWindowCheck.setEnabled(true);
        }

        populateProfiles();
    }
    //#NewServerDialog.java:167: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.update()

    /**
     * Adds listeners for various objects in the dialog.
     */
    private void addListeners() {
        getCancelButton().addActionListener(this);
    //#NewServerDialog.java:173: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.addListeners()
    //#NewServerDialog.java:173: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton()
    //#input(void addListeners()): this
    //#input(void addListeners()): this.editProfileButton
    //#pre[2] (void addListeners()): this.editProfileButton != null
    //#presumption(void addListeners()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton(...)@173 != null
    //#presumption(void addListeners()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton(...)@174 != null
    //#presumption(void addListeners()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane(...)@185 != null
        getOkButton().addActionListener(this);
    //#NewServerDialog.java:174: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
        editProfileButton.addActionListener(this);
        final ActionListener enterListener = new ActionListener() {
    //#NewServerDialog.java:176: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)): this.this$0
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)): init'ed(this.this$0)
    //#NewServerDialog.java:176: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1(NewServerDialog)

            /** {@inheritDoc} */
            @Override
            public void actionPerformed(final ActionEvent actionEvent) {
                getOkButton().doClick();
    //#NewServerDialog.java:181: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1.actionPerformed(ActionEvent)
    //#NewServerDialog.java:181: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.this$0
    //#pre[2] (void actionPerformed(ActionEvent)): this.this$0 != null
    //#presumption(void actionPerformed(ActionEvent)): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton(...)@181 != null
            }
    //#NewServerDialog.java:182: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1.actionPerformed(ActionEvent)
        };
        final KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
        getRootPane().registerKeyboardAction(enterListener, enter,
    //#NewServerDialog.java:185: Warning: method not available - call not analyzed
    //#    call on JRootPane com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void addListeners()
    //#    unanalyzed callee: JRootPane com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRootPane()
                JComponent.WHEN_IN_FOCUSED_WINDOW);
    }
    //#NewServerDialog.java:187: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.addListeners()

    /**
     * Initialises the components in this dialog.
     */
    private void initComponents() {
        serverField = new ValidatingJTextField(new RegexStringValidator("^[^\\s]+$+",
    //#NewServerDialog.java:193: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.initComponents()
    //#NewServerDialog.java:193: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.RegexStringValidator(String, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.RegexStringValidator(String, String)
    //#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()): this
    //#output(void initComponents()): new JButton(initComponents#9) num objects
    //#output(void initComponents()): new JCheckBox(initComponents#6) num objects
    //#output(void initComponents()): new JCheckBox(initComponents#7) num objects
    //#output(void initComponents()): new JComboBox(initComponents#8) num objects
    //#output(void initComponents()): new JLabel(ValidatingJTextField#1) num objects
    //#output(void initComponents()): new JPasswordField(initComponents#5) num objects
    //#output(void initComponents()): new JTextField(ValidatingJTextField#1) num objects
    //#output(void initComponents()): new PortValidator(initComponents#4) num objects
    //#output(void initComponents()): new RegexStringValidator(initComponents#2) num objects
    //#output(void initComponents()): new ValidatingJTextField(initComponents#1) num objects
    //#output(void initComponents()): this.serverField.__Tag
    //#output(void initComponents()): this.serverField.errorIcon
    //#output(void initComponents()): this.serverField.textField
    //#output(void initComponents()): this.serverField.validator
    //#output(void initComponents()): new ValidatingJTextField(initComponents#3) num objects
    //#output(void initComponents()): this.portField.__Tag
    //#output(void initComponents()): this.portField.errorIcon
    //#output(void initComponents()): this.portField.textField
    //#output(void initComponents()): this.portField.validator
    //#output(void initComponents()): this.editProfileButton
    //#output(void initComponents()): this.identityField
    //#output(void initComponents()): this.newServerWindowCheck
    //#output(void initComponents()): this.passwordField
    //#output(void initComponents()): this.portField
    //#output(void initComponents()): this.serverField
    //#output(void initComponents()): this.sslCheck
    //#new obj(void initComponents()): new JButton(initComponents#9)
    //#new obj(void initComponents()): new JCheckBox(initComponents#6)
    //#new obj(void initComponents()): new JCheckBox(initComponents#7)
    //#new obj(void initComponents()): new JComboBox(initComponents#8)
    //#new obj(void initComponents()): new JLabel(ValidatingJTextField#1)
    //#new obj(void initComponents()): new JPasswordField(initComponents#5)
    //#new obj(void initComponents()): new JTextField(ValidatingJTextField#1)
    //#new obj(void initComponents()): new PortValidator(initComponents#4)
    //#new obj(void initComponents()): new RegexStringValidator(initComponents#2)
    //#new obj(void initComponents()): new ValidatingJTextField(initComponents#1)
    //#new obj(void initComponents()): new ValidatingJTextField(initComponents#3)
    //#post(void initComponents()): this.editProfileButton == &new JButton(initComponents#9)
    //#post(void initComponents()): this.identityField == &new JComboBox(initComponents#8)
    //#post(void initComponents()): this.newServerWindowCheck == &new JCheckBox(initComponents#6)
    //#post(void initComponents()): this.passwordField == &new JPasswordField(initComponents#5)
    //#post(void initComponents()): this.portField == &new ValidatingJTextField(initComponents#3)
    //#post(void initComponents()): this.serverField == &new ValidatingJTextField(initComponents#1)
    //#post(void initComponents()): this.sslCheck == &new JCheckBox(initComponents#7)
    //#post(void initComponents()): new JButton(initComponents#9) num objects == 1
    //#post(void initComponents()): new JCheckBox(initComponents#6) num objects == 1
    //#post(void initComponents()): new JCheckBox(initComponents#7) num objects == 1
    //#post(void initComponents()): new JComboBox(initComponents#8) num objects == 1
    //#post(void initComponents()): new JLabel(ValidatingJTextField#1) num objects == 1
    //#post(void initComponents()): new JPasswordField(initComponents#5) num objects == 1
    //#post(void initComponents()): new JTextField(ValidatingJTextField#1) num objects == 1
    //#post(void initComponents()): new PortValidator(initComponents#4) num objects == 1
    //#post(void initComponents()): new RegexStringValidator(initComponents#2) num objects == 1
    //#post(void initComponents()): new ValidatingJTextField(initComponents#1) num objects == 1
    //#post(void initComponents()): new ValidatingJTextField(initComponents#3) num objects == 1
    //#post(void initComponents()): this.serverField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void initComponents()): this.portField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#post(void initComponents()): this.serverField.errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void initComponents()): this.serverField.textField == &new JTextField(ValidatingJTextField#1)
    //#post(void initComponents()): this.serverField.validator == &new RegexStringValidator(initComponents#2)
    //#post(void initComponents()): this.portField.errorIcon == &new JLabel(ValidatingJTextField#1)
    //#post(void initComponents()): this.portField.textField == &new JTextField(ValidatingJTextField#1)
    //#post(void initComponents()): this.portField.validator == &new PortValidator(initComponents#4)
    //#unanalyzed(void initComponents()): Effects-of-calling:com.dmdirc.config.IdentityManager:getProfiles
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.JComboBox:getModel
    //#unanalyzed(void initComponents()): Effects-of-calling:javax.swing.DefaultComboBoxModel:removeAllElements
    //#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:javax.swing.DefaultComboBoxModel:addElement
    //#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
                "Cannot contain spaces."));
        portField = new ValidatingJTextField(new PortValidator());
    //#NewServerDialog.java:195: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.config.prefs.validator.PortValidator()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.config.prefs.validator.PortValidator()
        passwordField = new JPasswordField();
        newServerWindowCheck = new JCheckBox();
        newServerWindowCheck.setSelected(true);
        sslCheck = new JCheckBox();
        identityField = new JComboBox();
        editProfileButton = new JButton();

        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    //#NewServerDialog.java:203: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setDefaultCloseOperation(int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setDefaultCloseOperation(int)
        orderButtons(new JButton(), new JButton());
    //#NewServerDialog.java:204: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:orderButtons(JButton, JButton)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:orderButtons(JButton, JButton)
        setTitle("Connect to a new server");
    //#NewServerDialog.java:205: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setTitle(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void initComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:setTitle(String)

        populateProfiles();

        editProfileButton.setText("Edit");

        newServerWindowCheck.setText("Open in a new server window?");
        newServerWindowCheck.setBorder(
                BorderFactory.createEmptyBorder(0, 0, 0, 0));
        newServerWindowCheck.setMargin(new Insets(0, 0, 0, 0));

        sslCheck.setText("Use a secure (SSL) connection?");
        sslCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
        sslCheck.setMargin(new Insets(0, 0, 0, 0));
    }
    //#NewServerDialog.java:219: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.initComponents()

    /** Populates the profiles list. */
    public void populateProfiles() {
        final List<Identity> profiles = IdentityManager.getProfiles();
    //#NewServerDialog.java:223: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.populateProfiles()
    //#NewServerDialog.java:223: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.config.IdentityManager:getProfiles()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void populateProfiles()
    //#    unanalyzed callee: List com.dmdirc.config.IdentityManager:getProfiles()
    //#input(void populateProfiles()): this
    //#input(void populateProfiles()): this.identityField
    //#pre[2] (void populateProfiles()): this.identityField != null
    //#presumption(void populateProfiles()): com.dmdirc.config.IdentityManager:getProfiles(...)@223 != null
    //#presumption(void populateProfiles()): javax.swing.JComboBox:getModel(...)@224 != null
    //#presumption(void populateProfiles()): javax.swing.JComboBox:getModel(...)@226 != null
    //#test_vector(void populateProfiles()): java.util.Iterator:hasNext(...)@225: {0}, {1}
        ((DefaultComboBoxModel) identityField.getModel()).removeAllElements();
        for (Identity profile : profiles) {
            ((DefaultComboBoxModel) identityField.getModel()).addElement(profile);
        }
    }
    //#NewServerDialog.java:228: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.populateProfiles()

    /**
     * Lays out the components in the dialog.
     */
    private void layoutComponents() {
        getContentPane().setLayout(new MigLayout("fill"));
    //#NewServerDialog.java:234: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.layoutComponents()
    //#NewServerDialog.java:234: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#NewServerDialog.java:234: Warning: method not available - call not analyzed
    //#    call on void net.miginfocom.swing.MigLayout(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void net.miginfocom.swing.MigLayout(String)
    //#input(void layoutComponents()): this
    //#input(void layoutComponents()): this.editProfileButton
    //#input(void layoutComponents()): this.identityField
    //#input(void layoutComponents()): this.newServerWindowCheck
    //#input(void layoutComponents()): this.passwordField
    //#input(void layoutComponents()): this.portField
    //#input(void layoutComponents()): this.serverField
    //#input(void layoutComponents()): this.sslCheck
    //#pre[2] (void layoutComponents()): init'ed(this.editProfileButton)
    //#pre[3] (void layoutComponents()): init'ed(this.identityField)
    //#pre[4] (void layoutComponents()): init'ed(this.newServerWindowCheck)
    //#pre[5] (void layoutComponents()): init'ed(this.passwordField)
    //#pre[6] (void layoutComponents()): init'ed(this.portField)
    //#pre[7] (void layoutComponents()): init'ed(this.serverField)
    //#pre[8] (void layoutComponents()): init'ed(this.sslCheck)
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@234 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@236 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@238 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@239 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@240 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@241 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@242 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@243 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@244 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@245 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@246 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@247 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@248 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@249 != null
    //#presumption(void layoutComponents()): com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane(...)@250 != null

        getContentPane().add(new JLabel("Enter the details of the server that " +
    //#NewServerDialog.java:236: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
                "you wish to connect to."), "span 3, wrap 1.5*unrel");
        getContentPane().add(new JLabel("Server: "), "");
    //#NewServerDialog.java:238: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(serverField, "growx, pushx, wrap");
    //#NewServerDialog.java:239: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(new JLabel("Port: "), "");
    //#NewServerDialog.java:240: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(portField, "growx, pushx, wrap");
    //#NewServerDialog.java:241: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(new JLabel("Password: "), "");
    //#NewServerDialog.java:242: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(passwordField, "growx, pushx, wrap");
    //#NewServerDialog.java:243: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(new JLabel("Profile: "), "");
    //#NewServerDialog.java:244: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(identityField, "split 2, growx, pushx");
    //#NewServerDialog.java:245: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(editProfileButton, "sg button, wrap");
    //#NewServerDialog.java:246: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(sslCheck, "skip, wrap");
    //#NewServerDialog.java:247: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(newServerWindowCheck, "skip, wrap 1.5*unrel");
    //#NewServerDialog.java:248: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
        getContentPane().add(getLeftButton(), "split, skip, right, sg button");
    //#NewServerDialog.java:249: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#NewServerDialog.java:249: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getLeftButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getLeftButton()
        getContentPane().add(getRightButton(), "right, sg button");
    //#NewServerDialog.java:250: Warning: method not available - call not analyzed
    //#    call on Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: Container com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getContentPane()
    //#NewServerDialog.java:250: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRightButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getRightButton()

        pack();
    //#NewServerDialog.java:252: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:pack()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void layoutComponents()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:pack()
    }
    //#NewServerDialog.java:253: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.layoutComponents()

    /**
     * Saves the dialog changes.
     */
    private void save() {
        if (!serverField.validateText()) {
    //#NewServerDialog.java:259: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.save()
    //#input(void save()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void save()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void save()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getText()Ljava/lang/String;
    //#input(void save()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(void save()): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.validateText()Z
    //#input(void save()): me
    //#input(void save()): this
    //#input(void save()): this.identityField
    //#input(void save()): this.mainFrame
    //#input(void save()): this.newServerWindowCheck
    //#input(void save()): this.passwordField
    //#input(void save()): this.portField
    //#input(void save()): this.portField.__Tag
    //#input(void save()): this.portField.textField
    //#input(void save()): this.portField.validator
    //#input(void save()): this.serverField
    //#input(void save()): this.serverField.__Tag
    //#input(void save()): this.serverField.textField
    //#input(void save()): this.serverField.validator
    //#output(void save()): me
    //#pre[12] (void save()): this.serverField != null
    //#pre[14] (void save()): this.serverField.textField != null
    //#pre[1] (void save()): (soft) init'ed(me)
    //#pre[4] (void save()): (soft) this.identityField != null
    //#pre[5] (void save()): (soft) this.mainFrame != null
    //#pre[6] (void save()): (soft) this.newServerWindowCheck != null
    //#pre[7] (void save()): (soft) this.passwordField != null
    //#pre[8] (void save()): (soft) this.portField != null
    //#pre[9] (void save()): (soft) this.portField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[10] (void save()): (soft) this.portField.textField != null
    //#pre[11] (void save()): (soft) this.portField.validator != null
    //#pre[13] (void save()): (soft) this.serverField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[15] (void save()): (soft) this.serverField.validator != null
    //#presumption(void save()): com.dmdirc.ServerManager:getServerManager(...)@278 != null
    //#presumption(void save()): com.dmdirc.ServerManager:getServerManager(...)@291 != null
    //#post(void save()): me == One-of{old me, null}
    //#post(void save()): init'ed(me)
    //#unanalyzed(void save()): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void save()): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void save()): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void save()): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void save()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog:dispose
    //#unanalyzed(void save()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void save()): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(void save()): Effects-of-calling:com.dmdirc.addons.ui_swing.components.LoggingSwingWorker
    //#test_vector(void save()): com.dmdirc.ServerManager:numServers(...)@278: {0}, {-2_147_483_648..-1, 1..4_294_967_295}
    //#test_vector(void save()): com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame(...)@278: Inverse{null}, Addr_Set{null}
    //#test_vector(void save()): javax.swing.JCheckBox:isSelected(...)@278: {1}, {0}
            serverField.requestFocusInWindow();
            return;
        }
        if (!portField.validateText()) {
            portField.requestFocusInWindow();
            return;
        }

        final String host = serverField.getText();
        final String pass = passwordField.getText();
        final int port = Integer.parseInt(portField.getText());

        dispose();

        final Identity profile =
                (Identity) identityField.getSelectedItem();

        // Open in a new window?
        if (newServerWindowCheck.isSelected() || ServerManager.getServerManager().
    //#NewServerDialog.java:278: Warning: method not available - call not analyzed
    //#    call on ServerManager com.dmdirc.ServerManager:getServerManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: ServerManager com.dmdirc.ServerManager:getServerManager()
    //#NewServerDialog.java:278: Warning: method not available - call not analyzed
    //#    call on int com.dmdirc.ServerManager:numServers()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: int com.dmdirc.ServerManager:numServers()
    //#NewServerDialog.java:278: Warning: method not available - call not analyzed
    //#    call on Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
                numServers() == 0 || mainFrame.getActiveFrame() == null) {
            new LoggingSwingWorker() {
    //#NewServerDialog.java:280: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)
    //#NewServerDialog.java:280: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.LoggingSwingWorker()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.LoggingSwingWorker()
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): Param_3
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): Param_4
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): Param_5
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$host
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$pass
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$port
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$profile
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$host == Param_2
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): init'ed(this.val$host)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$pass == Param_4
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): init'ed(this.val$pass)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$port == Param_3
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): init'ed(this.val$port)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): this.val$profile == Param_5
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)): init'ed(this.val$profile)
    //#NewServerDialog.java:280: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2(NewServerDialog, String, int, String, Identity)
    //#NewServerDialog.java:280: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2:execute()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2:execute()

                @Override
                protected Object doInBackground() throws Exception {
                    new Server(host, port, pass, sslCheck.isSelected(), profile);
    //#NewServerDialog.java:284: method: Object com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2.doInBackground()
    //#NewServerDialog.java:284: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.Server(String, int, String, bool, Identity)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2
    //#    method: Object doInBackground()
    //#    unanalyzed callee: void com.dmdirc.Server(String, int, String, bool, Identity)
    //#input(Object doInBackground()): this
    //#input(Object doInBackground()): this.this$0
    //#input(Object doInBackground()): this.this$0.sslCheck
    //#input(Object doInBackground()): this.val$host
    //#input(Object doInBackground()): this.val$pass
    //#input(Object doInBackground()): this.val$port
    //#input(Object doInBackground()): this.val$profile
    //#output(Object doInBackground()): return_value
    //#pre[2] (Object doInBackground()): this.this$0 != null
    //#pre[3] (Object doInBackground()): this.sslCheck != null
    //#post(Object doInBackground()): return_value == null
                    return null;
    //#NewServerDialog.java:285: end of method: Object com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2.doInBackground()
                }
            }.execute();
        } else {
            final com.dmdirc.ui.interfaces.Window active =
    //#NewServerDialog.java:289: Warning: method not available - call not analyzed
    //#    call on Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: Window com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame()
                    mainFrame.getActiveFrame();
            final Server server = ServerManager.getServerManager().
    //#NewServerDialog.java:291: Warning: method not available - call not analyzed
    //#    call on ServerManager com.dmdirc.ServerManager:getServerManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: ServerManager com.dmdirc.ServerManager:getServerManager()
    //#NewServerDialog.java:291: Warning: method not available - call not analyzed
    //#    call on Server com.dmdirc.ServerManager:getServerFromFrame(Window)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: Server com.dmdirc.ServerManager:getServerFromFrame(Window)
                    getServerFromFrame(active);
            new LoggingSwingWorker() {
    //#NewServerDialog.java:293: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)
    //#NewServerDialog.java:293: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.LoggingSwingWorker()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3
    //#    method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.LoggingSwingWorker()
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_1
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_2
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_3
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_4
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_5
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): Param_6
    //#input(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.this$0
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$host
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$pass
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$port
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$profile
    //#output(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$server
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.this$0 == Param_1
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.this$0)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$host == Param_3
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.val$host)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$pass == Param_5
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.val$pass)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$port == Param_4
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.val$port)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$profile == Param_6
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.val$profile)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): this.val$server == Param_2
    //#post(void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)): init'ed(this.val$server)
    //#NewServerDialog.java:293: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3(NewServerDialog, Server, String, int, String, Identity)
    //#NewServerDialog.java:293: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3:execute()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void save()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3:execute()

                @Override
                protected Object doInBackground() throws Exception {
                    if (server == null) {
    //#NewServerDialog.java:297: method: Object com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3.doInBackground()
    //#input(Object doInBackground()): this
    //#input(Object doInBackground()): this.this$0
    //#input(Object doInBackground()): this.this$0.sslCheck
    //#input(Object doInBackground()): this.val$host
    //#input(Object doInBackground()): this.val$pass
    //#input(Object doInBackground()): this.val$port
    //#input(Object doInBackground()): this.val$profile
    //#input(Object doInBackground()): this.val$server
    //#output(Object doInBackground()): return_value
    //#pre[2] (Object doInBackground()): this.this$0 != null
    //#pre[3] (Object doInBackground()): this.sslCheck != null
    //#post(Object doInBackground()): return_value == null
    //#test_vector(Object doInBackground()): this.val$server: Inverse{null}, Addr_Set{null}
                        new Server(host, port, pass, sslCheck.isSelected(),
    //#NewServerDialog.java:298: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.Server(String, int, String, bool, Identity)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3
    //#    method: Object doInBackground()
    //#    unanalyzed callee: void com.dmdirc.Server(String, int, String, bool, Identity)
                            profile);
                    } else {
                        server.connect(host, port, pass, sslCheck.isSelected(),
    //#NewServerDialog.java:301: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.Server:connect(String, int, String, bool, Identity)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3
    //#    method: Object doInBackground()
    //#    unanalyzed callee: void com.dmdirc.Server:connect(String, int, String, bool, Identity)
                            profile);
                    }
                    return null;
    //#NewServerDialog.java:304: end of method: Object com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3.doInBackground()
                }
            }.execute();
        }
    }
    //#NewServerDialog.java:308: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.save()

    /** 
     * {@inheritDoc}
     * 
     * @param e Action event
     */
    @Override
    public void actionPerformed(final ActionEvent e) {
        if (e.getSource() == getOkButton()) {
    //#NewServerDialog.java:317: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.actionPerformed(ActionEvent)
    //#NewServerDialog.java:317: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getOkButton()
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.getText()Ljava/lang/String;
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.requestFocusInWindow()Z
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField.__Dispatch_Table.validateText()Z
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileListModel.__Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileListModel]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileListModel.__Descendant_Table[others]
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileListModel.__Dispatch_Table.getSize()I
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.__Class_Obj.__Lock
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.java.awt.Dialog$ModalityType.MODELESS
    //#input(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me
    //#input(void actionPerformed(ActionEvent)): e
    //#input(void actionPerformed(ActionEvent)): me
    //#input(void actionPerformed(ActionEvent)): this
    //#input(void actionPerformed(ActionEvent)): this.editProfileButton
    //#input(void actionPerformed(ActionEvent)): this.identityField
    //#input(void actionPerformed(ActionEvent)): this.mainFrame
    //#input(void actionPerformed(ActionEvent)): this.newServerWindowCheck
    //#input(void actionPerformed(ActionEvent)): this.passwordField
    //#input(void actionPerformed(ActionEvent)): this.portField
    //#input(void actionPerformed(ActionEvent)): this.portField.__Tag
    //#input(void actionPerformed(ActionEvent)): this.portField.textField
    //#input(void actionPerformed(ActionEvent)): this.portField.validator
    //#input(void actionPerformed(ActionEvent)): this.serverField
    //#input(void actionPerformed(ActionEvent)): this.serverField.__Tag
    //#input(void actionPerformed(ActionEvent)): this.serverField.textField
    //#input(void actionPerformed(ActionEvent)): this.serverField.validator
    //#output(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me
    //#output(void actionPerformed(ActionEvent)): me
    //#output(void actionPerformed(ActionEvent)): new ArrayList(ProfileManagerDialog#1) num objects
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1) num objects
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).__Tag
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).addButton
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).deleteButton
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).deletedProfiles
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).details
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).infoLabel
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).mainFrame
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).model
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).profileList
    //#output(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1).selectedIndex
    //#new obj(void actionPerformed(ActionEvent)): new ArrayList(ProfileManagerDialog#1)
    //#new obj(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1)
    //#pre[1] (void actionPerformed(ActionEvent)): e != null
    //#pre[2] (void actionPerformed(ActionEvent)): (soft) init'ed(com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me)
    //#pre[3] (void actionPerformed(ActionEvent)): (soft) init'ed(me)
    //#pre[6] (void actionPerformed(ActionEvent)): (soft) init'ed(this.editProfileButton)
    //#pre[7] (void actionPerformed(ActionEvent)): (soft) this.identityField != null
    //#pre[8] (void actionPerformed(ActionEvent)): (soft) this.mainFrame != null
    //#pre[9] (void actionPerformed(ActionEvent)): (soft) this.newServerWindowCheck != null
    //#pre[10] (void actionPerformed(ActionEvent)): (soft) this.passwordField != null
    //#pre[11] (void actionPerformed(ActionEvent)): (soft) this.portField != null
    //#pre[12] (void actionPerformed(ActionEvent)): (soft) this.portField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[13] (void actionPerformed(ActionEvent)): (soft) this.portField.textField != null
    //#pre[14] (void actionPerformed(ActionEvent)): (soft) this.portField.validator != null
    //#pre[15] (void actionPerformed(ActionEvent)): (soft) this.serverField != null
    //#pre[16] (void actionPerformed(ActionEvent)): (soft) this.serverField.__Tag == com/dmdirc/addons/ui_swing/components/validating/ValidatingJTextField
    //#pre[17] (void actionPerformed(ActionEvent)): (soft) this.serverField.textField != null
    //#pre[18] (void actionPerformed(ActionEvent)): (soft) this.serverField.validator != null
    //#post(void actionPerformed(ActionEvent)): com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me == One-of{old com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me, &new ProfileManagerDialog(getProfileManagerDialog#1)}
    //#post(void actionPerformed(ActionEvent)): init'ed(com/dmdirc/addons/ui_swing/dialogs/profiles/ProfileManagerDialog.me)
    //#post(void actionPerformed(ActionEvent)): me == One-of{old me, null}
    //#post(void actionPerformed(ActionEvent)): init'ed(me)
    //#post(void actionPerformed(ActionEvent)): new ArrayList(ProfileManagerDialog#1) num objects <= 1
    //#post(void actionPerformed(ActionEvent)): new ProfileManagerDialog(getProfileManagerDialog#1) num objects <= 1
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).__Tag)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).addButton)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).deleteButton)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).deletedProfiles)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).details)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).infoLabel)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).mainFrame)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).model)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).profileList)
    //#post(void actionPerformed(ActionEvent)): init'ed(new ProfileManagerDialog(getProfileManagerDialog#1).selectedIndex)
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JTextField:isEnabled
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JTextField:getText
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.validator.Validator:validate
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.config.prefs.validator.ValidationResponse:isFailure
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog:dispose
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JTextField:requestFocusInWindow
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.lang.Integer:parseInt
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JComboBox:getSelectedItem
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JCheckBox:isSelected
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ServerManager:numServers
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.MainFrame:getActiveFrame
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.LoggingSwingWorker
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2:execute
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.ServerManager:getServerFromFrame
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3:execute
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:getContentPane
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:net.miginfocom.swing.MigLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.Container:setLayout
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.awt.Container:add
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JScrollPane
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:getLeftButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:getRightButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:pack
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:getOkButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JButton:addActionListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:getCancelButton
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:addListSelectionListener
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:javax.swing.JList:setSelectedIndex
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.List:size
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.components.StandardDialog
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:initComponents
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:setLocationRelativeTo
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:setVisible
    //#unanalyzed(void actionPerformed(ActionEvent)): Effects-of-calling:com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog:requestFocusInWindow
            save();
        } else if (e.getSource() == editProfileButton) {
            ProfileManagerDialog.showProfileManagerDialog(mainFrame );
        } else if (e.getSource() == getCancelButton()) {
    //#NewServerDialog.java:321: Warning: method not available - call not analyzed
    //#    call on JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void actionPerformed(ActionEvent)
    //#    unanalyzed callee: JButton com.dmdirc.addons.ui_swing.dialogs.NewServerDialog:getCancelButton()
            dispose();
        }
    }
    //#NewServerDialog.java:324: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.actionPerformed(ActionEvent)
    
    /** {@inheritDoc} */
    @Override
    public void dispose() {
        if (me == null) {
    //#NewServerDialog.java:329: method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.dispose()
    //#input(void dispose()): me
    //#input(void dispose()): this
    //#input(void dispose()): this.__Lock
    //#output(void dispose()): me
    //#pre[1] (void dispose()): init'ed(me)
    //#post(void dispose()): me == null
    //#test_vector(void dispose()): me: Inverse{null}, Addr_Set{null}
            return;
        }
        synchronized (NewServerDialog.this) {
            super.dispose();
    //#NewServerDialog.java:333: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.components.StandardDialog:dispose()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
    //#    method: void dispose()
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.components.StandardDialog:dispose()
            me = null;
        }
    }
    //#NewServerDialog.java:336: end of method: void com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.dispose()
}
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$3]
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3__static_init): __Dispatch_Table.doInBackground()Ljava/lang/Object;
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$3] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3__static_init): __Dispatch_Table.doInBackground()Ljava/lang/Object; == &doInBackground
    //#NewServerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3__static_init
    //#NewServerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$3
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$2]
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2__static_init): __Dispatch_Table.doInBackground()Ljava/lang/Object;
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$2] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2__static_init): __Dispatch_Table.doInBackground()Ljava/lang/Object; == &doInBackground
    //#NewServerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2__static_init
    //#NewServerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$2
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$1]
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog$1] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#NewServerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1__static_init
    //#NewServerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog$1
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog]
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.addListeners()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.dispose()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.initComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.layoutComponents()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.populateProfiles()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.save()V
    //#output(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.update()V
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/NewServerDialog] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.actionPerformed(Ljava/awt/event/ActionEvent;)V == &actionPerformed
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.addListeners()V == &addListeners
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.dispose()V == &dispose
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.initComponents()V == &initComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.layoutComponents()V == &layoutComponents
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.populateProfiles()V == &populateProfiles
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.save()V == &save
    //#post(com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init): __Dispatch_Table.update()V == &update
    //#NewServerDialog.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog.com.dmdirc.addons.ui_swing.dialogs.NewServerDialog__static_init
    //#NewServerDialog.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.NewServerDialog
