public function __construct($config = [])
{
if (!empty($config['map'])) {
if (!is_array($config['map'])) {
throw new InvalidConfigException('The map must be an array');
}
$this->_map = $config['map'];
unset($config['map']);
} else {
throw new InvalidConfigException('missing map');
}
parent::__construct($config);
}