code: function(options) {
        var self = this;
        options = options || {};
        var request = Parse._request({
          method: 'GET',
          route: "classes",
          className: this.className,
          objectId: this.id,
          useMasterKey: options.useMasterKey
        });
        return request.then(function(response, status, xhr) {
          self._finishFetch(self.parse(response, status, xhr), true);
          return self;
        })._thenRunCallbacks(options, this);
      }
docs: Fetch the model from the server. If the server's representation of the
  model differs from its current attributes, they will be overriden,
  triggering a <code>"change"</code> event.
  
  @param {Object} options A Backbone-style callback object.
  Valid options are:<ul>
  <li>success: A Backbone-style success callback.
  <li>error: An Backbone-style error callback.
  <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 fulfilled when the fetch
  completes.