public void run() {
		Long theTime = null;
		String theMessage = null;
		while (isRunning) {
			synchronized(messages) {
				if (messages.isEmpty()) {
					try {
						messages.wait();
					} catch (Exception e) {}
				} else if (isRunning && !messages.isEmpty()) {
					theMessage = messages.remove(0);
					theTime = timestamps.remove(0);
				}
			}
			if (isRunning && theMessage != null) {
				handleMessage(theMessage,theTime);
				theMessage = null;
				theTime = null;
			}
		}
	}