private MultiArgFunctionNode toSubNode(Iterable<GroupingExpression> lst) {
        MultiArgFunctionNode ret = new AddFunctionNode();
        int i = 0;
        for (GroupingExpression exp : lst) {
            ExpressionNode node = toExpressionNode(exp);
            if (++i > 1) {
                node = new NegateFunctionNode(node);
            }
            ret.addArg(node);
        }
        return ret;
    }
Converts the given ast type grouping expression to a corresponding back-end type expression.

@param exp The expression to convert.
@return The corresponding back-end expression.
@throws IllegalInputException Thrown if the given expression could not be converted.
container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java