//# 11 errors, 2,326 messages
//#
/*
    //#CommandManager.java:1:1: class: com.dmdirc.commandparser.CommandManager$1
    //#CommandManager.java:1:1: method: com.dmdirc.commandparser.CommandManager$1.com.dmdirc.commandparser.CommandManager$1__static_init
    //#CommandManager.java:1:1: class: com.dmdirc.commandparser.CommandManager
 * 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.commandparser;

import com.dmdirc.Query;
import com.dmdirc.Server;
import com.dmdirc.ServerManager;
import com.dmdirc.commandparser.commands.Command;
import com.dmdirc.commandparser.commands.channel.*;
import com.dmdirc.commandparser.commands.chat.*;
import com.dmdirc.commandparser.commands.global.*;
//import com.dmdirc.commandparser.commands.query.*;
import com.dmdirc.commandparser.commands.server.*;
import com.dmdirc.commandparser.parsers.CommandParser;
import com.dmdirc.interfaces.ConfigChangeListener;
import com.dmdirc.config.IdentityManager;
import com.dmdirc.ui.input.TabCompleter;
import com.dmdirc.ui.input.TabCompletionType;
import com.dmdirc.util.MapList;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * The command manager creates and manages a single instance of all commands,
 * and provides methods to load each group of commands into a parser instance.
 * 
 * @author chris
 */
public final class CommandManager {
    //#CommandManager.java:52: method: char com.dmdirc.commandparser.CommandManager.access$002(char)
    //#input(char access$002(char)): x0
    //#output(char access$002(char)): commandChar
    //#output(char access$002(char)): return_value
    //#post(char access$002(char)): commandChar == x0
    //#post(char access$002(char)): init'ed(commandChar)
    //#post(char access$002(char)): return_value == commandChar
    //#CommandManager.java:52: end of method: char com.dmdirc.commandparser.CommandManager.access$002(char)
    //#CommandManager.java:52: method: char com.dmdirc.commandparser.CommandManager.access$102(char)
    //#input(char access$102(char)): x0
    //#output(char access$102(char)): return_value
    //#output(char access$102(char)): silenceChar
    //#post(char access$102(char)): return_value == x0
    //#post(char access$102(char)): init'ed(return_value)
    //#post(char access$102(char)): silenceChar == return_value
    //#CommandManager.java:52: end of method: char com.dmdirc.commandparser.CommandManager.access$102(char)
    
