/**
  * @param mixed               $object
  * @param AssociationMetadata $associationMetadata
  *
  * @return array The resource identifier
  */
 protected function processRelatedObject($object, AssociationMetadata $associationMetadata)
 {
     $targetMetadata = $associationMetadata->getTargetMetadata();
     $preparedValue = $this->prepareRelatedValue($object, $associationMetadata->getTargetClassName(), $targetMetadata);
     if ($preparedValue['idOnly']) {
         $resourceId = $this->getResourceIdObject($preparedValue['entityType'], $this->entityIdTransformer->transform($preparedValue['value']));
     } else {
         $resourceId = $this->getResourceIdObject($preparedValue['entityType'], $this->entityIdAccessor->getEntityId($preparedValue['value'], $targetMetadata));
         $this->addRelatedObject($preparedValue['value'], $targetMetadata);
     }
     return $resourceId;
 }