m_baseLocation = VariableResolverFactory.getResolver(base, new WrapperComponentManager(super.m_manager));
m_baseLocation = VariableResolverFactory.getResolver(base, super.m_manager);
    public void build(final Configuration configuration) throws ConfigurationException {    	    	super.build(configuration);        // get the base attribute        String base = configuration.getAttribute("base", null);        if (base != null) {            try {                m_baseLocation = VariableResolverFactory.getResolver(base, new WrapperComponentManager(super.m_manager));            } catch (PatternException e) {                final String message = "Illegal pattern syntax for locator attribute 'base'" +                		" at " + configuration.getLocation();                throw new ConfigurationException(message);            }        }                // get the child nodes        final Configuration[] children = configuration.getChildren();        final List nodes = new ArrayList(children.length);        for (int i = 0; i < children.length; i++) {            AbstractNode node = null;            if (children[i].getName().equals("match")) {                node = new MatchNode(this, super.m_manager);            }            else if (children[i].getName().equals("select")) {                node = new SelectNode(this, super.m_manager);            }            else {                final String message = "Illegal locator node child: "                     + children[i].getName();                throw new ConfigurationException(message);            }            node.enableLogging(getLogger());            node.build(children[i]);            nodes.add(node);        }        m_nodes = (AbstractNode[]) nodes.toArray(new AbstractNode[nodes.size()]);    }