protected function render()
    {
        $presenter = $this->createPresenter($this->getRequiredTemplateVariable('Presenter'));

        try {
            $arguments = $this->getArguments($presenter);
            $result = call_user_func_array($presenter, $arguments);
        } catch(\Exception $e) {
            if ($this->throwRenderExceptions) {
                throw $e;
            }

            $this->Logger->error($e->getMessage() .
                    "\n\nURL: " . \URLUtils::fullUrl() .
                    "\n\nTemplate Vars:\n" . print_r($this->templateVars, true) .
                    (isset($arguments) ? "\n\n$presenter args:\n" . print_r($arguments, true) : '')
                );

            $result = '';
        }

        $this->setTemplateVariable('PRESENTER_RESULT', $result);

        // just return something so the template engine thinks
        // something happened.
        return array(array());
    }