protected Sequence callFunctionWithSequenceArgs(final Sequence[] args) {
        final T xsltFunction = getXsltFunction();
        final List<PipelineReference> pipelineReferences = getPipelineReferences();
        xsltFunction.configure(mockErrorReceiver, mockLocationFactory, pipelineReferences);

        final String functionName = getFunctionName();
        LOGGER.debug("Calling {} with args: {}", functionName, args);
        final Sequence sequence;
        try {
            sequence = xsltFunction.call(functionName, mockXPathContext, args);
        } catch (XPathException e) {
            throw new RuntimeException(
                    "Error calling function " + functionName + ": " + e.getMessage(), e);
        }

        LOGGER.debug("Result type: {}, value: '{}'",
                NullSafe.toString(
                        sequence,
                        sequence2 -> sequence2.getClass().getSimpleName()),
                getAsStringValue(sequence).orElse("EMPTY"));
        return sequence;
    }
Call the function with simple java objects as arguments. These will be converted
to a Sequence[]

@param args
@return
@throws XPathException
stroom-pipeline/src/test/java/stroom/pipeline/xsltfunctions/AbstractXsltFunctionTest.java