private function processFieldValues(ValuesBag $values, $fieldName, array &$inclusiveSqlGroup, array &$exclusiveSqlGroup)
 {
     $this->processSingleValues($values->getSingleValues(), $fieldName, $inclusiveSqlGroup);
     $this->processRanges($values->getRanges(), $fieldName, $inclusiveSqlGroup);
     $this->processCompares($values->getComparisons(), $fieldName, $inclusiveSqlGroup);
     $this->processPatternMatchers($values->getPatternMatchers(), $fieldName, $inclusiveSqlGroup);
     $this->processSingleValues($values->getExcludedValues(), $fieldName, $exclusiveSqlGroup, true);
     $this->processRanges($values->getExcludedRanges(), $fieldName, $exclusiveSqlGroup, true);
     $this->processPatternMatchers($values->getPatternMatchers(), $fieldName, $exclusiveSqlGroup, true);
     $this->processCompares($values->getComparisons(), $fieldName, $exclusiveSqlGroup, true);
 }
 /**
  * @param mixed                   $value
  * @param string                  $viewValue
  * @param Constraint[]|Constraint $constraints
  * @param string                  $subPath
  * @param ValuesBag               $valuesBag
  * @param string[]                $validationGroups
  */
 private function validateValue($value, $viewValue, $constraints, $subPath, ValuesBag $valuesBag, $validationGroups = null)
 {
     if ($this->validator instanceof LegacyValidator) {
         $violations = $this->validator->validateValue($value, $constraints, $validationGroups);
     } else {
         $violations = $this->validator->validate($value, $constraints, $validationGroups);
     }
     foreach ($violations as $violation) {
         $valuesBag->addError($this->createError($violation, $viewValue, $subPath));
     }
 }