/**
  * createService
  *
  * Create a new instance of the form row view helper.
  *
  * @param ServiceLocatorInterface  $viewHelperManager  The view helper plugin manager.
  * @param string                   $name               The name of the service to created.
  * @param string                   $requestedName      The name of the service that is being requested.
  *
  * @return FormRow
  */
 public function __invoke(ServiceLocatorInterface $viewHelperManager, $name, $requestedName)
 {
     /** @var HelperPluginManager $viewHelperManager */
     $options = $this->getOptions($viewHelperManager, $requestedName);
     $options['label_helper'] = isset($options['label_helper']) ? $options['label_helper'] : 'FormLabel';
     $options['element_helper'] = isset($options['element_helper']) ? $options['element_helper'] : 'FormElement';
     $options['errors_helper'] = isset($options['errors_helper']) ? $options['errors_helper'] : 'FormElementErrors';
     $options['element_wrapper'] = isset($options['element_wrapper']) ? $options['element_wrapper'] : 'htmlElement';
     $helper = new FormRow();
     /** @var FormLabel $labelHelper */
     $labelHelper = $viewHelperManager->get($options['label_helper']);
     /** @var FormElement $elementHelper */
     $elementHelper = $viewHelperManager->get($options['element_helper']);
     /** @var FormElementErrors $errorHelper */
     $errorHelper = $viewHelperManager->get($options['errors_helper']);
     $helper->setLabelHelper($labelHelper);
     $helper->setElementHelper($elementHelper);
     $helper->setElementErrorsHelper($errorHelper);
     /** @var HtmlElement $htmlElement */
     if (is_array($options['element_wrapper'])) {
         $htmlElement = $viewHelperManager->get('htmlElement', $options['element_wrapper']);
     } else {
         $htmlElement = $viewHelperManager->get($options['element_wrapper']);
     }
     $helper->setElementWrapper($htmlElement);
     if (empty($options['form_group'])) {
         $options['form_group'] = ['attributes' => ['class' => 'form-group']];
     }
     /** @var HtmlElement $htmlElement */
     if (is_array($options['form_group'])) {
         $htmlElement = $viewHelperManager->get('formGroup', $options['form_group']);
     } else {
         $htmlElement = $viewHelperManager->get($options['form_group']);
     }
     $helper->setGroupHelper($htmlElement);
     return $helper;
 }
 /**
  * render
  *
  * Render the view helper as a HTML string.
  *
  * @param  ElementInterface  $element  The form element that should be rendered.
  * @param  array             $options  Optional view helper options.
  *
  * @return string
  */
 public function render(ElementInterface $element, array $options = [])
 {
     return parent::render($this->formRowHelper->render($element), $options);
 }