docs: public void next(Action action,String depClass) {
  
  		assert (!isFinalState());
  
  		// 左焦点词在句子中的位置
  		int lNode = trees.get(leftFocus).id;
  		int rNode = trees.get(leftFocus + 1).id;
  
  		switch (action) {
  		case LEFT:
  			trees.get(leftFocus + 1).setDepClass(depClass);  			
  			trees.get(leftFocus).addRightChild(trees.get(leftFocus + 1));
  			trees.remove(leftFocus + 1);
  			isUpdated = true;
  
  			break;
  		case RIGHT:
  			trees.get(leftFocus).setDepClass(depClass);			
  			trees.get(leftFocus + 1).addLeftChild(trees.get(leftFocus));
  			trees.remove(leftFocus);
  			isUpdated = true;
  			break;
  		default:
  			leftFocus++;
  		}
  
  		if (leftFocus >= trees.size() - 1) {
  			if (!isUpdated) {
  				isFinal = true;
  			}
  			back();
  		}
  	}