/**
  * Checks if the passed value is valid.
  *
  * @param AbstractProductProcessor $value      The value that should be validated
  * @param Constraint               $constraint The constraint for the validation
  *
  * @api
  */
 public function validate($value, Constraint $constraint)
 {
     if (!$value instanceof AbstractProductProcessor) {
         return null;
     }
     if ($channel = $this->channelManager->getChannelByCode($value->getChannel())) {
         foreach ($channel->getCurrencies() as $currency) {
             if ($currency->getCode() === $value->getCurrency()) {
                 return null;
             }
         }
     }
     $this->context->addViolationAt('currency', $constraint->message, ['currency']);
 }