public function generatePublicAlias($subject, $currentAlias = '')
    {
        $path = $this->urlProvider->url($subject);
        $menuItem = $this->menuManager->getItemBy(array(':path' => $path));
        if (!empty($menuItem)) {
            $parts = array();
            for ($item = $menuItem; !is_null($item->getParent()); $item = $item->getParent()) {
                $parts [] = Str::systemize($item->getTitle());
            }
            $alias = '/' . join('/', array_reverse($parts));
        } else {
            $alias = parent::generatePublicAlias($subject);
        }

        return $alias;
    }