public function addChild(MenuItem $item, $position = 'last')
    {
        if ('first' == $position)
        {
            $this->children = array_merge(array($item), $this->children);
        }
        elseif (is_numeric($position))
        {
            array_splice($this->children, (int) $position, 0, array($item));
        }
        else
        {
            $this->children[] = $item;
        }

        $item->setParentItem($this);

        return $item;
    }