} else {
if (kids.next() == null) {
// there is exactly one child node
if (first.getNodeKind() == Type.TEXT) {
// it is a text node: optimize for this case
select = new StringValue(first.getStringValue());
//} else if (first instanceof XSLValueOf) {
// // it is an xsl:value-of instruction: optimize this case
// // *** optimization removed: it doesn't handle value-of with separator, type conversion,
// etc.
// XSLValueOf v = (XSLValueOf)first;