public boolean permissible(GuideUserAction currentAction, ParserConfiguration config) throws MaltChainedException {
		currentAction.getAction(actionContainers);
		int trans = transActionContainer.getActionCode();
		if ((trans == LEFTARC || trans == RIGHTARC) && !isActionContainersLabeled()) {
			return false;
		}
		DependencyNode stackTop = ((NivreConfig)config).getStack().peek();
		if (!((NivreConfig)config).isAllowRoot() && stackTop.isRoot() && trans != SHIFT) {
			return false;
		}
		if (trans == LEFTARC && stackTop.isRoot()) { 
			return false;
		}
		return true;
	}