synchronized boolean resetMessageQueue(String statusList) {
		boolean isRemove = (statusList.length() > 0 && statusList.charAt(0) == '-');
		boolean isAdd = (statusList.length() > 0 && statusList.charAt(0) == '+');
		String oldList = this.statusList;
		if (isRemove) {
			this.statusList = viewer.simpleReplace(oldList, statusList.substring(1, statusList.length()), "");
			messageQueue = new Hashtable();
			statusPtr = 0;
			return true;
		}
		statusList = viewer.simpleReplace(statusList, "+", "");
		if (oldList.equals(statusList) || isAdd && oldList.indexOf(statusList) >= 0)
			return false;
		if (!isAdd) {
			messageQueue = new Hashtable();
			statusPtr = 0;
			this.statusList = "";
		}
		this.statusList += statusList;
		Logger.debug(oldList + "\nmessageQueue = " + this.statusList);
		return true;
	}