{
  void doApply(Stylesheet stylesheet, QName mode,             Node context, int pos, int len,             Node parent, Node nextSibling)    throws TransformerException  {        // push the variable context    stylesheet.bindings.push(type);        // set the variable        Object value = getValue(stylesheet, mode, context, pos, len);        if (value != null)          {        stylesheet.bindings.set(name, value, type);        if (stylesheet.debug)          {            System.err.println(this + ": set to " + value);          }      }    // variable and param don't process children as such    // all subsequent instructions are processed with that variable context    if (next != null)      {        next.apply(stylesheet, mode,                   context, pos, len,                   parent, nextSibling);      }        // pop the variable context    stylesheet.bindings.pop(type);  }