code: public void execute(TransformerImpl transformer) throws TransformerException
    {
      VariableStack vars = transformer.getXPathContext().getVarStack();
      
      if(!vars.isLocalSet(m_index))
      {
  
        int sourceNode = transformer.getXPathContext().getCurrentNode();
        XObject var = getValue(transformer, sourceNode);
    
        // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var);
        transformer.getXPathContext().getVarStack().setLocalVariable(m_index, var);
      }
    }
docs: Execute a variable declaration and push it onto the variable stack.
  @see <a href="http://www.w3.org/TR/xslt#variables">variables in XSLT Specification</a>
  
  @param transformer non-null reference to the the current transform-time state.
  
  @throws TransformerException