value = (AtomicValue) i.nextItem();
item = i.nextItem(); value = item.atomize();
	public Sequence eval(Sequence contextSequence, Item contextItem)		throws XPathException {		if (contextItem != null)			contextSequence = contextItem.toSequence();//		long start = System.currentTimeMillis();		Sequence values = getArgument(0).eval(contextSequence);		TreeSet set = new TreeSet(new ValueComparator(context.getCollator(null)));		ValueSequence result = new ValueSequence();		AtomicValue value;		for (SequenceIterator i = values.iterate(); i.hasNext();) {			value = (AtomicValue) i.nextItem();			if (!set.contains(value)) {				set.add(value);				result.add(value);			}		}//		LOG.debug(//			"distinct-values found "//				+ result.getLength()//				+ " in "//				+ (System.currentTimeMillis() - start));		return result;	}