public function renderControls($parent)
	{
		if (!($parent instanceof Nette\Forms\Container || $parent instanceof Nette\Forms\ControlGroup)) {
			throw new Nette\InvalidArgumentException('Argument must be Nette\Forms\Container or Nette\Forms\ControlGroup instance.');
		}
		$html = Html::el();
		$hidden = Html::el();

		// note that these are NOT form groups, these are groups specified to group
		foreach ($parent->getControls() as $control) {
			if ($control->getOption(RendererOptions::_rendered, FALSE)) {
				continue;
			}

			if ($control instanceof BootstrapRow) {
				$html->addHtml($control->render());
			} else {
				if ($control->getOption(RendererOptions::type) == 'hidden') {
					$isHidden = TRUE;
					$pairHtml = $this->renderControl($control);
				} else {
					$pairHtml = $this->renderPair($control);
					$isHidden = FALSE;
				}

				if ($this->groupHidden && $isHidden) {
					$hidden->addHtml($pairHtml);
				} else {
					$html->addHtml($pairHtml);
				}
			}
		}

		$html->addHtml($hidden);

		return $html;
	}