@Override
	public int fireChatEvent(HashMap eventDescription) {
		if (eventDescription.get("$event").equals("376")) {
			// We are connected, check the notify
			//
			checkNotify();
			return EVENT_DONE;
		}

		lag.setLag();

		if (eventDescription.get("$event").equals("303")) {
			String parms = (String) eventDescription.get("$parms");

			TokenizedString temp = new TokenizedString(parms);
			temp.tokenize(" ");

			Set newbatch = new HashSet();

			for (int x = 0; x < temp.getTotalTokens(); x++) {
				NotifyUser user = getUserInfo(temp.getToken(x));

				if (user != null && !user.isSignedOn()) {
					user.signOn();
				}
				newbatch.add(user);
			}

			signedon.removeAll(newbatch);

			Iterator i = signedon.iterator();
			while (i.hasNext()) {
				NotifyUser user = (NotifyUser) i.next();
				if (user != null && user.isSignedOn() && users.containsKey(user.toString())) {
					user.signOff();
				}
			}

			signedon = newbatch;
		}

		isChecking--;

		return EVENT_HALT;
	}