<?php

namespace Container35X5zJE;
include_once \dirname(__DIR__, 5).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Sulu'.\DIRECTORY_SEPARATOR.'Component'.\DIRECTORY_SEPARATOR.'Persistence'.\DIRECTORY_SEPARATOR.'Repository'.\DIRECTORY_SEPARATOR.'RepositoryInterface.php';
include_once \dirname(__DIR__, 5).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Sulu'.\DIRECTORY_SEPARATOR.'Bundle'.\DIRECTORY_SEPARATOR.'CategoryBundle'.\DIRECTORY_SEPARATOR.'Entity'.\DIRECTORY_SEPARATOR.'CategoryRepositoryInterface.php';
include_once \dirname(__DIR__, 5).''.\DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'sulu'.\DIRECTORY_SEPARATOR.'src'.\DIRECTORY_SEPARATOR.'Sulu'.\DIRECTORY_SEPARATOR.'Bundle'.\DIRECTORY_SEPARATOR.'CategoryBundle'.\DIRECTORY_SEPARATOR.'Entity'.\DIRECTORY_SEPARATOR.'CategoryRepository.php';

class CategoryRepository_9c346ab extends \Sulu\Bundle\CategoryBundle\Entity\CategoryRepository implements \ProxyManager\Proxy\VirtualProxyInterface
{

    /**
     * @var \Closure|null initializer responsible for generating the wrapped object
     */
    private $valueHolder3c4b1 = null;

    /**
     * @var \Closure|null initializer responsible for generating the wrapped object
     */
    private $initializer70e27 = null;

    /**
     * @var bool[] map of public properties of the parent class
     */
    private static $publicProperties6ead2 = [
        
    ];

