define([

], function () {

function Query (decorated, $element, options) {
  if (options.get('debug') && window.console && console.warn) {
    console.warn(
      'Select2: The `query` option has been deprecated in favor of a ' +
      'custom data adapter that overrides the `query` method. Support ' +
      'will be removed for the `query` option in future versions of ' +
      'Select2.'
    );
  }

  decorated.call(this, $element, options);
}

Query.prototype.query = function (_, params, callback) {
  params.callback = callback;

  var query = this.options.get('query');

  query.call(null, params);
};

return Query;

});