public function configure(array $configuration = null)
{
if (null === $configuration) {
$this->configuration = self::$defaultConfiguration;
return;
}
foreach ($configuration as $name => $value) {
if (!array_key_exists($name, self::$defaultConfiguration)) {
throw new InvalidFixerConfigurationException($this->getName(), sprintf('Unknown configuration option "%s". Expected any of "%s".', $name, implode('", "', array_keys(self::$defaultConfiguration))));
}
if (null !== $value && !is_bool($value)) {
throw new InvalidFixerConfigurationException($this->getName(), sprintf('Invalid value type for configuration option "%s". Expected "bool" or "null" got "%s".', $name, is_object($value) ? get_class($value) : gettype($value)));
}
}
$this->configuration = array_merge(self::$defaultConfiguration, $configuration);
}