private void generalUpdate(List<Keyword> keywords, List<String> terms,
		List<String> approval, boolean inAden, boolean askPrice) throws WrongStateClassException {
	 
	boolean finished = false;
	
	if(keywords.isEmpty() && (approval.isEmpty())) {
		DialogManager.giveDialogManager().setInErrorState(true);
		return;
	}
	if( approval.size() == 1 && (approval.get(0).equals("yes"))) { 
		if( keywords.isEmpty() ) {// user is satisfied
				CanteenInformationState next = new CanteenInformationState();
				next.setCurrentState(CanteenInfo.CI_EXIT);
				finished = true;
		} else { // user still has other requests
			CanteenInfo subState = matchSubState(keywords, terms, inAden, askPrice);
			CanteenInformationState nextState = new CanteenInformationState();
			nextState.setCurrentState(subState);
			setCurrentDialogState(nextState);
			finished = true;
		}
	}	
	
	if( (approval.size() >= 2) && (!finished)) {
		DialogManager.giveDialogManager().setInErrorState(true);
		finished = true;
	}
	
	if( !finished ){
		CanteenInfo subState = matchSubState(keywords, terms, inAden, askPrice);
		CanteenInformationState nextState = new CanteenInformationState();
		nextState.setCurrentState(subState);
		setCurrentDialogState(nextState);
	}
}