@Override
	public final void stop() {
		if (this.status != Status.STARTED && this.status != Status.PAUSED) {
			throw new IllegalStateException("service " + getName() + " is not in started or paused state");
		}
		doStop();
		this.status = Status.STOPPED;
	}