    /** A list of commands that have been instansiated. */
    private static final Map<CommandInfo, Command> commands
    //#CommandManager.java:55: method: com.dmdirc.commandparser.CommandManager.com.dmdirc.commandparser.CommandManager__static_init
    //#input(com.dmdirc.commandparser.CommandManager__static_init): ""._tainted
    //#input(com.dmdirc.commandparser.CommandManager__static_init): "."._tainted
    //#input(com.dmdirc.commandparser.CommandManager__static_init): "<Unknown>"._tainted
    //#input(com.dmdirc.commandparser.CommandManager__static_init): "@"._tainted
    //#input(com.dmdirc.commandparser.CommandManager__static_init): "Config option not found: "._tainted
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1).length
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager$1.$SwitchMap$com$dmdirc$config$ConfigTarget$TYPE
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.__Descendant_Table[com/dmdirc/config/ConfigManager]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.__Descendant_Table[others]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.__Dispatch_Table.getOptionChar(Ljava/lang/String;Ljava/lang/String;)C
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.__Dispatch_Table.identityApplies(Lcom/dmdirc/config/Identity;)Z
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigManager.stats
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/ConfigManager]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/ConfigSource]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/Identity]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigSource.__Descendant_Table[others]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigSource.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigTarget.__Descendant_Table[com/dmdirc/config/ConfigTarget]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigTarget.__Descendant_Table[others]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getData()Ljava/lang/String;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getType()Lcom/dmdirc/config/ConfigTarget$TYPE;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Descendant_Table[com/dmdirc/config/Identity]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Descendant_Table[others]
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Dispatch_Table.addListener(Lcom/dmdirc/interfaces/ConfigChangeListener;)V
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Dispatch_Table.getTarget()Lcom/dmdirc/config/ConfigTarget;
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/Identity.__Dispatch_Table.hasOption(Ljava/lang/String;Ljava/lang/String;)Z
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.__Class_Obj.__Lock
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig.__Lock
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig.__Tag
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig.file
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig.sources
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig.sources.__Lock
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.identities
    //#input(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.managers
    //#output(com.dmdirc.commandparser.CommandManager__static_init): "commandchar"._tainted
    //#output(com.dmdirc.commandparser.CommandManager__static_init): "general"._tainted
    //#output(com.dmdirc.commandparser.CommandManager__static_init): "silencechar"._tainted
    //#output(com.dmdirc.commandparser.CommandManager__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandManager]
    //#output(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig
    //#output(com.dmdirc.commandparser.CommandManager__static_init): commandChar
    //#output(com.dmdirc.commandparser.CommandManager__static_init): commands
    //#output(com.dmdirc.commandparser.CommandManager__static_init): java.lang.StringBuilder:toString(...)._tainted
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ArrayList(getSources#1) num objects
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ArrayList(getSources#1).__Lock
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1) num objects
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).__Lock
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).__Tag
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).channel
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).file
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).ircd
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).listeners
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).network
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).server
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).sources
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new HashMap(CommandManager__static_init#1) num objects
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new MapList(CommandManager__static_init#2) num objects
    //#output(com.dmdirc.commandparser.CommandManager__static_init): new MapList(ConfigManager#1) num objects
    //#output(com.dmdirc.commandparser.CommandManager__static_init): parsers
    //#output(com.dmdirc.commandparser.CommandManager__static_init): silenceChar
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): java.lang.StringBuilder:toString(...)
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): new ArrayList(getSources#1)
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1)
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): new HashMap(CommandManager__static_init#1)
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): new MapList(CommandManager__static_init#2)
    //#new obj(com.dmdirc.commandparser.CommandManager__static_init): new MapList(ConfigManager#1)
    //#pre[4] (com.dmdirc.commandparser.CommandManager__static_init): init'ed(com/dmdirc/config/IdentityManager.globalconfig)
    //#pre[1] (com.dmdirc.commandparser.CommandManager__static_init): (soft) init'ed(com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295])
    //#presumption(com.dmdirc.commandparser.CommandManager__static_init): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#presumption(com.dmdirc.commandparser.CommandManager__static_init): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#post(com.dmdirc.commandparser.CommandManager__static_init): "commandchar"._tainted == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): "general"._tainted == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): "silencechar"._tainted == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): java.lang.StringBuilder:toString(...)._tainted == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ArrayList(getSources#1) num objects == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1) num objects == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new MapList(ConfigManager#1) num objects == 0
    //#post(com.dmdirc.commandparser.CommandManager__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandManager] == &__Dispatch_Table
    //#post(com.dmdirc.commandparser.CommandManager__static_init): com/dmdirc/config/IdentityManager.globalconfig != null
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(commandChar)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): commands == &new HashMap(CommandManager__static_init#1)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): parsers == &new MapList(CommandManager__static_init#2)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(silenceChar)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ArrayList(getSources#1) num objects <= 1
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ArrayList(getSources#1).__Lock)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).__Lock)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).__Tag == com/dmdirc/config/ConfigManager
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).__Tag)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).channel == &java.lang.StringBuilder:toString(...)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).channel)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).file)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).ircd == &""
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).network == &""
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).server == &""
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).ircd)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).listeners == &new MapList(ConfigManager#1)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).listeners)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).network)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).server)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new ConfigManager(getGlobalConfig#1).sources == &new ArrayList(getSources#1)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): init'ed(new ConfigManager(getGlobalConfig#1).sources)
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new HashMap(CommandManager__static_init#1) num objects == 1
    //#post(com.dmdirc.commandparser.CommandManager__static_init): new MapList(CommandManager__static_init#2) num objects == 1
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.logger.Logger:assertTrue
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.List:add
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:getTarget
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.config.ConfigTarget$TYPE:ordinal
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.String:equalsIgnoreCase
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:addListener
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:getSources
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.config.ConfigSource
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.util.MapList
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:addConfigManager
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Map:containsKey
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Map:get
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.Integer:intValue
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.Integer:valueOf
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.util.Map:put
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:hasOption
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:getOption
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.IllegalArgumentException
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:java.lang.String:charAt
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.util.ConfigFile:getKeyDomain
    //#unanalyzed(com.dmdirc.commandparser.CommandManager__static_init): Effects-of-calling:com.dmdirc.util.ConfigFile:isKeyDomain
            = new HashMap<CommandInfo, Command>();
    
    /** A list of command parsers that have been instansiated. */
    private static final MapList<CommandType, CommandParser> parsers
    //#CommandManager.java:59: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.MapList()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: com.dmdirc.commandparser.CommandManager__static_init
    //#    unanalyzed callee: void com.dmdirc.util.MapList()
            = new MapList<CommandType, CommandParser>();
    
    /** The command char we're using. */
    private static char commandChar = IdentityManager.getGlobalConfig()
            .getOptionChar("general", "commandchar");
    
    /** The silence char we're using. */
    private static char silenceChar = IdentityManager.getGlobalConfig()
    //#CommandManager.java:67: end of method: com.dmdirc.commandparser.CommandManager.com.dmdirc.commandparser.CommandManager__static_init
            .getOptionChar("general", "silencechar");
    
    /**
     * Prevents creation of a new command manager.
     */
    private CommandManager() {
    //#CommandManager.java:73: method: void com.dmdirc.commandparser.CommandManager.com.dmdirc.commandparser.CommandManager()
        // Do nothing
    }
    //#CommandManager.java:75: end of method: void com.dmdirc.commandparser.CommandManager.com.dmdirc.commandparser.CommandManager()
    
    /**
     * Returns the current command character.
     *
     * @return the current command char
     */
    public static char getCommandChar() {
        return commandChar;
    //#CommandManager.java:83: method: char com.dmdirc.commandparser.CommandManager.getCommandChar()
    //#input(char getCommandChar()): commandChar
    //#output(char getCommandChar()): return_value
    //#pre[1] (char getCommandChar()): init'ed(commandChar)
    //#post(char getCommandChar()): return_value == commandChar
    //#post(char getCommandChar()): init'ed(return_value)
    //#CommandManager.java:83: end of method: char com.dmdirc.commandparser.CommandManager.getCommandChar()
    }
    
    /**
     * Returns the current silence character.
     *
     * @return the current silence char
     */
    public static char getSilenceChar() {
        return silenceChar;
    //#CommandManager.java:92: method: char com.dmdirc.commandparser.CommandManager.getSilenceChar()
    //#input(char getSilenceChar()): silenceChar
    //#output(char getSilenceChar()): return_value
    //#pre[1] (char getSilenceChar()): init'ed(silenceChar)
    //#post(char getSilenceChar()): return_value == silenceChar
    //#post(char getSilenceChar()): init'ed(return_value)
    //#CommandManager.java:92: end of method: char com.dmdirc.commandparser.CommandManager.getSilenceChar()
    }
    
    /**
     * Registers a command with the command manager.
     * 
     * @param command The command to be registered
     * @param info The information about the command
     * @since 0.6.3m1
     */
    public static void registerCommand(final Command command, final CommandInfo info) {
        registerCommand(info, command, true);
    //#CommandManager.java:103: method: void com.dmdirc.commandparser.CommandManager.registerCommand(Command, CommandInfo)
    //#input(void registerCommand(Command, CommandInfo)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void registerCommand(Command, CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void registerCommand(Command, CommandInfo)): command
    //#input(void registerCommand(Command, CommandInfo)): commandChar
    //#input(void registerCommand(Command, CommandInfo)): commands
    //#input(void registerCommand(Command, CommandInfo)): info
    //#input(void registerCommand(Command, CommandInfo)): info.__Tag
    //#input(void registerCommand(Command, CommandInfo)): parsers
    //#pre[2] (void registerCommand(Command, CommandInfo)): init'ed(commandChar)
    //#pre[3] (void registerCommand(Command, CommandInfo)): info != null
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:getName
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.util.Map:remove
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.ServerManager:getServers
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:getType
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Server:getTabCompleter
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Server:getChannels
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Server:getChannel
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Channel:getTabCompleter
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Server:getQueries
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.Query:getTabCompleter
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.util.MapList:containsKey
    //#unanalyzed(void registerCommand(Command, CommandInfo)): Effects-of-calling:com.dmdirc.util.MapList:get
    }
    //#CommandManager.java:104: end of method: void com.dmdirc.commandparser.CommandManager.registerCommand(Command, CommandInfo)

    /**
     * Registers a {@link Command} which also implements the {@link CommandInfo}
     * interface with the command manager.
     *
     * @param <T> The type of object that's being registered
     * @param command An object that extends {@link Command} and implements
     * {@link CommandInfo} to be registered.
     * @since 0.6.3m1
     */
    public static <T extends Command & CommandInfo> void registerCommand(final T command) {
        registerCommand(command, command);
    //#CommandManager.java:116: method: void com.dmdirc.commandparser.CommandManager.registerCommand(Command)
    //#CommandManager.java:116: ?ClassCastException check
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommand(Command)
    //#    basic block: bb_3
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
    //#input(void registerCommand(Command)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void registerCommand(Command)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void registerCommand(Command)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void registerCommand(Command)): command
    //#input(void registerCommand(Command)): command.__Tag
    //#input(void registerCommand(Command)): commandChar
    //#input(void registerCommand(Command)): commands
    //#input(void registerCommand(Command)): parsers
    //#pre[1] (void registerCommand(Command)): command != null
    //#pre[3] (void registerCommand(Command)): init'ed(commandChar)
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:getName
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.util.Map:remove
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.ServerManager:getServers
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:getType
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Server:getTabCompleter
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Server:getChannels
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Server:getChannel
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Channel:getTabCompleter
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Server:getQueries
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.Query:getTabCompleter
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.util.MapList:containsKey
    //#unanalyzed(void registerCommand(Command)): Effects-of-calling:com.dmdirc.util.MapList:get
    }
    //#CommandManager.java:117: end of method: void com.dmdirc.commandparser.CommandManager.registerCommand(Command)
    
    /**
     * Unregisters a command with the command manager.
     * 
     * @param info The information object for the command that should be unregistered
     * @since 0.6.3m1
     */
    public static void unregisterCommand(final CommandInfo info) {
        registerCommand(info, commands.get(info), false);
    //#CommandManager.java:126: method: void com.dmdirc.commandparser.CommandManager.unregisterCommand(CommandInfo)
    //#CommandManager.java:126: ?ClassCastException check
    //#    com/dmdirc/commandparser/commands/Command.__Descendant_Table[java/util/Map:get(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void unregisterCommand(CommandInfo)
    //#    basic block: bb_3
    //#    assertion: com/dmdirc/commandparser/commands/Command.__Descendant_Table[java/util/Map:get(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/commands/Command.__Descendant_Table[java.util.Map:get(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
    //#input(void unregisterCommand(CommandInfo)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/Command.__Descendant_Table[others]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void unregisterCommand(CommandInfo)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void unregisterCommand(CommandInfo)): commandChar
    //#input(void unregisterCommand(CommandInfo)): commands
    //#input(void unregisterCommand(CommandInfo)): info
    //#input(void unregisterCommand(CommandInfo)): info.__Tag
    //#input(void unregisterCommand(CommandInfo)): parsers
    //#pre[1] (void unregisterCommand(CommandInfo)): init'ed(commandChar)
    //#pre[2] (void unregisterCommand(CommandInfo)): info != null
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:getName
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.util.Map:remove
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.ServerManager:getServers
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:getType
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Server:getTabCompleter
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Server:getChannels
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Server:getChannel
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Channel:getTabCompleter
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Server:getQueries
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.Query:getTabCompleter
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.util.MapList:containsKey
    //#unanalyzed(void unregisterCommand(CommandInfo)): Effects-of-calling:com.dmdirc.util.MapList:get
    }
    //#CommandManager.java:127: end of method: void com.dmdirc.commandparser.CommandManager.unregisterCommand(CommandInfo)
    
    /**
     * Registers or unregisters a command.
     *
     * @param info The information about the command
     * @param command The command to be (un)registered
     * @param register True if the command should be registered, false if it
     * should be unregistered.
     * @since 0.6.3m1
     */
    private static void registerCommand(final CommandInfo info, final Command command,
            final boolean register) {
        if (parsers.containsKey(info.getType())) {
    //#CommandManager.java:140: method: void com.dmdirc.commandparser.CommandManager.registerCommand(CommandInfo, Command, bool)
    //#CommandManager.java:140: ?null dereference
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[info.__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommand(CommandInfo, Command, bool)
    //#    basic block: Entry_BB_1
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[info.__Tag] != null
    //#    VN: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[info.__Tag]
    //#    Expected: Inverse{null}
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
    //#CommandManager.java:140: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.util.MapList:containsKey(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommand(CommandInfo, Command, bool)
    //#    unanalyzed callee: bool com.dmdirc.util.MapList:containsKey(Object)
    //#input(void registerCommand(CommandInfo, Command, bool)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void registerCommand(CommandInfo, Command, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void registerCommand(CommandInfo, Command, bool)): command
    //#input(void registerCommand(CommandInfo, Command, bool)): commandChar
    //#input(void registerCommand(CommandInfo, Command, bool)): commands
    //#input(void registerCommand(CommandInfo, Command, bool)): info
    //#input(void registerCommand(CommandInfo, Command, bool)): info.__Tag
    //#input(void registerCommand(CommandInfo, Command, bool)): parsers
    //#input(void registerCommand(CommandInfo, Command, bool)): register
    //#pre[2] (void registerCommand(CommandInfo, Command, bool)): init'ed(commandChar)
    //#pre[3] (void registerCommand(CommandInfo, Command, bool)): info != null
    //#presumption(void registerCommand(CommandInfo, Command, bool)): com.dmdirc.util.MapList:get(...)@141 != null
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:getName
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.util.Map:remove
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.ServerManager:getServers
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:getType
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Server:getTabCompleter
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Server:getChannels
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Server:getChannel
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Channel:getTabCompleter
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Server:getQueries
    //#unanalyzed(void registerCommand(CommandInfo, Command, bool)): Effects-of-calling:com.dmdirc.Query:getTabCompleter
    //#test_vector(void registerCommand(CommandInfo, Command, bool)): register: {0}, {1}
    //#test_vector(void registerCommand(CommandInfo, Command, bool)): com.dmdirc.util.MapList:containsKey(...)@140: {0}, {1}
            registerCommand(info, command, parsers.get(info.getType()), register);
    //#CommandManager.java:141: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.util.MapList:get(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommand(CommandInfo, Command, bool)
    //#    unanalyzed callee: List com.dmdirc.util.MapList:get(Object)
        }
        
        if (register) {
            commands.put(info, command);
        } else {
            commands.remove(info);
        }

        registerCommandName(info, register);
    }
    //#CommandManager.java:151: end of method: void com.dmdirc.commandparser.CommandManager.registerCommand(CommandInfo, Command, bool)
    
    /**
     * Registers the specified command with all of the specified parsers.
     *
     * @param info The command information object
     * @param command The command to be reigstered
     * @param parsers The parsers to register the command with
     * @since 0.6.3m1
     */
    private static void registerCommand(final CommandInfo info, final Command command,
            final List<? extends CommandParser> myParsers, final boolean register) {
        for (CommandParser parser : myParsers) {
    //#CommandManager.java:163: method: void com.dmdirc.commandparser.CommandManager.registerCommand(CommandInfo, Command, List, bool)
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void registerCommand(CommandInfo, Command, List, bool)): command
    //#input(void registerCommand(CommandInfo, Command, List, bool)): info
    //#input(void registerCommand(CommandInfo, Command, List, bool)): info.__Tag
    //#input(void registerCommand(CommandInfo, Command, List, bool)): myParsers
    //#input(void registerCommand(CommandInfo, Command, List, bool)): register
    //#pre[4] (void registerCommand(CommandInfo, Command, List, bool)): myParsers != null
    //#pre[2] (void registerCommand(CommandInfo, Command, List, bool)): (soft) info != null
    //#presumption(void registerCommand(CommandInfo, Command, List, bool)): java.util.Iterator:next(...).__Tag@163 in {com/dmdirc/commandparser/parsers/ChannelCommandParser, com/dmdirc/commandparser/parsers/CommandParser, com/dmdirc/commandparser/parsers/GlobalCommandParser, com/dmdirc/commandparser/parsers/QueryCommandParser, com/dmdirc/commandparser/parsers/ServerCommandParser}
    //#presumption(void registerCommand(CommandInfo, Command, List, bool)): java.util.Iterator:next(...)@163 != null
    //#presumption(void registerCommand(CommandInfo, Command, List, bool)): parser.commands@163 != null
    //#unanalyzed(void registerCommand(CommandInfo, Command, List, bool)): Effects-of-calling:getName
    //#unanalyzed(void registerCommand(CommandInfo, Command, List, bool)): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void registerCommand(CommandInfo, Command, List, bool)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void registerCommand(CommandInfo, Command, List, bool)): Effects-of-calling:java.util.Map:remove
    //#test_vector(void registerCommand(CommandInfo, Command, List, bool)): register: {0}, {1}
    //#test_vector(void registerCommand(CommandInfo, Command, List, bool)): java.util.Iterator:hasNext(...)@163: {0}, {1}
            if (register) {
                parser.registerCommand(command, info);
            } else {
                parser.unregisterCommand(info);
            }
        }
    }
    //#CommandManager.java:170: end of method: void com.dmdirc.commandparser.CommandManager.registerCommand(CommandInfo, Command, List, bool)
    
    /**
     * Registers or unregisters the specified command's name with the relevant
     * tab completers.
     *
     * @param command The command to be registered
     * @param register True if the command should be registered, false if it
     * should be unregistered.
     * @since 0.6.3m1
     */
    private static void registerCommandName(final CommandInfo command,
            final boolean register) {
        // Do tab completion
        final String commandName = getCommandChar() + command.getName();
    //#CommandManager.java:184: method: void com.dmdirc.commandparser.CommandManager.registerCommandName(CommandInfo, bool)
    //#CommandManager.java:184: ?null dereference
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    basic block: Entry_BB_1
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag] != null
    //#    VN: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[command.__Tag]
    //#    Expected: Inverse{null}
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
    //#CommandManager.java:184: Warning: call too complex - analysis skipped
    //#    call on String getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: String getName()
    //#input(void registerCommandName(CommandInfo, bool)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void registerCommandName(CommandInfo, bool)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void registerCommandName(CommandInfo, bool)): command
    //#input(void registerCommandName(CommandInfo, bool)): command.__Tag
    //#input(void registerCommandName(CommandInfo, bool)): commandChar
    //#input(void registerCommandName(CommandInfo, bool)): register
    //#pre[1] (void registerCommandName(CommandInfo, bool)): command != null
    //#pre[3] (void registerCommandName(CommandInfo, bool)): init'ed(commandChar)
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Channel:getTabCompleter(...)@196 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Query:getTabCompleter(...)@204 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Server:getChannel(...)@196 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Server:getChannels(...)@195 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Server:getQueries(...)@203 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.Server:getTabCompleter(...)@190 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.ServerManager:getServerManager(...)@187 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): com.dmdirc.ServerManager:getServers(...)@187 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): java.util.Iterator:next(...)@187 != null
    //#presumption(void registerCommandName(CommandInfo, bool)): java.util.Iterator:next(...)@203 != null
    //#unanalyzed(void registerCommandName(CommandInfo, bool)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void registerCommandName(CommandInfo, bool)): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#test_vector(void registerCommandName(CommandInfo, bool)): java.util.Iterator:hasNext(...)@187: {0}, {1}
    //#test_vector(void registerCommandName(CommandInfo, bool)): java.util.Iterator:hasNext(...)@195: {0}, {1}
    //#test_vector(void registerCommandName(CommandInfo, bool)): java.util.Iterator:hasNext(...)@203: {0}, {1}

        // TODO: This logic is probably in two places. Abstract it.
        for (Server server : ServerManager.getServerManager().getServers()) {
    //#CommandManager.java:187: Warning: method not available - call not analyzed
    //#    call on ServerManager com.dmdirc.ServerManager:getServerManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: ServerManager com.dmdirc.ServerManager:getServerManager()
    //#CommandManager.java:187: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.ServerManager:getServers()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: List com.dmdirc.ServerManager:getServers()
            if (command.getType() == CommandType.TYPE_SERVER ||
                    command.getType() == CommandType.TYPE_GLOBAL) {
                registerCommandName(server.getTabCompleter(), commandName, register);
    //#CommandManager.java:190: Warning: method not available - call not analyzed
    //#    call on TabCompleter com.dmdirc.Server:getTabCompleter()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: TabCompleter com.dmdirc.Server:getTabCompleter()
            }
            
            if (command.getType() == CommandType.TYPE_CHANNEL
                    || command.getType() == CommandType.TYPE_CHAT) {
                for (String channelName : server.getChannels()) {
    //#CommandManager.java:195: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.Server:getChannels()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: List com.dmdirc.Server:getChannels()
                    registerCommandName(server.getChannel(channelName).getTabCompleter(),
    //#CommandManager.java:196: Warning: method not available - call not analyzed
    //#    call on Channel com.dmdirc.Server:getChannel(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: Channel com.dmdirc.Server:getChannel(String)
    //#CommandManager.java:196: Warning: method not available - call not analyzed
    //#    call on TabCompleter com.dmdirc.Channel:getTabCompleter()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: TabCompleter com.dmdirc.Channel:getTabCompleter()
                            commandName, register);
                }
            }
            
            if (command.getType() == CommandType.TYPE_QUERY
                    || command.getType() == CommandType.TYPE_CHAT) {
                for (Query query : server.getQueries()) {
    //#CommandManager.java:203: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.Server:getQueries()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: List com.dmdirc.Server:getQueries()
                    registerCommandName(query.getTabCompleter(),
    //#CommandManager.java:204: Warning: method not available - call not analyzed
    //#    call on TabCompleter com.dmdirc.Query:getTabCompleter()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(CommandInfo, bool)
    //#    unanalyzed callee: TabCompleter com.dmdirc.Query:getTabCompleter()
                            commandName, register);
                }
            }
        }
    }
    //#CommandManager.java:209: end of method: void com.dmdirc.commandparser.CommandManager.registerCommandName(CommandInfo, bool)
    
    /**
     * Registers or unregisters the specified command with the specified tab-
     * completer.
     *
     * @param completer The tab completer to be used
     * @param name The command name to be registered
     * @param register True if the command should be registered, false if it
     * should be unregistered.
     */
    private static void registerCommandName(final TabCompleter completer,
            final String name, final boolean register) {
        if (register) {
    //#CommandManager.java:222: method: void com.dmdirc.commandparser.CommandManager.registerCommandName(TabCompleter, String, bool)
    //#input(void registerCommandName(TabCompleter, String, bool)): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void registerCommandName(TabCompleter, String, bool)): completer
    //#input(void registerCommandName(TabCompleter, String, bool)): name
    //#input(void registerCommandName(TabCompleter, String, bool)): register
    //#pre[1] (void registerCommandName(TabCompleter, String, bool)): completer != null
    //#presumption(void registerCommandName(TabCompleter, String, bool)): init'ed(com.dmdirc.ui.input.TabCompletionType.COMMAND)
    //#test_vector(void registerCommandName(TabCompleter, String, bool)): register: {0}, {1}
            completer.addEntry(TabCompletionType.COMMAND, name);
    //#CommandManager.java:223: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.input.TabCompleter:addEntry(TabCompletionType, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(TabCompleter, String, bool)
    //#    unanalyzed callee: void com.dmdirc.ui.input.TabCompleter:addEntry(TabCompletionType, String)
        }  else {
            completer.removeEntry(TabCompletionType.COMMAND, name);
    //#CommandManager.java:225: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.input.TabCompleter:removeEntry(TabCompletionType, String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void registerCommandName(TabCompleter, String, bool)
    //#    unanalyzed callee: void com.dmdirc.ui.input.TabCompleter:removeEntry(TabCompletionType, String)
        }
    }
    //#CommandManager.java:227: end of method: void com.dmdirc.commandparser.CommandManager.registerCommandName(TabCompleter, String, bool)
        
    /**
     * Instansiates the default commands.
     */
    public static void initCommands() {
        // Chat commands
        new Me();
    //#CommandManager.java:234: method: void com.dmdirc.commandparser.CommandManager.initCommands()
    //#input(void initCommands()): ""._tainted
    //#input(void initCommands()): "."._tainted
    //#input(void initCommands()): "<Unknown>"._tainted
    //#input(void initCommands()): "@"._tainted
    //#input(void initCommands()): "commandchar"._tainted
    //#input(void initCommands()): "general"._tainted
    //#input(void initCommands()): "silencechar"._tainted
    //#input(void initCommands()): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1).length
    //#input(void initCommands()): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295]
    //#input(void initCommands()): com.dmdirc.ui.input.TabCompletionType.COMMAND
    //#input(void initCommands()): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void initCommands()): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void initCommands()): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void initCommands()): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void initCommands()): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void initCommands()): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ChannelCommandParser]
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/CommandParser]
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/GlobalCommandParser]
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/QueryCommandParser]
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[com/dmdirc/commandparser/parsers/ServerCommandParser]
    //#input(void initCommands()): com/dmdirc/commandparser/parsers/CommandParser.__Descendant_Table[others]
    //#input(void initCommands()): com/dmdirc/config/ConfigManager$1.$SwitchMap$com$dmdirc$config$ConfigTarget$TYPE
    //#input(void initCommands()): com/dmdirc/config/ConfigManager.__Descendant_Table[com/dmdirc/config/ConfigManager]
    //#input(void initCommands()): com/dmdirc/config/ConfigManager.__Descendant_Table[others]
    //#input(void initCommands()): com/dmdirc/config/ConfigManager.__Dispatch_Table.addChangeListener(Ljava/lang/String;Ljava/lang/String;Lcom/dmdirc/interfaces/ConfigChangeListener;)V
    //#input(void initCommands()): com/dmdirc/config/ConfigManager.__Dispatch_Table.identityApplies(Lcom/dmdirc/config/Identity;)Z
    //#input(void initCommands()): com/dmdirc/config/ConfigTarget.__Descendant_Table[com/dmdirc/config/ConfigTarget]
    //#input(void initCommands()): com/dmdirc/config/ConfigTarget.__Descendant_Table[others]
    //#input(void initCommands()): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getData()Ljava/lang/String;
    //#input(void initCommands()): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getType()Lcom/dmdirc/config/ConfigTarget$TYPE;
    //#input(void initCommands()): com/dmdirc/config/Identity.__Descendant_Table[com/dmdirc/config/Identity]
    //#input(void initCommands()): com/dmdirc/config/Identity.__Descendant_Table[others]
    //#input(void initCommands()): com/dmdirc/config/Identity.__Dispatch_Table.addListener(Lcom/dmdirc/interfaces/ConfigChangeListener;)V
    //#input(void initCommands()): com/dmdirc/config/Identity.__Dispatch_Table.getTarget()Lcom/dmdirc/config/ConfigTarget;
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.__Class_Obj.__Lock
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig.__Tag
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig.listeners
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig.listeners.__Lock
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.identities
    //#input(void initCommands()): com/dmdirc/config/IdentityManager.managers
    //#input(void initCommands()): commandChar
    //#input(void initCommands()): commands
    //#input(void initCommands()): parsers
    //#output(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig
    //#output(void initCommands()): java.lang.StringBuilder:toString(...)._tainted
    //#output(void initCommands()): new ArrayList(getSources#1) num objects
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1) num objects
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).__Tag
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).channel
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).ircd
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).listeners
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).network
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).server
    //#output(void initCommands()): new ConfigManager(getGlobalConfig#1).sources
    //#output(void initCommands()): new MapList(ConfigManager#1) num objects
    //#output(void initCommands()): new MapList(ConfigManager#1).__Lock
    //#new obj(void initCommands()): java.lang.StringBuilder:toString(...)
    //#new obj(void initCommands()): new ArrayList(getSources#1)
    //#new obj(void initCommands()): new ConfigManager(getGlobalConfig#1)
    //#new obj(void initCommands()): new MapList(ConfigManager#1)
    //#pre[4] (void initCommands()): init'ed(commandChar)
    //#pre[5] (void initCommands()): init'ed(com/dmdirc/config/IdentityManager.globalconfig)
    //#pre[1] (void initCommands()): (soft) init'ed(com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295])
    //#presumption(void initCommands()): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#presumption(void initCommands()): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#presumption(void initCommands()): getGlobalConfig(...).listeners != null
    //#presumption(void initCommands()): getGlobalConfig(...).listeners != null
    //#post(void initCommands()): com/dmdirc/config/IdentityManager.globalconfig != null
    //#post(void initCommands()): java.lang.StringBuilder:toString(...)._tainted == 0
    //#post(void initCommands()): new ArrayList(getSources#1) num objects == 0
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1) num objects == 0
    //#post(void initCommands()): new MapList(ConfigManager#1) num objects == 0
    //#post(void initCommands()): new ArrayList(getSources#1) num objects <= 1
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
    //#post(void initCommands()): new MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).__Tag == com/dmdirc/config/ConfigManager
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).__Tag)
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).channel == &java.lang.StringBuilder:toString(...)
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).channel)
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).ircd == &""
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).network == &""
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).server == &""
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).ircd)
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).listeners == &new MapList(ConfigManager#1)
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).listeners)
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).network)
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).server)
    //#post(void initCommands()): new ConfigManager(getGlobalConfig#1).sources == &new ArrayList(getSources#1)
    //#post(void initCommands()): init'ed(new ConfigManager(getGlobalConfig#1).sources)
    //#post(void initCommands()): init'ed(new MapList(ConfigManager#1).__Lock)
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.logger.Logger:assertTrue
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.List:add
    //#unanalyzed(void initCommands()): Effects-of-calling:getTarget
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.config.ConfigTarget$TYPE:ordinal
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.String:equalsIgnoreCase
    //#unanalyzed(void initCommands()): Effects-of-calling:addListener
    //#unanalyzed(void initCommands()): Effects-of-calling:getSources
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.config.ConfigSource
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.util.MapList
    //#unanalyzed(void initCommands()): Effects-of-calling:addConfigManager
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(void initCommands()): Effects-of-calling:getName
    //#unanalyzed(void initCommands()): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void initCommands()): Effects-of-calling:java.util.Map:remove
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:addEntry
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.ui.input.TabCompleter:removeEntry
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.ServerManager:getServerManager
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.ServerManager:getServers
    //#unanalyzed(void initCommands()): Effects-of-calling:getType
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Server:getTabCompleter
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Server:getChannels
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Server:getChannel
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Channel:getTabCompleter
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Server:getQueries
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.Query:getTabCompleter
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.util.MapList:containsKey
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.util.MapList:get
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.commandparser.commands.ChatCommand
    //#unanalyzed(void initCommands()): Effects-of-calling:registerCommand
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.commandparser.commands.Command
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.commandparser.commands.ChannelCommand
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.commandparser.commands.ServerCommand
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.commandparser.commands.GlobalCommand
    //#unanalyzed(void initCommands()): Effects-of-calling:com.dmdirc.util.MapList:add
        
        // Channel commands
        new Ban();
        new ChannelSettings();
        new Cycle();
        new KickReason();
        new Mode();
        new Names();
        new Part();
        new SetNickColour();
        new ShowTopic();
        
        // Server commands
        new AllChannels();
        new Away();
        new Back();
        new ChangeServer();
        new Ctcp();
        new Disconnect();
        new Ignore();
        new Message();
        new Nick();
        new Notice();
        new OpenQuery();
        new Raw();
        new Reconnect();
        new Umode();
        
        new RawServerCommand("invite");
        new RawServerCommand("join");
        new RawServerCommand("lusers");
        new RawServerCommand("map");
        new RawServerCommand("motd");
        new RawServerCommand("oper");
        new RawServerCommand("whois");
        new RawServerCommand("who");
        
        // Query commands
        
        // Global commands
        new Active();
        new AliasCommand();
        new AllServers();
        new Clear();
        new Debug();
        new Echo();
        new Exit();
        new Help();
        new Ifplugin();
        new NewServer();
        new Notify();
        new LoadPlugin();
        new UnloadPlugin();
        new OpenWindow();
        new ReloadActions();
        new ReloadIdentities();
        new ReloadPlugin();
        new SaveConfig();
        new Set();
        
        // Set up a listener for config changes
        final ConfigChangeListener listener = new ConfigChangeListener() {
    //#CommandManager.java:296: method: void com.dmdirc.commandparser.CommandManager$1.com.dmdirc.commandparser.CommandManager$1()
    //#CommandManager.java:296: end of method: void com.dmdirc.commandparser.CommandManager$1.com.dmdirc.commandparser.CommandManager$1()
            @Override
            public void configChanged(String domain, String key) {
                commandChar = IdentityManager.getGlobalConfig()
    //#CommandManager.java:299: method: void com.dmdirc.commandparser.CommandManager$1.configChanged(String, String)
    //#input(void configChanged(String, String)): ""._tainted
    //#input(void configChanged(String, String)): "."._tainted
    //#input(void configChanged(String, String)): "<Unknown>"._tainted
    //#input(void configChanged(String, String)): "@"._tainted
    //#input(void configChanged(String, String)): "Config option not found: "._tainted
    //#input(void configChanged(String, String)): "commandchar"._tainted
    //#input(void configChanged(String, String)): "general"._tainted
    //#input(void configChanged(String, String)): "silencechar"._tainted
    //#input(void configChanged(String, String)): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1).length
    //#input(void configChanged(String, String)): com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager$1.$SwitchMap$com$dmdirc$config$ConfigTarget$TYPE
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.__Descendant_Table[com/dmdirc/config/ConfigManager]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.__Descendant_Table[others]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.__Dispatch_Table.getOptionChar(Ljava/lang/String;Ljava/lang/String;)C
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.__Dispatch_Table.identityApplies(Lcom/dmdirc/config/Identity;)Z
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigManager.stats
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/ConfigManager]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/ConfigSource]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigSource.__Descendant_Table[com/dmdirc/config/Identity]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigSource.__Descendant_Table[others]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigSource.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigTarget.__Descendant_Table[com/dmdirc/config/ConfigTarget]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigTarget.__Descendant_Table[others]
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getData()Ljava/lang/String;
    //#input(void configChanged(String, String)): com/dmdirc/config/ConfigTarget.__Dispatch_Table.getType()Lcom/dmdirc/config/ConfigTarget$TYPE;
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Descendant_Table[com/dmdirc/config/Identity]
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Descendant_Table[others]
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Dispatch_Table.addListener(Lcom/dmdirc/interfaces/ConfigChangeListener;)V
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Dispatch_Table.getOption(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Dispatch_Table.getTarget()Lcom/dmdirc/config/ConfigTarget;
    //#input(void configChanged(String, String)): com/dmdirc/config/Identity.__Dispatch_Table.hasOption(Ljava/lang/String;Ljava/lang/String;)Z
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.__Class_Obj.__Lock
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig.__Lock
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig.__Tag
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig.file
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig.sources
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig.sources.__Lock
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.identities
    //#input(void configChanged(String, String)): com/dmdirc/config/IdentityManager.managers
    //#output(void configChanged(String, String)): com/dmdirc/commandparser/CommandManager.commandChar
    //#output(void configChanged(String, String)): com/dmdirc/commandparser/CommandManager.silenceChar
    //#output(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig
    //#output(void configChanged(String, String)): java.lang.StringBuilder:toString(...)._tainted
    //#output(void configChanged(String, String)): new ArrayList(getSources#1) num objects
    //#output(void configChanged(String, String)): new ArrayList(getSources#1).__Lock
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1) num objects
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).__Lock
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).__Tag
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).channel
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).file
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).ircd
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).listeners
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).network
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).server
    //#output(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).sources
    //#output(void configChanged(String, String)): new MapList(ConfigManager#1) num objects
    //#new obj(void configChanged(String, String)): java.lang.StringBuilder:toString(...)
    //#new obj(void configChanged(String, String)): new ArrayList(getSources#1)
    //#new obj(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1)
    //#new obj(void configChanged(String, String)): new MapList(ConfigManager#1)
    //#pre[4] (void configChanged(String, String)): init'ed(com/dmdirc/config/IdentityManager.globalconfig)
    //#pre[1] (void configChanged(String, String)): (soft) init'ed(com.dmdirc.config.ConfigManager$1__static_init.new int[](ConfigManager$1__static_init#1)[0..4_294_967_295])
    //#presumption(void configChanged(String, String)): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#presumption(void configChanged(String, String)): getGlobalConfig(...).__Tag == com/dmdirc/config/ConfigManager
    //#post(void configChanged(String, String)): init'ed(com/dmdirc/commandparser/CommandManager.commandChar)
    //#post(void configChanged(String, String)): init'ed(com/dmdirc/commandparser/CommandManager.silenceChar)
    //#post(void configChanged(String, String)): com/dmdirc/config/IdentityManager.globalconfig != null
    //#post(void configChanged(String, String)): java.lang.StringBuilder:toString(...)._tainted == 0
    //#post(void configChanged(String, String)): new ArrayList(getSources#1) num objects == 0
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1) num objects == 0
    //#post(void configChanged(String, String)): new MapList(ConfigManager#1) num objects == 0
    //#post(void configChanged(String, String)): new ArrayList(getSources#1) num objects <= 1
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1) num objects == new ArrayList(getSources#1) num objects
    //#post(void configChanged(String, String)): new MapList(ConfigManager#1) num objects == new ArrayList(getSources#1) num objects
    //#post(void configChanged(String, String)): init'ed(new ArrayList(getSources#1).__Lock)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).__Lock)
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).__Tag == com/dmdirc/config/ConfigManager
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).__Tag)
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).channel == &java.lang.StringBuilder:toString(...)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).channel)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).file)
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).ircd == &""
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).network == &""
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).server == &""
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).ircd)
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).listeners == &new MapList(ConfigManager#1)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).listeners)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).network)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).server)
    //#post(void configChanged(String, String)): new ConfigManager(getGlobalConfig#1).sources == &new ArrayList(getSources#1)
    //#post(void configChanged(String, String)): init'ed(new ConfigManager(getGlobalConfig#1).sources)
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.logger.Logger:assertTrue
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.List:add
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:getTarget
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.config.ConfigTarget$TYPE:ordinal
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.String:equalsIgnoreCase
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:addListener
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:getSources
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.config.ConfigSource
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.util.MapList
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:addConfigManager
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Collections:sort
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Map:containsKey
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.Integer:intValue
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.Integer:valueOf
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:hasOption
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:getOption
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.IllegalArgumentException
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:java.lang.String:charAt
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.util.ConfigFile:getKeyDomain
    //#unanalyzed(void configChanged(String, String)): Effects-of-calling:com.dmdirc.util.ConfigFile:isKeyDomain
                        .getOptionChar("general", "commandchar");
                silenceChar = IdentityManager.getGlobalConfig()
                        .getOptionChar("general", "silencechar");
            }
    //#CommandManager.java:303: end of method: void com.dmdirc.commandparser.CommandManager$1.configChanged(String, String)
        };
        
        IdentityManager.getGlobalConfig().addChangeListener("general", "commandchar", listener);
        IdentityManager.getGlobalConfig().addChangeListener("general", "silencechar", listener);
    }
    //#CommandManager.java:308: end of method: void com.dmdirc.commandparser.CommandManager.initCommands()

    /**
     * Loads all commands of the specified types into the specified parser.
     *
     * @see CommandType#getComponentTypes()
     * @since 0.6.3m1
     * @param parser The {@link CommandParser} to load commands in to
     * @param supertypes The types of commands that should be loaded
     */
    public static void loadCommands(final CommandParser parser,
            final CommandType ... supertypes) {
        for (CommandType supertype : supertypes) {
    //#CommandManager.java:320: method: void com.dmdirc.commandparser.CommandManager.loadCommands(CommandParser, CommandType[])
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/Command.__Descendant_Table[others]
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(void loadCommands(CommandParser, CommandType[])): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(void loadCommands(CommandParser, CommandType[])): commands
    //#input(void loadCommands(CommandParser, CommandType[])): parser
    //#input(void loadCommands(CommandParser, CommandType[])): parser.commands
    //#input(void loadCommands(CommandParser, CommandType[])): parsers
    //#input(void loadCommands(CommandParser, CommandType[])): supertypes
    //#input(void loadCommands(CommandParser, CommandType[])): supertypes.length
    //#input(void loadCommands(CommandParser, CommandType[])): supertypes[0..4_294_967_295]
    //#pre[3] (void loadCommands(CommandParser, CommandType[])): supertypes != null
    //#pre[4] (void loadCommands(CommandParser, CommandType[])): supertypes.length <= 4_294_967_295
    //#pre[1] (void loadCommands(CommandParser, CommandType[])): (soft) parser != null
    //#pre[2] (void loadCommands(CommandParser, CommandType[])): (soft) parser.commands != null
    //#pre[5] (void loadCommands(CommandParser, CommandType[])): (soft) supertypes[0..4_294_967_295] != null
    //#presumption(void loadCommands(CommandParser, CommandType[])): java.util.Iterator:next(...)@322 != null
    //#presumption(void loadCommands(CommandParser, CommandType[])): java.util.Map:entrySet(...)@322 != null
    //#presumption(void loadCommands(CommandParser, CommandType[])): java.util.Map_Entry:getKey(...)@323 != null
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.HashMap
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:getName
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.lang.String:toLowerCase
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Map:put
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:getType
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(void loadCommands(CommandParser, CommandType[])): Effects-of-calling:java.util.Map$Entry:getValue
    //#test_vector(void loadCommands(CommandParser, CommandType[])): java.util.Iterator:hasNext(...)@322: {0}, {1}
            for (CommandType type : supertype.getComponentTypes()) {
    //#CommandManager.java:321: ?use of default init
    //#    init'ed(arr$.length)
    //#    severity: LOW
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void loadCommands(CommandParser, CommandType[])
    //#    basic block: bb_3
    //#    assertion: init'ed(arr$.length)
    //#    VN: arr$.length
    //#    Expected: {-Inf..+Inf}
    //#    Bad: {Invalid}
    //#    Attribs:  Int  Bad only invalid
    //#CommandManager.java:321: ?use of default init
    //#    init'ed(arr$[i$])
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void loadCommands(CommandParser, CommandType[])
    //#    basic block: bb_5
    //#    assertion: init'ed(arr$[i$])
    //#    VN: arr$[i$]
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
                for (Map.Entry<CommandInfo, Command> pair : getCommands(type, null).entrySet()) {
                    parser.registerCommand(pair.getValue(), pair.getKey());
    //#CommandManager.java:323: ?ClassCastException check
    //#    com/dmdirc/commandparser/commands/Command.__Descendant_Table[java/util/Map$Entry:getValue(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void loadCommands(CommandParser, CommandType[])
    //#    basic block: bb_12
    //#    assertion: com/dmdirc/commandparser/commands/Command.__Descendant_Table[java/util/Map$Entry:getValue(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/commands/Command.__Descendant_Table[java.util.Map$Entry:getValue(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
    //#CommandManager.java:323: ?ClassCastException check
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void loadCommands(CommandParser, CommandType[])
    //#    basic block: bb_14
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java.util.Map$Entry:getKey(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
                }

                parsers.add(type, parser);
    //#CommandManager.java:326: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.util.MapList:add(Object, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: void loadCommands(CommandParser, CommandType[])
    //#    unanalyzed callee: void com.dmdirc.util.MapList:add(Object, Object)
            }
        }
    }
    //#CommandManager.java:329: end of method: void com.dmdirc.commandparser.CommandManager.loadCommands(CommandParser, CommandType[])
    
    /**
     * Retrieves the command identified by the specified name, regardless of
     * type.
     *
     * @param name The name to look for
     * @return A command with a matching signature, or null if none were found
     */
    public static Map.Entry<CommandInfo, Command> getCommand(final String name) {
        return getCommand(null, name);
    //#CommandManager.java:339: method: Map$Entry com.dmdirc.commandparser.CommandManager.getCommand(String)
    //#input(Map$Entry getCommand(String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(String)): commands
    //#input(Map$Entry getCommand(String)): name
    //#output(Map$Entry getCommand(String)): return_value
    //#post(Map$Entry getCommand(String)): init'ed(return_value)
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:getName
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:getType
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(Map$Entry getCommand(String)): Effects-of-calling:java.util.Map:isEmpty
    //#CommandManager.java:339: end of method: Map$Entry com.dmdirc.commandparser.CommandManager.getCommand(String)
    }
    
    /**
     * Retrieves a command of the specified type with the specified name.
     * 
     * @param type The type of the command to look for
     * @param name The name to look for
     * @return A command with a matching signature, or null if none were found
     */
    public static Map.Entry<CommandInfo, Command> getCommand(final CommandType type,
            final String name) {
        final Map<CommandInfo, Command> res = getCommands(type, name);
    //#CommandManager.java:351: method: Map$Entry com.dmdirc.commandparser.CommandManager.getCommand(CommandType, String)
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map$Entry getCommand(CommandType, String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map$Entry getCommand(CommandType, String)): commands
    //#input(Map$Entry getCommand(CommandType, String)): name
    //#input(Map$Entry getCommand(CommandType, String)): type
    //#output(Map$Entry getCommand(CommandType, String)): return_value
    //#presumption(Map$Entry getCommand(CommandType, String)): java.util.Map:entrySet(...)@353 != null
    //#post(Map$Entry getCommand(CommandType, String)): init'ed(return_value)
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:getName
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:getType
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(Map$Entry getCommand(CommandType, String)): Effects-of-calling:java.util.Map$Entry:getValue
        
        return res.isEmpty() ? null : res.entrySet().iterator().next();
    //#CommandManager.java:353: end of method: Map$Entry com.dmdirc.commandparser.CommandManager.getCommand(CommandType, String)
    }    
     
    /**
     * Determines if the specified command is a valid channel command.
     * 
     * @param command The name of the command to test
     * @return True iff the command is a channel command, false otherwise
     */
    public static boolean isChannelCommand(final String command) {
        return getCommand(CommandType.TYPE_CHANNEL, command) != null
    //#CommandManager.java:363: method: bool com.dmdirc.commandparser.CommandManager.isChannelCommand(String)
    //#input(bool isChannelCommand(String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(bool isChannelCommand(String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(bool isChannelCommand(String)): command
    //#input(bool isChannelCommand(String)): commands
    //#output(bool isChannelCommand(String)): return_value
    //#post(bool isChannelCommand(String)): init'ed(return_value)
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:getName
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:getType
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Map$Entry:getValue
    //#unanalyzed(bool isChannelCommand(String)): Effects-of-calling:java.util.Map:isEmpty
    //#CommandManager.java:363: end of method: bool com.dmdirc.commandparser.CommandManager.isChannelCommand(String)
                || getCommand(CommandType.TYPE_CHAT, command) != null;
    }
       
    /**
     * Retrieves a list of the names of all commands of the specified type.
     * 
     * @param type The type of command to list
     * @return A list of command names
     */
    public static List<String> getCommandNames(final CommandType type) {
        final List<String> res = new ArrayList<String>();
    //#CommandManager.java:374: method: List com.dmdirc.commandparser.CommandManager.getCommandNames(CommandType)
    //#input(List getCommandNames(CommandType)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(List getCommandNames(CommandType)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(List getCommandNames(CommandType)): commandChar
    //#input(List getCommandNames(CommandType)): commands
    //#input(List getCommandNames(CommandType)): type
    //#output(List getCommandNames(CommandType)): new ArrayList(getCommandNames#1) num objects
    //#output(List getCommandNames(CommandType)): return_value
    //#new obj(List getCommandNames(CommandType)): new ArrayList(getCommandNames#1)
    //#pre[1] (List getCommandNames(CommandType)): (soft) init'ed(commandChar)
    //#presumption(List getCommandNames(CommandType)): java.util.Iterator:next(...)@376 != null
    //#presumption(List getCommandNames(CommandType)): java.util.Map:keySet(...)@376 != null
    //#post(List getCommandNames(CommandType)): return_value == &new ArrayList(getCommandNames#1)
    //#post(List getCommandNames(CommandType)): new ArrayList(getCommandNames#1) num objects == 1
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:getName
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:getType
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(List getCommandNames(CommandType)): Effects-of-calling:java.util.Map$Entry:getValue
    //#test_vector(List getCommandNames(CommandType)): java.util.Iterator:hasNext(...)@376: {0}, {1}
        
        for (CommandInfo command : getCommands(type).keySet()) {
    //#CommandManager.java:376: ?ClassCastException check
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Iterator:next(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: List getCommandNames(CommandType)
    //#    basic block: bb_6
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Iterator:next(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java.util.Iterator:next(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
            res.add(getCommandChar() + command.getName());
    //#CommandManager.java:377: Warning: call too complex - analysis skipped
    //#    call on String getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: List getCommandNames(CommandType)
    //#    unanalyzed callee: String getName()
        }
        
        return res;
    //#CommandManager.java:380: end of method: List com.dmdirc.commandparser.CommandManager.getCommandNames(CommandType)
    }
    
    /**
     * Retrieves a map of all {@link CommandInfo}s and their associated
     * {@link Command}s of the specified type.
     * 
     * @param type The type of command to list
     * @return A map of commands
     * @since 0.6.3m1
     */    
    public static Map<CommandInfo, Command> getCommands(final CommandType type) {
        return getCommands(type, null);
    //#CommandManager.java:392: method: Map com.dmdirc.commandparser.CommandManager.getCommands(CommandType)
    //#input(Map getCommands(CommandType)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType)): commands
    //#input(Map getCommands(CommandType)): type
    //#output(Map getCommands(CommandType)): new HashMap(getCommands#1*) num objects
    //#output(Map getCommands(CommandType)): return_value
    //#new obj(Map getCommands(CommandType)): new HashMap(getCommands#1*)
    //#post(Map getCommands(CommandType)): return_value == &new HashMap(getCommands#1*)
    //#post(Map getCommands(CommandType)): new HashMap(getCommands#1*) num objects == 1
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.HashMap
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:getName
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:getType
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Map:put
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Map:entrySet
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Map$Entry:getKey
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:com.dmdirc.commandparser.CommandType:equals
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.lang.String:equals
    //#unanalyzed(Map getCommands(CommandType)): Effects-of-calling:java.util.Map$Entry:getValue
    //#CommandManager.java:392: end of method: Map com.dmdirc.commandparser.CommandManager.getCommands(CommandType)
    }
    
    /**
     * Retrieves a map of all commands of the specified type, with the
     * specified name.
     * 
     * @param type The type of command to list, or null for all types
     * @param name The name of the command to look for, or null for any name
     * @return A map of {@link CommandInfo}s and their associated {@link Command}.
     * @since 0.6.3m1
     */    
    private static Map<CommandInfo, Command> getCommands(final CommandType type,
            final String name) {
        final Map<CommandInfo, Command> res = new HashMap<CommandInfo, Command>();
    //#CommandManager.java:406: method: Map com.dmdirc.commandparser.CommandManager.getCommands(CommandType, String)
    //#input(Map getCommands(CommandType, String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/addons/urlcatcher/UrlListCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Descendant_Table[others]
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandInfo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_CHANNEL
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_CHAT
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_GLOBAL
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_QUERY
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/CommandType.TYPE_SERVER
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ChatCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/GlobalCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/QueryCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/ServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Ban.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/ChannelSettings.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Cycle.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/KickReason.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Mode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Names.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/Part.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/SetNickColour.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/channel/ShowTopic.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/chat/Me.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Active.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/AliasCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/AllServers.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Clear.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Debug.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Echo.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Exit.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Help.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Ifplugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/LoadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/NewServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Notify.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/OpenWindow.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadActions.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadIdentities.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/ReloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/SaveConfig.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/Set.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/global/UnloadPlugin.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/AllChannels.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Away.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Back.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/ChangeServer.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Ctcp.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Disconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Ignore.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/JoinChannelCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Message.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Nick.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Notice.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/OpenQuery.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Raw.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/RawServerCommand.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Reconnect.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(Map getCommands(CommandType, String)): com/dmdirc/commandparser/commands/server/Umode.__Dispatch_Table.getType()Lcom/dmdirc/commandparser/CommandType;
    //#input(Map getCommands(CommandType, String)): commands
    //#input(Map getCommands(CommandType, String)): name
    //#input(Map getCommands(CommandType, String)): type
    //#output(Map getCommands(CommandType, String)): new HashMap(getCommands#1) num objects
    //#output(Map getCommands(CommandType, String)): return_value
    //#new obj(Map getCommands(CommandType, String)): new HashMap(getCommands#1)
    //#presumption(Map getCommands(CommandType, String)): java.util.Iterator:next(...)@408 != null
    //#presumption(Map getCommands(CommandType, String)): java.util.Map:entrySet(...)@408 != null
    //#presumption(Map getCommands(CommandType, String)): java.util.Map_Entry:getKey(...)@409 != null
    //#presumption(Map getCommands(CommandType, String)): java.util.Map_Entry:getKey(...)@409 != null
    //#post(Map getCommands(CommandType, String)): return_value == &new HashMap(getCommands#1)
    //#post(Map getCommands(CommandType, String)): new HashMap(getCommands#1) num objects == 1
    //#test_vector(Map getCommands(CommandType, String)): name: Addr_Set{null}, Inverse{null}
    //#test_vector(Map getCommands(CommandType, String)): type: Addr_Set{null}, Inverse{null}
    //#test_vector(Map getCommands(CommandType, String)): com.dmdirc.commandparser.CommandType:equals(...)@409: {0}, {1}
    //#test_vector(Map getCommands(CommandType, String)): java.lang.String:equals(...)@409: {0}, {1}
    //#test_vector(Map getCommands(CommandType, String)): java.util.Iterator:hasNext(...)@408: {0}, {1}
        
        for (Map.Entry<CommandInfo, Command> entry : commands.entrySet()) {
            if ((type == null || type.equals(entry.getKey().getType()))
    //#CommandManager.java:409: ?ClassCastException check
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: Map getCommands(CommandType, String)
    //#    basic block: bb_13
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java.util.Map$Entry:getKey(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
    //#CommandManager.java:409: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.commandparser.CommandType:equals(Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: Map getCommands(CommandType, String)
    //#    unanalyzed callee: bool com.dmdirc.commandparser.CommandType:equals(Object)
    //#CommandManager.java:409: ?ClassCastException check
    //#    com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: Map getCommands(CommandType, String)
    //#    basic block: bb_11
    //#    assertion: com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java/util/Map$Entry:getKey(...).__Tag] != null
    //#    VN: !(com/dmdirc/commandparser/CommandInfo.__Descendant_Table[java.util.Map$Entry:getKey(...).__Tag] == null)
    //#    Expected: {-Inf..-1, 1..+Inf}
    //#    Bad: {0}
    //#    Attribs:  Int  Bad singleton  Bad overlaps +/-1000  Bad > Exp
    //#CommandManager.java:409: Warning: call too complex - analysis skipped
    //#    call on String getName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.commandparser.CommandManager
    //#    method: Map getCommands(CommandType, String)
    //#    unanalyzed callee: String getName()
                    && (name == null || name.equals(entry.getKey().getName()))) {
                res.put(entry.getKey(), entry.getValue());
            }
        }
        
        return res;
    //#CommandManager.java:415: end of method: Map com.dmdirc.commandparser.CommandManager.getCommands(CommandType, String)
    }
    
}
    //#output(com.dmdirc.commandparser.CommandManager$1__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandManager$1]
    //#output(com.dmdirc.commandparser.CommandManager$1__static_init): __Dispatch_Table.configChanged(Ljava/lang/String;Ljava/lang/String;)V
    //#post(com.dmdirc.commandparser.CommandManager$1__static_init): __Descendant_Table[com/dmdirc/commandparser/CommandManager$1] == &__Dispatch_Table
    //#post(com.dmdirc.commandparser.CommandManager$1__static_init): __Dispatch_Table.configChanged(Ljava/lang/String;Ljava/lang/String;)V == &configChanged
    //#CommandManager.java:: end of method: com.dmdirc.commandparser.CommandManager$1.com.dmdirc.commandparser.CommandManager$1__static_init
    //#CommandManager.java:: end of class: com.dmdirc.commandparser.CommandManager$1
    //#CommandManager.java:: end of class: com.dmdirc.commandparser.CommandManager
