}*/
}
  void doApply(Stylesheet stylesheet, QName mode,             Node context, int pos, int len,             Node parent, Node nextSibling)    throws TransformerException  {    Object ret = select.evaluate(context, pos, len);    String value;    if (ret instanceof Collection)      {        StringBuffer buf = new StringBuffer();        for (Iterator i = ((Collection) ret).iterator(); i.hasNext(); )          {            Node node = (Node) i.next();            buf.append(Expr.stringValue(node));          }        value = buf.toString();      }    else      {        value = Expr._string(context, ret);      }    /*if (stylesheet.debug)      {        System.err.println("value-of: "+context+" "+ select + " -> "+ value);      }*/    if (value != null && value.length() > 0)      {        Document doc = (parent instanceof Document) ?          (Document) parent : parent.getOwnerDocument();        Text textNode = doc.createTextNode(value);        if (disableOutputEscaping)          {            textNode.setUserData("disable-output-escaping", "yes", stylesheet);          }        if (nextSibling != null)          {            parent.insertBefore(textNode, nextSibling);          }        else          {            parent.appendChild(textNode);          }      }    // value-of doesn't process children    if (next != null)      {        next.apply(stylesheet, mode,                   context, pos, len,                   parent, nextSibling);      }  }