code: RTObject evaluateExpression(Container exprContainer) throws StoryException, Exception {
  		int startCallStackHeight = state.getCallStack().getElements().size();
  
  		state.getCallStack().push(PushPopType.Tunnel);
  
  		temporaryEvaluationContainer = exprContainer;
  
  		state.goToStart();
  
  		int evalStackHeight = state.getEvaluationStack().size();
  
  		Continue();
  
  		temporaryEvaluationContainer = null;
  
  		// Should have fallen off the end of the Container, which should
  		// have auto-popped, but just in case we didn't for some reason,
  		// manually pop to restore the state (including currentPath).
  		if (state.getCallStack().getElements().size() > startCallStackHeight) {
  			state.popCallstack();
  		}
  
  		int endStackHeight = state.getEvaluationStack().size();
  		if (endStackHeight > evalStackHeight) {
  			return state.popEvaluationStack();
  		} else {
  			return null;
  		}
  
  	}
docs: CommandLinePlayer.