code: @Override
  	public Element execute(Context context) {
  
  		try {
  			Element[] args = calculateArgs(context);
  			Property a = (Property) args[0];
  			Property b = (Property) args[1];
  			return execute(sourceRange, a, b);
  		} catch (ClassCastException cce) {
  			throw new EvaluationException(MessageUtils
  					.format(MSG_INVALID_ARGS_ADD), sourceRange);
  		}
  	}
docs: Perform the addition of the two top values on the data stack in the given
  DMLContext. This method will handle long, double, and string values.
  Exceptions are thrown if the types of the arguments do not match or they
  are another type.