code: @Override
  	public Value caseACasesExp(ACasesExp node, Context ctxt)
  			throws AnalysisException
  	{
  		BreakpointManager.getBreakpoint(node).check(node.getLocation(), ctxt);
  
  		Value val = node.getExpression().apply(VdmRuntime.getExpressionEvaluator(), ctxt);
  
  		for (ACaseAlternative c : node.getCases())
  		{
  			Value rv = eval(c, val, ctxt);
  			if (rv != null)
  			{
  				return rv;
  			}
  		}
  
  		if (node.getOthers() != null)
  		{
  			return node.getOthers().apply(VdmRuntime.getExpressionEvaluator(), ctxt);
  		}
  
  		return VdmRuntimeError.abort(node.getLocation(), 4004, "No cases apply for "
  				+ val, ctxt);
  	}
docs: /*
  Binary expressions are in the base class