public function getTree(array $options)
    {
        $tree = &gplcart_static(gplcart_array_hash(array('category.tree' => $options)));

        if (isset($tree)) {
            return $tree;
        }

        $list = (array) $this->getList($options);
        $tree = $this->prepareTree($list, $options);
        $this->hook->attach('category.tree', $tree, $this);
        return $tree;
    }