public function addChildByData($routeName, $options, $position = 'last')
    {
        if (isset($options['children']['.defaults']))
        {
            $options['children']['.defaults'] = array_merge($this->defaultOptions, $options['children']['.defaults']);
        }
        else
        {
            $options['children']['.defaults'] = $this->defaultOptions;
        }
        $options['parent'] = $this;

        $options = array_merge($this->defaultOptions, $options);
        $item = $this->getMenu()->createItem($routeName, $options);

        return $this->addChild($item, $position);
    }