/**
  * Returns all referenced entities of an entity.
  *
  * This method is also recursive to support usecases like a node -> media
  * -> file.
  *
  * @param \Drupal\Core\Entity\ContentEntityInterface $entity
  *   The entity.
  * @param int $depth
  *   Guard against infinite recursion.
  *
  * @return \Drupal\Core\Entity\EntityInterface[]
  */
 protected function getEntityReferencesRecursive(ContentEntityInterface $entity, $depth = 0)
 {
     $entity_dependencies = $entity->referencedEntities();
     foreach ($entity_dependencies as $id => $dependent_entity) {
         // Config entities should not be exported but rather provided by default
         // config.
         if ($dependent_entity instanceof ConfigEntityInterface) {
             unset($entity_dependencies[$id]);
         } else {
             $entity_dependencies = array_merge($entity_dependencies, $this->getEntityReferencesRecursive($dependent_entity, $depth + 1));
         }
     }
     // Build in some support against infinite recursion.
     if ($depth > 5) {
         return $entity_dependencies;
     }
     return array_unique($entity_dependencies, SORT_REGULAR);
 }