/**
  * @param array $entities Entities
  *
  * @return array
  */
 private function buildCustomEntitiesMap(array $entities)
 {
     $map = [];
     foreach ($entities as $entity) {
         $entityClass = ClassUtils::getClass($entity);
         $objectHash = spl_object_hash($entity);
         foreach ($this->getCustomObjectMeta($entityClass) as $targetProperty => $params) {
             $initPropertyValue = $this->getPropertyValue($entity, $params['initPropertyValuePath']);
             if (empty($initPropertyValue)) {
                 continue;
             }
             if (!isset($map[$entityClass])) {
                 $map[$entityClass] = [];
             }
             if (!isset($map[$entityClass][$objectHash])) {
                 $map[$entityClass][$objectHash] = [];
             }
             $map[$entityClass][$objectHash][$targetProperty] = ['class' => !empty($params['class']) ? $params['class'] : $this->getPropertyValue($entity, $params['classPropertyPath']), 'initProperty' => !empty($params['initProperty']) ? $params['initProperty'] : $this->extendedMetadataFactory->getIdentifier($entityClass), 'initPropertyValue' => $initPropertyValue];
         }
     }
     return $map;
 }