@Override
	public AbstractAction getNextAction() {
		AbstractAction action = null;
		if (!interruptAction.isEmpty()) {
			action = interruptAction.remove();
		}
		if (action == null && !todoList.isEmpty()) {
			action = searchIn(todoList);
			action = pollAction(todoList, action);
		}
		if (action == null && !actionPool.isEmpty()) {
			action = searchInActionPool();
		}
		return action;
	}