protected function addValidatorValidation(ArrayNodeDefinition $node)
    {
        $node->validate()
            ->ifTrue(function ($value) {
                if (!is_array($value)) {
                    return true;
                }

                // All key must be string. Used as alias for the validator service
                if (count(array_filter(array_keys($value), 'is_string')) != count($value)) {
                    return true;
                }

                // All value must be array. Used as configuration for validator
                if (count(array_filter(array_values($value), 'is_array')) != count($value)) {
                    return true;
                }

                return false;
            })
            ->thenInvalid('Invalid validators configuration')
        ->end();
    }