String source; source=""; Map substitutions = m_action.act(redirector, resolver, objectModel, source, parameters);
m_src = m_varResolver.resolve(context,objectModel);  Map substitutions = m_action.act(redirector, resolver, objectModel, m_src, parameters);
    public String locate(Map objectModel, InvokeContext context) throws Exception {        Parameters parameters = resolveParameters(context,objectModel);        Redirector redirector = context.getRedirector();        String source;        source="";        Map substitutions = m_action.act(redirector, resolver, objectModel, source, parameters);        if (substitutions != null) {            if (getLogger().isDebugEnabled()) {             //   getLogger().debug("matched: " + m_pattern);            }            context.pushMap(null,substitutions);            for (int i = 0; i < m_nodes.length; i++) {                String location = m_nodes[i].locate(objectModel,context);                if (location != null) {                    return location;                }            }            context.popMap();        }        return null;    }