protected function _processMenuItems($items, $requestParams, &$subActiveFound = false)
    {
        foreach ($items as &$item) {
            if (isset($item['url']) &&
                $item['url']['plugin'] === $requestParams['plugin'] &&
                $item['url']['controller'] === $requestParams['controller']
            ) {
                if (!empty($item['doNotMatchAction'])) {
                    $skip = false;
                    foreach ($item['doNotMatchAction'] as $doNotMatchAction) {
                        if ($doNotMatchAction === $requestParams['action']) {
                            $skip = true;
                            break;
                        }
                    }
                    if ($skip) {
                        continue;
                    }
                }
                if ($item['matchAction'] !== true) {
                    $item['active'] = true;
                    $subActiveFound = true;
                } elseif ($item['url']['action'] === $requestParams['action']) {
                    $item['active'] = true;
                    $subActiveFound = true;
                }
            }
            if (isset($item['children']) && !empty($item['children'])) {
                $sub = false;

                $item['children'] = $this->_processMenuItems($item['children'], $requestParams, $sub);

                if ($sub === true) {
                    $item['active'] = true;
                    $item['open'] = true;
                    $subActiveFound = true;
                }
            }
        }

        return $items;
    }