docs: function(dataprovider) {
              var optionDOM = "";
              var groupCounter = 0;
  
              $.each(dataprovider, function (index, option) {
                  if ($.isArray(option.children)) {
                      groupCounter++;
                      optionDOM += '<optgroup label="' + (option.title || 'Group ' + groupCounter) + '">';
  
                      option.children.forEach(function(subOption) {
                          optionDOM += '<option value="' + subOption.value + '">' + (subOption.label || subOption.value) + '</option>';
                      });
  
                      optionDOM += '</optgroup>';
                  }
                  else {
                      optionDOM += '<option value="' + option.value + '">' + (option.label || option.value) + '</option>';
                  }
              });
  
              this.$select.html(optionDOM);
              this.rebuild();
          }