/**
  * @param Organization $organization
  * @param Constraint $constraint
  */
 public function validate($organization, Constraint $constraint)
 {
     if (!$organization->getSectorIdentifierUri()) {
         return;
     }
     $sectorIdentifierUri = $organization->getSectorIdentifierUri();
     $domain = $organization->getDomain();
     $uri = parse_url($sectorIdentifierUri);
     if ($uri['host'] !== $domain) {
         $this->buildUrlViolation('organizations.validation.error.invalid_domain');
     }
 }
 private function getOrganization(ClientMetadata $metadata = null)
 {
     if ($metadata === null) {
         return null;
     }
     if ($metadata->getOrganization() === null && $metadata->getSectorIdentifierUri()) {
         $sectorIdentifierUri = $metadata->getSectorIdentifierUri();
         try {
             $verified = $this->getSectorIdentifierUriChecker()->check($metadata, $sectorIdentifierUri);
         } catch (HttpException $e) {
             $verified = false;
         }
         $uri = parse_url($sectorIdentifierUri);
         $domain = $uri['host'];
         $organization = new Organization();
         $organization->setDomain($domain)->setName($domain)->setTrusted(false)->setVerifiedAt($verified ? new \DateTime() : null);
         return $organization;
     }
     return $metadata->getOrganization();
 }