/**
  * @param string $content
  * @param \AgaviRequestDataHolder|array $parameters
  * @param \AgaviValidationManager $validationManager
  * @param array $config
  * @return string
  */
 protected function executeFormPopulationFilter($content, $parameters, $validationManager = null, array $config = array())
 {
     $container = $this->_context->getController()->createExecutionContainer('FilterTests', 'FormPopulationFilter');
     $container->getResponse()->setContent($content);
     if ($parameters instanceof AgaviRequestDataHolder) {
         $rd = $parameters;
     } else {
         $rd = new AgaviRequestDataHolder(array(AgaviRequestDataHolder::SOURCE_PARAMETERS => $parameters));
     }
     if ($validationManager) {
         $validationManager->execute($rd);
     }
     $fpf = new AgaviFormPopulationFilter();
     $fpf->initialize($this->_context, array_merge(array('populate' => $rd, 'validation_report' => $validationManager ? $validationManager->getReport() : null, 'force_request_uri' => '/'), $config));
     $filterChain = new AgaviFilterChain();
     $filterChain->initialize($this->_context);
     $fpf->execute($filterChain, $container);
     return $container->getResponse()->getContent();
 }