@Override @CallableFromOutsideThreads
	synchronized void stopUnit() {
		if (threadState == ThreadState.RUNNING) {
			service.stopRequest();
			thread.interrupt();

			while (thread.isAlive()) {
				try {
					thread.join();
				} catch (InterruptedException e) {}
			}
			threadState = ThreadState.DEAD;
		}
	}