protected function buildDisplayTree(
        SwatTreeFlydownNode $tree,
        SwatTreeFlydownNode $parent,
        $path = array()
    ) {
        $flydown_option = $tree->getOption();
        $path[] = $flydown_option->value;
        $new_node = new SwatTreeFlydownNode($path, $flydown_option->title);

        $parent->addChild($new_node);
        foreach ($tree->getChildren() as $child) {
            $this->buildDisplayTree($child, $new_node, $path);
        }
    }