protected function getGranularity($name)
 {
     $granularities = Configuration::getGranularities();
     if (!array_key_exists($name, $granularities)) {
         throw new \InvalidArgumentException(sprintf('Unknown granularity: `%s`. There are these: `%s`', $name, implode('`, `', array_keys($granularities))));
     }
     return $granularities[$name];
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     $configuration = new Configuration();
     $config = $this->processConfiguration($configuration, $configs);
     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
     $loader->load('services.yml');
     if (!array_key_exists('default_granularity', $config)) {
         throw new InvalidConfigurationException('The `default_granularity` is required!');
     }
     $granularities = Configuration::getGranularities();
     foreach ($granularities as $key => $value) {
         $name = sprintf('webtown_php_fine_diff.granularity.%s', $key);
         $container->setParameter($name, $value);
     }
     $granularity = $granularities[$config['default_granularity']];
     $container->setParameter('webtown_php_fine_diff.default_granularity', $granularity);
     $definition = $container->getDefinition('webtown_php_fine_diff.twig.extension');
     $definition->replaceArgument(0, $granularity);
 }