/**
  * Returns the new parent node from $dest node and position.
  *
  * @param  \BackBee\CoreDomain\NestedNode\AbstractNestedNode $dest
  * @param  string                          $position
  * @return \BackBee\CoreDomain\NestedNode\AbstractNestedNode
  * @throws InvalidArgumentException        Occurs if $position is unknown
  */
 private function getNewParentFromPosition(AbstractNestedNode $dest, $position)
 {
     switch ($position) {
         case 'before':
         case 'after':
             $newparent = $dest->getParent();
             break;
         case 'firstin':
         case 'lastin':
             $newparent = $dest;
             break;
         default:
             throw new InvalidArgumentException(sprintf('Unknown position %s to move node', $position));
     }
     return $newparent;
 }
 /**
  * Add query part to select next siblings of node.
  *
  * @param  \BackBee\CoreDomain\NestedNode\AbstractNestedNode                       $node
  * @param  string                                                $alias optional, the alias to use
  * @return \BackBee\NestedNode\Repository\NestedNodeQueryBuilder
  */
 public function andIsNextSiblingsOf(AbstractNestedNode $node, $alias = null)
 {
     return $this->andParentIs($node->getParent(), $alias)->andLeftnodeIsUpperThan($node->getRightnode(), true, $alias);
 }