docs: function (evt, callback) {
      var self = this;
  
      this.executeDenormFnForEach(evt, function (err, res) {
        if (err) {
          debug(err);
          return callback(err);
        }
  
        async.each(res, function (item, callback) {
          if (item.id) {
            return callback(null);
          }
          self.collection.getNewId(function (err, newId) {
            if (err) {
              return callback(err);
            }
            item.id = newId;
            callback(null);
          });
        }, function (err) {
          if (err) {
            debug(err);
            return callback(err);
          }
  
          async.map(res, function (item, callback) {
            self.loadViewModel(item.id, function (err, vm) {
              if (err) {
                return callback(err);
              }
  
              self.handleOne(vm, evt, item, function (err, notification) {
                if (err) {
                  return callback(err);
                }
  
                callback(null, notification);
              });
            });
          }, function (err, notis) {
            if (err) {
              debug(err);
              return callback(err);
            }
  
            callback(null, notis);
          });
        });
      });
    }