public IAction find(String url, IContext context) {
		IAction action = _actions.get(url);
		if (null != action)
			return action;
		Pattern p;
		for (IAction anAction : _actions.values()) {
			p = Pattern.compile(anAction.getRoute());
			Matcher m = p.matcher(url);
			if (m.find()) {
				String[] groupsName = anAction.getRewriteGroups();
				if (null != groupsName)
				   for (int i=1; i<=groupsName.length && i<=m.groupCount(); i++)
					context.setParameter(groupsName[i-1], m.group(i));
				return anAction;
			}
		}
		return null;
	}