@Override
	public void run() {
		while (true) {
			try {
				ConduitMessage msg = new ConduitMessage(mInput);
				if ((mUserFilter == null || mUserFilter.equals(msg.getUser())) && (mIDFilter == null || mIDFilter.equals(msg.getID()))) {
					if (mOnEventThread) {
						msg.setReceiver(mReceiver);
						EventQueue.invokeLater(msg);
					} else {
						mReceiver.conduitMessageReceived(msg);
					}
				}
			} catch (Exception exception) {
				reconnect();
			}
		}
	}