+ // Walk the parent chain to find any cascading parent deletions
+ $currentDeletable = $deletion->deletable;
+ $searching = true;
+ while ($searching && $currentDeletable instanceof Entity) {
+ $parent = $currentDeletable->getParent();
+ if ($parent && $parent->trashed()) {
+ $currentDeletable = $parent;
+ } else {
+ $searching = false;
+ }
+ }
+
+ /** @var ?Deletion $parentDeletion */
+ $parentDeletion = ($currentDeletable === $deletion->deletable) ? null : $currentDeletable->deletions()->first();
+