if (null == m_template) { m_template = this.getStylesheetRoot().getTemplateComposed(m_templateName); }
  public void execute(          TransformerImpl transformer, Node sourceNode, QName mode)            throws TransformerException  {    if (TransformerImpl.S_DEBUG)      transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);    if (null == m_template)    {      m_template =        this.getStylesheetRoot().getTemplateComposed(m_templateName);    }    if (null != m_template)    {      XPathContext xctxt = transformer.getXPathContext();      VariableStack vars = xctxt.getVarStack();      int savedSearchStart = vars.getSearchStart();      if (null != m_paramElems)        transformer.pushParams(xctxt, this, sourceNode, mode);      else        vars.pushContextMarker();            vars.setSearchStart(-1);      SourceLocator savedLocator = xctxt.getSAXLocator();      try      {        xctxt.setSAXLocator(m_template);        // template.executeChildTemplates(transformer, sourceNode, mode);        transformer.pushElemTemplateElement(m_template);        m_template.execute(transformer, sourceNode, mode);      }      finally      {        transformer.popElemTemplateElement();        xctxt.setSAXLocator(savedLocator);        vars.popCurrentContext();        vars.setSearchStart(savedSearchStart);      }    }    else    {      transformer.getMsgMgr().error(this, XSLTErrorResources.ER_TEMPLATE_NOT_FOUND,                                    new Object[]{ m_templateName });  //"Could not find template named: '"+templateName+"'");    }  }