XQueryExpression.run allows the outputProperties actual
parameter to be null, applying reasonable defaults in
that case. But XQueryExpression.pull does not; a
A workaround is to allocate, fill in, and pass a
Properties object, but this will override output
properties specified in the query.
A better workaround is to call newController() on the
XQueryExpression, and getOutputProperties() on the
Controller, which returns the properties as tailored
by the query (and is essentially what run() does when
outputProperties is null). But that is fiddly enough
that it would be nice if pull behaved as run does.