docs: function (context, callback) {
              var model,
                  self = this;
  
              flow()
                  .seq("collection", function (cb) {
                      self._findCollection(context, cb);
                  })
                  .seq(function () {
                      model = this.vars.collection.createItem(self.$resourceId);
                  })
                  .seq(function (cb) {
                      self._beforeModelRemove(model, context, cb);
                  })
                  // remove model
                  .seq(function (cb) {
                      model.remove(null, cb);
                  })
                  .seq(function (cb) {
                      self._afterModelRemove(model, context, cb);
                  })
                  .exec(function (err, results) {
                      if (!err) {
                          // TODO: do correct invalidation
                          results.collection.invalidatePageCache();
                          // TODO: generate the location header
                          var body = "";
  
                          var response = context.response;
                          response.writeHead(200, "", {
                              'Content-Type': 'application/json'
                          });
  
                          response.write(body);
                          response.end();
  
                          callback(null);
                      } else {
                          if (!(err instanceof HttpError)) {
                              var statusCode = 500;
                              if (err === DataSource.ERROR.NOT_FOUND) {
                                  statusCode = 404;
                              }
                              err = new HttpError(err, statusCode);
                          }
                          callback(err);
                      }
                  });
          }