@SuppressWarnings("unchecked")
    private void configureUrlMapping(UrlMapping urlMapping) {
      if (binding != null) {
        Map<String, Object> vars = binding.getVariables();
        for (String key : vars.keySet()) {
          if (isNotCoreMappingKey(key)) {
            parameterValues.put(key, vars.get(key));
          }
        }

        binding.getVariables().clear();
      }

      // Add the controller and action to the params map if
      // they are set. This ensures consistency of behaviour
      // for the application, i.e. "controller" and "action"
      // parameters will always be available to it.
      if (urlMapping.getControllerName() != null) {
        parameterValues.put("controller", urlMapping.getControllerName());
      }
      if (urlMapping.getActionName() != null) {
        parameterValues.put("action", urlMapping.getActionName());
      }

      urlMapping.setParameterValues(parameterValues);
      urlMappings.add(urlMapping);
    }