code: protected function validateIdentity(SaleInterface $sale, Constraint $constraint)
      {
          /** @var Sale $constraint */
          if (null === $sale->getCustomer()) {
              if (null === $sale->getCustomerGroup()) {
                  $this->context
                      ->buildViolation($constraint->customer_group_is_required_if_no_customer)
                      ->atPath('customerGroup')
                      ->addViolation();
              }
              if (0 == strlen($sale->getEmail())) {
                  $this->context
                      ->buildViolation($constraint->email_is_required_if_no_customer)
                      ->atPath('email')
                      ->addViolation();
              }
  
              IdentityValidator::validateIdentity($this->context, $sale);
          }
      }
docs: Validates the sale identity.
  
  @param SaleInterface $sale
  @param Constraint    $constraint