code: @Override
  	public Value evaluate(String line, Context ctxt) throws Exception
  	{
  		PExp expr = parseExpression(line, getDefaultName());
  		PublicClassEnvironment globals = new PublicClassEnvironment(assistantFactory, classes, null);
  		Environment env = new PrivateClassEnvironment(assistantFactory, defaultClass, globals);
  
  		try
  		{
  			typeCheck(expr, env);
  		} catch (VDMErrorsException e)
  		{
  			// We don't care... we just needed to type check it.
  		}
  
  		ctxt.threadState.init();
  		try
  		{
  			return expr.apply(VdmRuntime.getExpressionEvaluator(), ctxt);
  		} catch (Exception e)
  		{
  			throw e;
  		}
  	}
docs: Parse the line passed, and evaluate it as an expression in the context passed.
  
  @param line
  A VDM expression.
  @param ctxt
  The context in which to evaluate the expression.
  @return The value of the expression.
  @throws Exception
  Parser or runtime errors.