/**
  * execute this containers view instance
  * 
  * @return     mixed the view's result
  * 
  * @author     David Zülke <*****@*****.**>
  * @author     Felix Gilcher <*****@*****.**>
  * @since      1.0.0
  */
 protected function executeView(AgaviExecutionContainer $container)
 {
     $outputType = $container->getOutputType()->getName();
     $request = $this->context->getRequest();
     $viewInstance = $container->getViewInstance();
     // $lm->log('View is not cached, executing...');
     // view initialization completed successfully
     $executeMethod = 'execute' . $outputType;
     if (!is_callable(array($viewInstance, $executeMethod))) {
         $executeMethod = 'execute';
     }
     $key = $request->toggleLock();
     try {
         $viewResult = $viewInstance->{$executeMethod}($container->getRequestData());
     } catch (Exception $e) {
         // we caught an exception... unlock the request and rethrow!
         $request->toggleLock($key);
         throw $e;
     }
     $request->toggleLock($key);
     return $viewResult;
 }