protected function validateValue($value, $definition)
    {
        try {
            return $definition->getValidator()->validate($value);
        } catch (\Exception $e) {
            throw new \Exception(sprintf('[%s] %s', $definition->getName(), $e->getMessage()));
        }
    }