else if (((String)message.getParameters().get(0)).toLowerCase().equals(mConnectedNick.toLowerCase()))
else if (mConnectedNick != null && ((String)message.getParameters().get(0)).toLowerCase().equals(mConnectedNick.toLowerCase()))
	public void receivedCommand(ServerMessage message)	throws CoreException	{//		Logger.getLogger("com.uwyn.drone.core").info("COMMAND  :"+message+", TRAILING :"+message.getTrailing());				// process raw commands that need to be sent to modules		if (mRawCommands.size() > 0)		{			dispatchModuleMessage((Collection)mRawCommands.get(message.getCommand().toLowerCase()), new RawCommand(message));		}		// auto re-join		if (message.getCommand().equals("KICK"))		{			join((String)message.getParameters().get(0));		}				// sync nick changes		else if (message.getCommand().equals("NICK") &&				 message.getPrefix().getNickName().equals(mConnectedNick))		{			synchronized (mServer)			{				mConnectedNick = message.getTrailing();				fireNickChanged();			}		}				// auto re-join at excess flood		else if (message.getCommand().equals("ERROR") &&		    message.getTrailing().indexOf("Excess Flood") != -1)		{			getServer().reconnect();		}				// respond to ping commands		else if (message.getCommand().equals("PING"))		{			Pong pong = null;			if (message.getParameters().size() > 0 &&				message.getParameters().get(0) != null &&				((String)message.getParameters().get(0)).length() > 0)			{				pong = new Pong((String)message.getParameters().get(0));			}			else if (message.getTrailing() != null &&					 message.getTrailing().length() > 0)			{				pong = new Pong(message.getTrailing());			}						if (pong != null)			{				getServer().send(pong);			}		}		// process commands that can be subscribed to by modules and for which		// the commands have to be seperated from the arguments		else if (message.getCommand().equals("NOTICE") ||				 message.getCommand().equals("PRIVMSG"))		{			// seperate the command from the arguments			String	trailing = message.getTrailing();			int		command_seperation_index = trailing.indexOf(" ");			String	command = null;			String	arguments = null;			if (command_seperation_index >= 0)			{				command = trailing.substring(0, command_seperation_index).toLowerCase();				arguments = trailing.substring(command_seperation_index+1);			}			else			{				command = trailing.toLowerCase();				arguments = null;			}			// respond to notice commands			if (message.getCommand().equals("NOTICE"))			{				dispatchModuleMessage((Collection)mNoticeCommands.get(command), new NoticeCommand(message, command, arguments));			}				// repond to privmsg commands			else if (message.getCommand().equals("PRIVMSG"))			{				// check if this was a channel message				if (message.getParameters().size() > 0 &&					((String)message.getParameters().get(0)).length() > 0 &&					'#' == ((String)message.getParameters().get(0)).charAt(0))				{					Channel channel = mServer.getChannel((String)message.getParameters().get(0));						dispatchModuleMessage(mChannelMessageModules, new ChannelMessage(message, channel));					// send the commands to all the modules that handle them					if (message.getTrailing().startsWith("!"))					{						dispatchModuleMessage((Collection)mChannelCommands.get(command), new ChannelCommand(message, channel, command, arguments));					}				}				// check if this was a private message				else if (((String)message.getParameters().get(0)).toLowerCase().equals(mConnectedNick.toLowerCase()))				{					dispatchModuleMessage((Collection)mMessageCommands.get(command), new MessageCommand(message, command, arguments));				}			}		}	}