public function andRootIs(Page $root)
    {
        if (!$root->isRoot()) {
            throw new \InvalidArgumentException('Provided page is not a tree root.');
        }

        $suffix = $this->getSuffix();
        return $this->andWhere($this->getSectionAlias().'._root = :root'.$suffix)
                        ->setParameter('root'.$suffix, $root->getSection());
    }