{context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence);}
if (contextItem != null)
{context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence());}
}
Sequence result;
final Sequence seq = getArgument(0).eval(contextSequence, contextItem);
if(seq.isEmpty())
{result = Sequence.EMPTY_SEQUENCE;}
else {
final Item item = seq.itemAt(0);
if (!Type.subTypeOf(item.getType(), Type.NODE))
{throw new XPathException(this, ErrorCodes.XPTY0004, "item is not a node; got '" + Type.getTypeName(item.getType()) + "'");}
//TODO : how to improve performance ?
final Node n = ((NodeValue)item).getNode();
//Returns an expanded-QName for node kinds that can have names.