public function configure(array $configuration = null)
{
if (null === $configuration) {
$this->config = self::$defaultConfig;
return;
}
$configuration = array_merge(self::$defaultConfig, $configuration);
foreach ($configuration as $item => $value) {
if (!array_key_exists($item, self::$defaultConfig)) {
throw new InvalidFixerConfigurationException('class_definition', sprintf('Unknown configuration item "%s", expected any of "%s".', $item, implode(', ', array_keys(self::$defaultConfig))));
}
if (!is_bool($value)) {
throw new InvalidFixerConfigurationException('class_definition', sprintf('Configuration value for item "%s" must be a bool, got "%s".', $item, is_object($value) ? get_class($value) : gettype($value)));
}
}
$this->config = $configuration;
}