/**
* Evaluate the function to return an iteration of selected values or nodes.
*/
public SequenceIterator iterate(XPathContext context) throws XPathException {
AtomicComparer comp = atomicComparer;
if (comp == null) {
int type = argument[0].getItemType(context.getConfiguration().getTypeHierarchy()).getPrimitiveType();
comp = makeAtomicSortComparer(type, context);
} else {
comp = comp.provideContext(context);
}
SequenceIterator iter = argument[0].iterate(context);
return new DistinctIterator(iter, comp);
}