public final Node state() {
		synchronized (lock) {
			final Node stateNode = this.current_node.get();
			if (stateNode != null && stateNode.isAlive()) {
				return null;
			} else {
				for (final Node state : nodes) {
					if (state != null && state.activate()) {
						return state;
					}
				}
			}
			return null;
		}
	}