docs: function (text) {
                  var dataModel = this._dataModel;
                  var trimText = ariaUtilsString.trim(text);
  
                  if (text !== '' && text !== dataModel.text) {
                      dataModel.text = trimText;
                      this._resourcesHandler.getSuggestions(trimText, {
                          fn : this._suggestionsCallback,
                          scope : this,
                          args : {
                              nextValue : trimText,
                              triggerDropDown : false
                          }
                      });
                      return null;
                  }
                  var report = new aria.widgets.controllers.reports.DropDownControllerReport();
  
                  if (this.maxOptions && this.selectedSuggestions.length == this.maxOptions) {
                      trimText = "";
                  }
  
                  // an empty field is usually not considered as an error
                  if (trimText === '') {
                      dataModel.value = null;
                      dataModel.text = '';
                      report.ok = true;
                  } else {
                      if (this.freeText) {
                          report.ok = true;
                          var valueToAdd;
                          valueToAdd = dataModel.value || trimText;
                          dataModel.value = null;
                          dataModel.text = '';
                          report.text = "";
                          report.suggestionsToAdd = this._checkNewSuggestions([valueToAdd]);
                      } else if (!dataModel.value) {
                          report.ok = false;
                          report.value = null;
                          report.errorMessages.push(this.res.errors["40020_WIDGET_AUTOCOMPLETE_VALIDATION"]);
                      }
                  }
                  report.value = this.selectedSuggestions;
  
                  return report;
              }