protected function buildSubObjectValidator(array $objectPath, ValidatorInterface $propertyValidator)
{
$rootObjectValidator = new GenericObjectValidator([]);
$parentObjectValidator = $rootObjectValidator;
while (count($objectPath) > 1) {
$subObjectValidator = new GenericObjectValidator([]);
$subPropertyName = array_shift($objectPath);
$parentObjectValidator->addPropertyValidator($subPropertyName, $subObjectValidator);
$parentObjectValidator = $subObjectValidator;
}
$parentObjectValidator->addPropertyValidator(array_shift($objectPath), $propertyValidator);
return $rootObjectValidator;
}