public function render($parent_id = false)
    {
        // Available options for this menu.
        $container_tag = array_get($this->option, 'tag', 'ul');
        $item_tag = array_get($this->option, 'item_tag', 'li');
        $item_callback = array_get($this->option, 'item_callback', null);
        $text_only = array_get($this->option, 'text_only', false);
        $html = '';

        $items = $this->item_collection;

        // Render from a specific menu item.
        if ($parent_id !== false) {
            $items = $this->whereParentId($parent_id)->all();
        }

        // Generate each of the items.
        foreach ($items as $item) {
            $item->setItemTagOption($item_tag)
                ->setContainerTagOption($container_tag);

            if (!is_null($item_callback) && is_callable($item_callback)) {
                $item_callback($item);
                $item->setItemCallbackOption($item_callback);
            }
            $html .= $item->render(2, $text_only);
        }

        // Create the container and allocate the link.
        return $html;
    }