code: function(model, options) {
        var coll = this;
        options = options ? _.clone(options) : {};
        model = this._prepareModel(model, options);
        if (!model) {
          return false;
        }
        if (!options.wait) {
          coll.add(model, options);
        }
        var success = options.success;
        options.success = function(nextModel, resp, xhr) {
          if (options.wait) {
            coll.add(nextModel, options);
          }
          if (success) {
            success(nextModel, resp);
          } else {
            nextModel.trigger('sync', model, resp, options);
          }
        };
        model.save(null, options);
        return model;
      }
docs: Creates a new instance of a model in this collection. Add the model to
  the collection immediately, unless `wait: true` is passed, in which case
  we wait for the server to agree.
  
  @param {Parse.Object} model The new model to create and add to the
  collection.
  @param {Object} options An optional object with Backbone-style options.
  Valid options are:<ul>
  <li>wait: Set to true to wait for the server to confirm creation of the
  model before adding it to the collection.
  <li>silent: Set to true to avoid firing an `add` event.
  <li>success: A Backbone-style success callback.
  <li>error: An Backbone-style error callback.
  <li>useMasterKey: In Cloud Code and Node only, uses the Master Key for
  this request.
  </ul>