/**
  * Return an instance of the template manager.
  * @param $request PKPRequest
  * @return TemplateManager the template manager object
  */
 static function &getManager($request = null)
 {
     if (!isset($request)) {
         $request = Registry::get('request');
         if (Config::getVar('debug', 'deprecation_warnings')) {
             trigger_error('Deprecated call without request object.');
         }
     }
     assert(is_a($request, 'PKPRequest'));
     $instance =& Registry::get('templateManager', true, null);
     // Reference required
     if ($instance === null) {
         $instance = new TemplateManager($request);
         $themes = PluginRegistry::getPlugins('themes');
         if (is_null($themes)) {
             $themes = PluginRegistry::loadCategory('themes', true);
         }
         $instance->initialize();
     }
     return $instance;
 }