public function registerTheme($themeNamespace, $autoUse = true)
    {
        $basePath = $this->basePath;
        $parentNamespace = null;

        $themesInheritanceList = explode(static::NP_DELIMITER, ltrim($themeNamespace, static::NP_DELIMITER));
        while ($themeName = array_shift($themesInheritanceList)) {
            $leaf = count($themesInheritanceList);
            list($basePath, $parentNamespace) = $this->addTheme($basePath, $themeName, $parentNamespace, $leaf);
        }

        if ($autoUse) {
            $this->useTheme($parentNamespace);
        }

        return $this;
    }