protected function getThemeBaseUrl(?Theme $theme = null) : string
    {
        $theme = $theme ?? $this->getTheme();

        if (isset($this->webPaths[$theme->getKey()])) {
            return $this->webPaths[$theme->getKey()];
        }

        return $this->webPaths[$theme->getKey()] = $this->url->make(new UrlSettings([
            'domain'        => $theme->getWebPath(),
            'path'          => $this->directory,
        ]));
    }