protected function _getOptions(array $options, array $selected = array(), $isMultiple = false)
    {
        $output = array();

        list($options, $_selected) = $this->_checkNoSelected($options, $selected, $isMultiple);

        foreach ($options as $key => $data) {
            $label = $data;
            $value = $key;

            $classes = implode(' ', array(
                $this->_jbSrt('option'),
                $this->_jbSrt('option-' . Str::slug($value, true)),
            ));

            $isSelected = $this->_isSelected($value, $_selected);

            if (is_array($data)) {
                $output[] = $this->_createGroup($key, $data, $_selected, $options);
            } else {
                $output[] = $this->_option($value, $isSelected, $classes, $label);
            }
        }

        return implode(PHP_EOL, $output);
    }