if (arguments.length == 1) {
        n = c.contextNode;
    } else if (arguments.length == 2) {
        n = arguments[1].evaluate(c).first();
    } else {