src/yimaTheme/Theme/Locator.php
protected function getThemeObject()
    {
        $themeObject = $this->getServiceLocator()
            ->get('yimaTheme.ThemeObject');
        if (! $themeObject instanceof ThemeDefaultInterface) {
            throw new \Exception(
                sprintf(
                    'yimaTheme.ThemeObject must instanceof "\yimaTheme\Theme\ThemDefaultInterface" but "%s" given.',
                    get_class($themeObject)
                )
            );
        }

        return $themeObject;
    }
protected function getThemeObject()
    {
        $themeObject = $this->getServiceLocator()
            ->get('yimaTheme.ThemeObject');
        if (! $themeObject instanceof ThemeDefaultInterface) {
            throw new \Exception(
                sprintf(
                    'yimaTheme.ThemeObject must instanceof "\yimaTheme\Theme\ThemDefaultInterface" but "%s" given.',
                    get_class($themeObject)
                )
            );
        }

        return $themeObject;
    }
Get ThemeObject
: it must be unique new instance object theme -
on each get request

@return Theme
@throws \Exception