protected function _normalizeConfig(&$config, $alias, $parent)
{
unset($parent['providers']);
$defaults = ['className' => null, 'options' => [], 'collaborators' => [], 'mapFields' => []] + $parent + $this->_defaultConfig;
$config = array_intersect_key($config, $defaults);
$config += $defaults;
array_walk($config, [$this, '_validateConfig']);
foreach (['options', 'collaborators'] as $key) {
if (empty($parent[$key]) || empty($config[$key])) {
continue;
}
$config[$key] = array_merge($parent[$key], $config[$key]);
}
}