code: function(options) {
        var self = this;
        options = options || {};
  
        var request = Parse._request({
          route: "classes",
          className: this.className,
          method: "GET",
          useMasterKey: options.useMasterKey,
          data: this.toJSON()
        });
  
        return request.then(function(response) {
          return _.map(response.results, function(json) {
            var obj;
            if (response.className) {
              obj = new Parse.Object(response.className);
            } else {
              obj = new self.objectClass();
            }
            obj._finishFetch(json, true);
            return obj;
          });
        })._thenRunCallbacks(options);
      }
docs: Retrieves a list of ParseObjects that satisfy this query.
  Either options.success or options.error is called when the find
  completes.
  
  @param {Object} options A Backbone-style options object. Valid options
  are:<ul>
  <li>success: Function to call when the find completes successfully.
  <li>error: Function to call when the find fails.
  <li>useMasterKey: In Cloud Code and Node only, causes the Master Key to
  be used for this request.
  </ul>
  
  @return {Parse.Promise} A promise that is resolved with the results when
  the query completes.