public final void execute() {
		boolean start = false;
		try {
			start = valid();
		} catch (Exception e) {
			Logger.getLogger("CONCURRENT-VALIDATION").severe(e.getMessage());
			e.printStackTrace();
		} catch (ThreadDeath td) {
			Logger.getLogger("CONCURRENT-VALIDATION").severe(td.getMessage());
			td.printStackTrace();
		}

		try {
			while (start) {
				if (halting)
					break;
				int timeout = 100;

				if (!paused) {
					try {
						timeout = loop();
					} catch (Exception e) {
						Logger.getLogger("CONCURRENT-LOOP").severe(
								e.getMessage());
						e.printStackTrace();
						timeout = -1;
					}
				}

				if (timeout == -1)
					break;
				sleep(timeout);

			}
		} catch (Exception e) {
			Logger.getLogger("CONCURRENT").severe(e.getMessage());
			e.printStackTrace();
		} catch (ThreadDeath td) {
			Logger.getLogger("CONCURRENT").severe(td.getMessage());
			td.printStackTrace();
		}
	}