/**
  * @param \Generated\Shared\Transfer\NodeTransfer $categoryNode
  *
  * @return void
  */
 public function moveNode(NodeTransfer $categoryNode)
 {
     $obsoleteEntities = $this->queryContainer->queryClosureTableParentEntries($categoryNode->getIdCategoryNode())->find();
     foreach ($obsoleteEntities as $obsoleteEntity) {
         $obsoleteEntity->delete();
     }
     $nodeEntities = $this->queryContainer->queryClosureTableFilterByIdNode($categoryNode->getIdCategoryNode())->find();
     $parentEntities = $this->queryContainer->queryClosureTableFilterByIdNodeDescendant($categoryNode->getFkParentCategoryNode())->find();
     foreach ($nodeEntities as $nodeEntity) {
         foreach ($parentEntities as $parentEntity) {
             $depth = $nodeEntity->getDepth() + $parentEntity->getDepth() + 1;
             $closureTableEntity = new SpyCategoryClosureTable();
             $closureTableEntity->setFkCategoryNode($parentEntity->getFkCategoryNode());
             $closureTableEntity->setFkCategoryNodeDescendant($nodeEntity->getFkCategoryNodeDescendant());
             $closureTableEntity->setDepth($depth);
             $closureTableEntity->save();
         }
     }
 }