anchor.diff:  
   == A First Simple Scenario
   
  -Now that we have learned about the basic classes and concepts of this library, we'll put our knowledge to use and start building URI action mapper trees. We will start small and begin with the simplest possible mapper tree.
  +Now that we have learned about the basic classes and concepts of this library, we'll put our knowledge to use and start building URI action mapper trees. We will start small and construct the simplest possible mapper tree.
   
   In this section, we will build a mapper tree which is able to handle the following URI fragment:
   
       #!helloWorld
       
  -When the user visits this fragment, we want to print `Hello World!` to the console. To do this, we need two things: we have to define an action class and the URI action mapper tree which can resolves this URI fragment to this action class.
  +When the user visits this fragment, we want to print `Hello World!` to the console. To do this, we need two things: we have to define an action class and the URI action mapper tree which can resolve this URI fragment to this action class.
   
   Let's first define the action class:
   
  
positive.code: 
      ["4711", "myFirstBlogPost"]
  
  This parameter is managed by the regex action mapper but is used in the exact same way as described in the previous sections. In fact, if you want to assemble a URI fragment for an action mapper with a regex action mapper as one of its parent mappers, you have to provide a parameter value for this internal URI fragment parameter in a `CapturedParameterValues` object.
  
  In order to be able to convert a URI path segment into a list of Strings using a regular expression, we have to provide a class which derives from `AbstractRegexToStringListParameterValueConverter`. This class expects the regular expression to be used as its only constructor argument. In our subclass we have to implement method `convertToString(List<String> value)` inherited from `ParameterValueConverter`. In this method, we need to convert the given list of Strings in such a way that the resulting String can be converted into the exact same String list by using the given regular expression.
  
  Let's look at the implementation for this converter class which will use the regular expression from the example above.
  
  [source,java]
  ----
  
negative.code: 
  These setter methods need to be public and must have exactly one argument of type `ParameterValue` with its class type set to the type of the requested URI fragment parameter. In this example, the parameter's generic type is `Point2D.Double`.
  
  === Working with Extracted Parameter Values [[parameter-value]]
  
  Let us now take a closer look at the class which wraps a concrete URI fragment parameter value: `org.roklib.urifragmentrouting.parameter.value.ParameterValue<V>`. You can obtain the parameter value itself from this class with method `getValue()`. Before you do that, it is recommended to first check if a concrete value is available at all. You can do this with method `hasValue()`. It may happen that the URI fragment interpretation process is not able to extract a valid parameter value from the currently interpreted URI fragment. This may be the case, for example, when a non-optional parameter value could not be found in the URI fragment or if a parameter value could not be successfully converted into the parameter's data type (i. e., a `ParameterValueConversionException` is thrown). If this is the case, the `ParameterValue` object is not able to provide a valid parameter value. Instead, it contains an error indicator represented by the enum `org.roklib.urifragmentrouting.parameter.UriParameterError`. This enum has three values:
  
  * `NO_ERROR`: is assumed when the `ParameterValue` object contains a valid parameter value.
  * `PARAMETER_NOT_FOUND`: indicates that a required parameter could not be found in the currently interpreted URI fragment.
  * `CONVERSION_ERROR`:  indicates that the parameter value extracted from the URI fragment could not be successfully converted into the target data type, i. e., a `ParameterValueConversionException` has been thrown from the corresponding converter.
  
  We can use method `ParameterValue#hasError()` to inquire whether the parameter value object is erroneous. If this method returns `true` we can query whether the error is either `PARAMETER_NOT_FOUND` or `CONVERSION_ERROR` with `ParameterValue#getError()`. A typical blueprint for a method processing a URI fragment parameter value in an action command looks like the following example:
  
  