anchor.diff:  values.setValueFor("products", "id", ParameterValue.forValue(4711));
   
   String uriFragment = mapperTree.assembleUriFragment(values, mappers.get("details"));
  -// yields 'products/id/4711/details'
  -----
  -
  -Adding a value to a `CapturedParameterValues` object is done with method `setValueFor()`. We have to pass this method the name of the action mapper for which the targeted URI fragment parameter is registered as the first argument. The second argument is the identifier of the target parameter. Lastly, we pass the desired parameter value as an object of class `ParameterValue`.
  +// yields products/id/4711/details
  +----
  +
  +Adding a value to a `CapturedParameterValues` object is done with method `setValueFor()`. We have to pass this method the name of the action mapper, for which the targeted URI fragment parameter is registered, as the first argument. The second argument is the identifier of the target parameter. Lastly, we pass the desired parameter value as an object of class `ParameterValue`.
   
   `ParameterValue` does not have any publicly visible constructors. It provides a number of factory methods which create correctly configured `ParameterValue` objects. Using `forValue()`, you can create parameter values which contain a valid domain object and do not indicate a `UriParameterError`.
   
  
positive.code: System.out.println(mapperTree.assembleUriFragment(values, mappers.get("helloWorld")));       
  ----
  
  Example will print the following URI fragment to the console:
  
      helloWorld/msg/some%252Fvalue%252F100%2525
  
  
negative.code: 
      #!admin/users
      #!admin/groups
      
  Before we can actually interpret these fragments, we first need to add the dispatching mapper `admin` to an action mapper tree. We can do this by obtaining a reference to the _root action mapper_ of the mapper tree and then add the dispatching action mapper to it:
  
  [source,java]
  ----
  