/**
  * {@inheritdoc}
  */
 public function validate($value, Constraint $constraint)
 {
     /* @var OwnOrAdminConstraintInterface $constraint */
     $account = $constraint->getAccount();
     if ($value == $account->id()) {
         // No violation if the user is the same as the provided one.
         return NULL;
     }
     if ($account->hasPermission($constraint->getPermission())) {
         // No violation if the current user has admin rights.
         return NULL;
     }
     $this->context->addViolation($constraint->message, ['@permission' => $constraint->getPermission()]);
 }