public void setCurrentState(CogaenId stateId) {
		if (!isEngaged()) {
			throw new IllegalStateException("not engaged");
		}
		
		if (stateId == null) {
			throw new NullPointerException("state identifier must not be null");
		}
		
		switchState(stateId);
	}