code: private Status executeSwitch(Stmt.Switch stmt, CallStack frame, EnclosingScope scope) {
  		Tuple<Stmt.Case> cases = stmt.getCases();
  		//
  		Object value = executeExpression(ANY_T, stmt.getCondition(), frame);
  		for (int i = 0; i != cases.size(); ++i) {
  			Stmt.Case c = cases.get(i);
  			Stmt.Block body = c.getBlock();
  			if (c.isDefault()) {
  				return executeBlock(body, frame, scope);
  			} else {
  				// FIXME: this is a temporary hack until a proper notion of
  				// ConstantExpr is introduced.
  				RValue[] values = executeExpressions(c.getConditions(), frame);
  				for (RValue v : values) {
  					if (v.equals(value)) {
  						return executeBlock(body, frame, scope);
  					}
  				}
  			}
  		}
  		return Status.NEXT;
  	}
docs: Execute a Switch statement at a given point in the function or method
  body
  
  @param stmt
  --- The swithc statement to execute
  @param frame
  --- The current stack frame
  @return