final Set<DocumentImpl> visitedDocs = new TreeSet<DocumentImpl>();
for (final SequenceIterator i = seq.iterate(); i.hasNext();) {
final NodeImpl v = (NodeImpl) i.nextItem();
final DocumentImpl doc = v.getDocument();
if (!visitedDocs.contains(doc)) {
final NodeImpl elem = doc.selectById(id);
if (elem != null)
{result.add(elem);}
visitedDocs.add(doc);
}
}