private function getResourceLinks(EntityResource $resource)
 {
     $links = [];
     foreach ($this->resource->getMetadata()->relationships->toOne as $relationship => $relation) {
         $entity = $this->resource->callGetter($relationship);
         EntityResource::validateToOneRelation($entity, $relationship);
         $links[$relationship] = $this->securityContext->isGranted(static::ACCESS_VIEW, $entity) ? EntityResource::getStringId($entity) : NULL;
     }
     foreach ($this->resource->getMetadata()->relationships->toMany as $relationship => $relation) {
         $collection = $this->resource->callGetter($relationship);
         $collection = EntityResource::normalizeToManyRelation($collection, $relationship);
         $links[$relationship] = [];
         foreach ($collection as $entity) {
             if (!$this->securityContext->isGranted(static::ACCESS_VIEW, $entity)) {
                 continue;
             }
             $links[$relationship][] = EntityResource::getStringId($entity);
         }
     }
     return $links;
 }
 /**
  * @param ResourceCollectionInterface $resources
  * @param $relationshipName
  * @param LinkedResourcesSerialization $resourcesSerialization
  * @param array &$linkedResources
  */
 private function processToOneRelationship(ResourceCollectionInterface $resources, $relationshipName, array &$linkedResources, LinkedResourcesSerialization $resourcesSerialization)
 {
     foreach ($resources as $resource) {
         if ($resource->isRelationshipBlacklisted($relationshipName)) {
             $message = sprintf(self::ERROR_UNKOWN_RELATIONSHIP, $relationshipName);
             throw new InvalidRelationshipException($message);
         }
         $relationship = $resource->getMetadata()->relationships->toOne[$relationshipName];
         // @todo Refactorizar; la siguiente línea es un hack.
         $entity = $resource->callGetter($relationshipName);
         EntityResource::validateToOneRelation($entity, $relationshipName);
         if (is_null($entity)) {
             continue;
         }
         $this->addLinkedResource($relationship, $entity, $resourcesSerialization);
         $linkedResource = $resourcesSerialization->getLinkedResource($relationship->type, EntityResource::getStringId($entity));
         if (!empty($linkedResource)) {
             $linkedResources[] = $linkedResource;
         }
     }
 }