public function getContent(Smarty_Template_Source $source)
    {
        // return template string
        $content = null;
        $t = call_user_func_array($source->smarty->registered_resources[$source->type][0][0], array($source->name, &$content, $source->smarty));
        if (is_bool($t) && !$t) {
            throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
        }

        return $content;
    }