protected function renderButtons(array $aButtons, $bJustified = false)
    {
        $sMarkup = '';
        foreach ($aButtons as $oButton) {
            if (is_array($oButton) ||
                ($oButton instanceof Traversable &&
                !($oButton instanceof ElementInterface))
            ) {
                $oFactory = new Factory();
                $oButton = $oFactory->create($oButton);
            } elseif (!($oButton instanceof ElementInterface)) {
                throw new LogicException(sprintf(
                    'Button expects an instanceof Zend\Form\ElementInterface or an array / Traversable, "%s" given', is_object($oButton) ? get_class($oButton) : gettype($oButton)
                ));
            }

            $sButtonMarkup = $this->getFormElementHelper()->__invoke($oButton);

            $sMarkup .= $bJustified ? sprintf(static::$buttonGroupJustifiedFormat, $sButtonMarkup) : $sButtonMarkup;
        }
        return $sMarkup;
    }