public function doesPublicIdExist($id, Node $node)
 {
     if ($node->getId()) {
         $s = $this->getEntityManager()->createQuery(' SELECT nhlciv FROM QuestionKeyBundle:NodeHasLibraryContentIfVariable nhlciv' . ' WHERE nhlciv.node = :node AND nhlciv.publicId = :public_id')->setParameter('node', $node)->setParameter('public_id', $id)->getResult();
         return (bool) $s;
     } else {
         return false;
     }
 }
 private function isNodeReachable(Node $node, TreeVersionStartingNode $treeVersionStartingNode)
 {
     if ($treeVersionStartingNode && $treeVersionStartingNode->getNode()->getId() == $node->getId()) {
         return true;
     }
     $nodeOptionRepo = $this->doctrine->getRepository('QuestionKeyBundle:NodeOption');
     foreach ($nodeOptionRepo->findActiveIncomingNodeOptionsForNode($node) as $nodeOption) {
         if ($this->isNodeReachable($nodeOption->getNode(), $treeVersionStartingNode)) {
             return true;
         }
     }
     return false;
 }