@Override
 public T runAggregateFunction(T value1, T value2) {
   ValueExpression<T> ve1 = new ValueSpecification<T>(_wrapper, value1);
   ValueExpression<T> ve2 = new ValueSpecification<T>(_wrapper, value2);
   Addition<T> result = new Addition<T>(ve1, ve2);
   return result.eval(null);
 }
 // actual operator implementation
 @Override
 public T runAggregateFunction(T value, List<String> tuple) {
   ValueExpression<T> base = new ValueSpecification<T>(_wrapper, value);
   Addition<T> result = new Addition<T>(base, _ve);
   return result.eval(tuple);
 }