docs: function (collection, action, options) {
                  var results = [];
                  var self = this,
                      includeInIndexCache = {};
  
                  options = options || {};
  
                  collection.each(function (item) {
  
                      var includeInIndex,
                          modelClassName = item.constructor.name;
  
                      if (modelClassName) {
                          if (includeInIndexCache.hasOwnProperty(modelClassName)) {
                              includeInIndex = includeInIndexCache[modelClassName];
                          } else {
                              includeInIndex = ["id"];
  
                              for (var key in item.schema) {
                                  if (item.schema.hasOwnProperty(key)) {
                                      if (item.schema[key].includeInIndex === true) {
                                          includeInIndex.push(key);
                                      }
                                  }
                              }
  
                              includeInIndexCache[modelClassName] = includeInIndex;
                          }
                      }
  
                      options.includeInIndex = includeInIndex;
  
                      results.push(self.compose(item, action, options));
                  });
  
                  return results;
              }