    public function createNew()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'createNew', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->createNew();
    }

    public function isCategoryId($id)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'isCategoryId', array('id' => $id), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->isCategoryId($id);
    }

    public function isCategoryKey($key)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'isCategoryKey', array('key' => $key), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->isCategoryKey($key);
    }

    public function findCategoryById($id)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategoryById', array('id' => $id), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategoryById($id);
    }

    public function findCategoryByKey($key)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategoryByKey', array('key' => $key), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategoryByKey($key);
    }

    public function findCategoriesByIds(array $ids)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategoriesByIds', array('ids' => $ids), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategoriesByIds($ids);
    }

    public function findChildrenCategoriesByParentId($parentId = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findChildrenCategoriesByParentId', array('parentId' => $parentId), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findChildrenCategoriesByParentId($parentId);
    }

    public function findChildrenCategoriesByParentKey($parentKey = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findChildrenCategoriesByParentKey', array('parentKey' => $parentKey), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findChildrenCategoriesByParentKey($parentKey);
    }

    public function findCategoryIdsBetween($fromIds, $toIds)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategoryIdsBetween', array('fromIds' => $fromIds, 'toIds' => $toIds), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategoryIdsBetween($fromIds, $toIds);
    }

    public function findCategoryByIds(array $ids)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategoryByIds', array('ids' => $ids), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategoryByIds($ids);
    }

    public function findCategories($parent = null, $depth = null, $sortBy = null, $sortOrder = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findCategories', array('parent' => $parent, 'depth' => $depth, 'sortBy' => $sortBy, 'sortOrder' => $sortOrder), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findCategories($parent, $depth, $sortBy, $sortOrder);
    }

    public function findChildren($key, $sortBy = null, $sortOrder = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findChildren', array('key' => $key, 'sortBy' => $sortBy, 'sortOrder' => $sortOrder), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findChildren($key, $sortBy, $sortOrder);
    }

    public function getRootNodesQueryBuilder($sortByField = null, $direction = 'asc')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getRootNodesQueryBuilder', array('sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getRootNodesQueryBuilder($sortByField, $direction);
    }

    public function getRootNodesQuery($sortByField = null, $direction = 'asc')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getRootNodesQuery', array('sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getRootNodesQuery($sortByField, $direction);
    }

    public function getRootNodes($sortByField = null, $direction = 'asc')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getRootNodes', array('sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getRootNodes($sortByField, $direction);
    }

    public function __call($method, $args)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__call', array('method' => $method, 'args' => $args), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->__call($method, $args);
    }

    public function getPathQueryBuilder($node)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPathQueryBuilder', array('node' => $node), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPathQueryBuilder($node);
    }

    public function getPathQuery($node)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPathQuery', array('node' => $node), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPathQuery($node);
    }

    public function getPath($node)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPath', array('node' => $node), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPath($node);
    }

    public function childrenQueryBuilder($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'childrenQueryBuilder', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->childrenQueryBuilder($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function childrenQuery($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'childrenQuery', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->childrenQuery($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function children($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'children', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->children($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function getChildrenQueryBuilder($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getChildrenQueryBuilder', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getChildrenQueryBuilder($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function getChildrenQuery($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getChildrenQuery', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getChildrenQuery($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function getChildren($node = null, $direct = false, $sortByField = null, $direction = 'ASC', $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getChildren', array('node' => $node, 'direct' => $direct, 'sortByField' => $sortByField, 'direction' => $direction, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getChildren($node, $direct, $sortByField, $direction, $includeNode);
    }

    public function getLeafsQueryBuilder($root = null, $sortByField = null, $direction = 'ASC')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getLeafsQueryBuilder', array('root' => $root, 'sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getLeafsQueryBuilder($root, $sortByField, $direction);
    }

    public function getLeafsQuery($root = null, $sortByField = null, $direction = 'ASC')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getLeafsQuery', array('root' => $root, 'sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getLeafsQuery($root, $sortByField, $direction);
    }

    public function getLeafs($root = null, $sortByField = null, $direction = 'ASC')
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getLeafs', array('root' => $root, 'sortByField' => $sortByField, 'direction' => $direction), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getLeafs($root, $sortByField, $direction);
    }

    public function getNextSiblingsQueryBuilder($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNextSiblingsQueryBuilder', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNextSiblingsQueryBuilder($node, $includeSelf);
    }

    public function getNextSiblingsQuery($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNextSiblingsQuery', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNextSiblingsQuery($node, $includeSelf);
    }

    public function getNextSiblings($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNextSiblings', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNextSiblings($node, $includeSelf);
    }

    public function getPrevSiblingsQueryBuilder($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPrevSiblingsQueryBuilder', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPrevSiblingsQueryBuilder($node, $includeSelf);
    }

    public function getPrevSiblingsQuery($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPrevSiblingsQuery', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPrevSiblingsQuery($node, $includeSelf);
    }

    public function getPrevSiblings($node, $includeSelf = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getPrevSiblings', array('node' => $node, 'includeSelf' => $includeSelf), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getPrevSiblings($node, $includeSelf);
    }

    public function moveDown($node, $number = 1)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'moveDown', array('node' => $node, 'number' => $number), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->moveDown($node, $number);
    }

    public function moveUp($node, $number = 1)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'moveUp', array('node' => $node, 'number' => $number), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->moveUp($node, $number);
    }

    public function removeFromTree($node)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'removeFromTree', array('node' => $node), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->removeFromTree($node);
    }

    public function reorder($node, $sortByField = null, $direction = 'ASC', $verify = true)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'reorder', array('node' => $node, 'sortByField' => $sortByField, 'direction' => $direction, 'verify' => $verify), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->reorder($node, $sortByField, $direction, $verify);
    }

    public function reorderAll($sortByField = null, $direction = 'ASC', $verify = true)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'reorderAll', array('sortByField' => $sortByField, 'direction' => $direction, 'verify' => $verify), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->reorderAll($sortByField, $direction, $verify);
    }

    public function verify()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'verify', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->verify();
    }

    public function recover()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'recover', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->recover();
    }

    public function getNodesHierarchyQueryBuilder($node = null, $direct = false, array $options = [], $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNodesHierarchyQueryBuilder', array('node' => $node, 'direct' => $direct, 'options' => $options, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNodesHierarchyQueryBuilder($node, $direct, $options, $includeNode);
    }

    public function getNodesHierarchyQuery($node = null, $direct = false, array $options = [], $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNodesHierarchyQuery', array('node' => $node, 'direct' => $direct, 'options' => $options, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNodesHierarchyQuery($node, $direct, $options, $includeNode);
    }

    public function getNodesHierarchy($node = null, $direct = false, array $options = [], $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getNodesHierarchy', array('node' => $node, 'direct' => $direct, 'options' => $options, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getNodesHierarchy($node, $direct, $options, $includeNode);
    }

    public function setRepoUtils(\Gedmo\Tree\RepositoryUtilsInterface $repoUtils)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'setRepoUtils', array('repoUtils' => $repoUtils), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->setRepoUtils($repoUtils);
    }

    public function getRepoUtils()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getRepoUtils', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getRepoUtils();
    }

    public function childCount($node = null, $direct = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'childCount', array('node' => $node, 'direct' => $direct), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->childCount($node, $direct);
    }

    public function childrenHierarchy($node = null, $direct = false, array $options = [], $includeNode = false)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'childrenHierarchy', array('node' => $node, 'direct' => $direct, 'options' => $options, 'includeNode' => $includeNode), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->childrenHierarchy($node, $direct, $options, $includeNode);
    }

    public function buildTree(array $nodes, array $options = [])
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'buildTree', array('nodes' => $nodes, 'options' => $options), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->buildTree($nodes, $options);
    }

    public function buildTreeArray(array $nodes)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'buildTreeArray', array('nodes' => $nodes), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->buildTreeArray($nodes);
    }

    public function setChildrenIndex($childrenIndex)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'setChildrenIndex', array('childrenIndex' => $childrenIndex), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->setChildrenIndex($childrenIndex);
    }

    public function getChildrenIndex()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getChildrenIndex', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getChildrenIndex();
    }

    public function createQueryBuilder($alias, $indexBy = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'createQueryBuilder', array('alias' => $alias, 'indexBy' => $indexBy), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->createQueryBuilder($alias, $indexBy);
    }

    public function createResultSetMappingBuilder($alias)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'createResultSetMappingBuilder', array('alias' => $alias), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->createResultSetMappingBuilder($alias);
    }

    public function createNamedQuery($queryName)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'createNamedQuery', array('queryName' => $queryName), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->createNamedQuery($queryName);
    }

    public function createNativeNamedQuery($queryName)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'createNativeNamedQuery', array('queryName' => $queryName), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->createNativeNamedQuery($queryName);
    }

    public function clear()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'clear', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->clear();
    }

    public function find($id, $lockMode = null, $lockVersion = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'find', array('id' => $id, 'lockMode' => $lockMode, 'lockVersion' => $lockVersion), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->find($id, $lockMode, $lockVersion);
    }

    public function findAll()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findAll', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findAll();
    }

    public function findBy(array $criteria, ?array $orderBy = null, $limit = null, $offset = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findBy', array('criteria' => $criteria, 'orderBy' => $orderBy, 'limit' => $limit, 'offset' => $offset), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findBy($criteria, $orderBy, $limit, $offset);
    }

    public function findOneBy(array $criteria, ?array $orderBy = null)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'findOneBy', array('criteria' => $criteria, 'orderBy' => $orderBy), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->findOneBy($criteria, $orderBy);
    }

    public function count(array $criteria)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'count', array('criteria' => $criteria), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->count($criteria);
    }

    public function getClassName()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'getClassName', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->getClassName();
    }

    public function matching(\Doctrine\Common\Collections\Criteria $criteria)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'matching', array('criteria' => $criteria), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return $this->valueHolder3c4b1->matching($criteria);
    }

    /**
     * Constructor for lazy initialization
     *
     * @param \Closure|null $initializer
     */
    public static function staticProxyConstructor($initializer)
    {
        static $reflection;

        $reflection = $reflection ?? new \ReflectionClass(__CLASS__);
        $instance = $reflection->newInstanceWithoutConstructor();

        unset($instance->listener, $instance->repoUtils, $instance->_entityName, $instance->_em, $instance->_class);

        $instance->initializer70e27 = $initializer;

        return $instance;
    }

    public function __construct(\Doctrine\ORM\EntityManagerInterface $em, \Doctrine\ORM\Mapping\ClassMetadata $class)
    {
        static $reflection;

        if (! $this->valueHolder3c4b1) {
            $reflection = $reflection ?? new \ReflectionClass('Sulu\\Bundle\\CategoryBundle\\Entity\\CategoryRepository');
            $this->valueHolder3c4b1 = $reflection->newInstanceWithoutConstructor();
        unset($this->listener, $this->repoUtils, $this->_entityName, $this->_em, $this->_class);

        }

        $this->valueHolder3c4b1->__construct($em, $class);
    }

    public function & __get($name)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__get', ['name' => $name], $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        if (isset(self::$publicProperties6ead2[$name])) {
            return $this->valueHolder3c4b1->$name;
        }

        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder3c4b1;

            $backtrace = debug_backtrace(false);
            trigger_error(
                sprintf(
                    'Undefined property: %s::$%s in %s on line %s',
                    get_parent_class($this),
                    $name,
                    $backtrace[0]['file'],
                    $backtrace[0]['line']
                ),
                \E_USER_NOTICE
            );
            return $targetObject->$name;
            return;
        }

        $targetObject = $this->valueHolder3c4b1;
        $accessor = function & () use ($targetObject, $name) {
            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();

        return $returnValue;
    }

    public function __set($name, $value)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__set', array('name' => $name, 'value' => $value), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder3c4b1;

            return $targetObject->$name = $value;
            return;
        }

        $targetObject = $this->valueHolder3c4b1;
        $accessor = function & () use ($targetObject, $name, $value) {
            return $targetObject->$name = $value;
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();

        return $returnValue;
    }

    public function __isset($name)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__isset', array('name' => $name), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder3c4b1;

            return isset($targetObject->$name);
            return;
        }

        $targetObject = $this->valueHolder3c4b1;
        $accessor = function () use ($targetObject, $name) {
            return isset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();

        return $returnValue;
    }

    public function __unset($name)
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__unset', array('name' => $name), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));

        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder3c4b1;

            unset($targetObject->$name);
            return;
        }

        $targetObject = $this->valueHolder3c4b1;
        $accessor = function () use ($targetObject, $name) {
            unset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();

        return $returnValue;
    }

    public function __clone()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__clone', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        $this->valueHolder3c4b1 = clone $this->valueHolder3c4b1;
    }

    public function __sleep()
    {
        $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, '__sleep', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;

        return array('valueHolder3c4b1');
    }

    public function __wakeup()
    {
        unset($this->listener, $this->repoUtils, $this->_entityName, $this->_em, $this->_class);
    }

    public function setProxyInitializer(\Closure $initializer = null)
    {
        $this->initializer70e27 = $initializer;
    }

    public function getProxyInitializer()
    {
        return $this->initializer70e27;
    }

    public function initializeProxy() : bool
    {
        return $this->initializer70e27 && ($this->initializer70e27->__invoke($valueHolder3c4b1, $this, 'initializeProxy', array(), $this->initializer70e27) || 1) && $this->valueHolder3c4b1 = $valueHolder3c4b1;
    }

    public function isProxyInitialized() : bool
    {
        return null !== $this->valueHolder3c4b1;
    }

    public function getWrappedValueHolderValue() : ?object
    {
        return $this->valueHolder3c4b1;
    }


}

if (!\class_exists('CategoryRepository_9c346ab', false)) {
    \class_alias(__NAMESPACE__.'\\CategoryRepository_9c346ab', 'CategoryRepository_9c346ab', false);
}
