public IEnumerable <object> Map(HttpListenerRequest request)
        {
            if (_map == null)
            {
                _map = BuildMap(_source, _destination, request.Headers, _skipNumberOfDestinationArguments);
            }

            var argumentValues = new List <object>();

            foreach (var argumentVsParameter in _map)
            {
                object parameterValue = _source.GetParameterValue(request, argumentVsParameter.Key, argumentVsParameter.Value.Name, argumentVsParameter.Value.Location);
                argumentValues.Add(parameterValue);
            }

            return(argumentValues);
        }