if (contextItem != null) contextSequence = contextItem.toSequence();
	public Sequence eval(Sequence contextSequence, Item contextItem)		throws XPathException {		Sequence arg = getArgument(0).eval(contextSequence, contextItem);		if (arg.getLength() == 0)			return Sequence.EMPTY_SEQUENCE;		Collator collator = getCollator(contextSequence, contextItem, 2);		SequenceIterator iter = arg.iterate();		Item nextItem;		AtomicValue nextValue;		nextItem = iter.nextItem();		nextValue = nextItem.atomize();		AtomicValue min = nextValue;		while (iter.hasNext()) {			nextItem = iter.nextItem();			nextValue = nextItem.atomize();			if (nextValue.getType() == Type.ATOMIC)				nextValue = nextValue.convertTo(Type.DOUBLE);			if (Type.subTypeOf(nextValue.getType(), Type.NUMBER)				&& ((NumericValue) nextValue).isNaN())				return DoubleValue.NaN;			min = min.min(collator, nextValue);		}//		TODO : return a ComputableValue ?		return min;	}