protected function setGroup($group)
 {
     $this->group = $group;
     switch ($this->getApiVersion()) {
         case Validation::API_VERSION_2_4:
             $this->context = $this->createContext();
             $this->validator->initialize($this->context);
             break;
         case Validation::API_VERSION_2_5:
         case Validation::API_VERSION_2_5_BC:
             $this->context->setGroup($group);
             break;
     }
 }
 /**
  * Validates a node's value against all constraints in the given group.
  *
  * @param mixed                     $value      The validated value
  * @param string                    $cacheKey   The key for caching the
  *                                              validated value
  * @param MetadataInterface         $metadata   The metadata of the value
  * @param string                    $group      The group to validate
  * @param ExecutionContextInterface $context    The execution context
  */
 private function validateInGroup($value, $cacheKey, MetadataInterface $metadata, $group, ExecutionContextInterface $context)
 {
     $context->setGroup($group);
     foreach ($metadata->findConstraints($group) as $constraint) {
         // Prevent duplicate validation of constraints, in the case
         // that constraints belong to multiple validated groups
         if (null !== $cacheKey) {
             $constraintHash = spl_object_hash($constraint);
             if ($context->isConstraintValidated($cacheKey, $constraintHash)) {
                 continue;
             }
             $context->markConstraintAsValidated($cacheKey, $constraintHash);
         }
         $context->setConstraint($constraint);
         $validator = $this->validatorFactory->getInstance($constraint);
         $validator->initialize($context);
         $validator->validate($value, $constraint);
     }
 }
 protected function setGroup($group)
 {
     $this->group = $group;
     $this->context->setGroup($group);
 }