code: private Map<String, Object> extractBoundValues(final Rewrite event, final EvaluationContext context,
              Transposition<String> transposition)
     {
        Map<String, Object> result = new LinkedHashMap<String, Object>();
  
        for (RegexGroup group : groups)
        {
           Parameter<?> parameter = store.get(group.getName());
           Object value = null;
  
           // TODO TEST ME!!!
           if (context.getState().isEvaluating())
              value = ((ParameterValueStore) context.get(ParameterValueStore.class)).retrieve(parameter);
  
           if (value == null || context.getState().isPerforming())
           {
              Object retrieved = ParameterUtils.performRetrieval(event, context, parameter);
              if (retrieved != null)
                 value = retrieved;
           }
  
           if (value == null)
              throw new ParameterizationException("The value of required parameter [" + group.getName() + "] was null.");
  
           if (transposition != null)
              value = transposition.transpose(event, context, value.toString());
  
           result.put(group.getName(), value);
        }
        return result;
     }
docs: Extract bound values from configured {@link Binding} instances. Return a {@link Map} of the extracted key-value
  pairs. Before storing the values in the map, this method applies the supplied {@link Transposition} instance.