The above code is missing some white spaces.
```php
        return $router->generate(
            $options['route'],
            array_merge(
                isset($this->additional_parameters[$dataSource->getName()])
                    ? $this->additional_parameters[$dataSource->getName()]
                    : array(),
                isset($options['additional_parameters'])
                    ? $options['additional_parameters']
                    :array(),
                $parameters
            )
        );
```
looks better imho. 
Anyway dont you think that additional parameters passed by datasource_route are more important that default ones?