***************************************************************************
@method preSaveObjectOperation
@override
@description Build the options to be passed to the operation handler from the
request and operation config. Note, in general, this should not need to be
overridden or extended.
@param {carbond.mongodb.MongoDBCollection.saveObjectConfig} config -- The save object operation config
@param {carbond.Request} req -- The request object
@param {carbond.Response} res -- The response object
@param {Object} context -- A free form object to pass data between hook and handler
methods
@returns {typedef:carbond.collections.Collection.PreOperationResult}
function(config, req, res, context) {
    var options =
      Collection.prototype.preSaveObjectOperation.call(this, config, req, res)
    options.driverOptions = _.clone(config.driverOptions)
    options.driverOptions.returnOriginal = false
    if (config.supportsUpsert) {
      options.driverOptions.upsert = true
    }
    return options
  }