protected function renderOptGroup($label, $options)
{
list($values, $labels) = $this->splitKeysAndValues($options);
$options = array_map(function ($value, $label) {
return $this->renderOption($value, $label);
}, $values, $labels);
return implode([sprintf('<optgroup label="%s">', $label), implode($options), '</optgroup>']);
}