code: function collectionResultIterator (context, results) {
      // create new result object
      var result = new ImmutableCoreModelResult({
          query: this.query,
          results: results,
      })
      // execute iterator
      return result.each((record, num) => {
          // get result
          return this.applyModelViewCollection(context, num, record.raw)
          // merge result to context
          .then(ctx => {
              _.merge(context, ctx)
          })
      })
      // resolve with context
      .then(() => context)
  }
docs: @function collectionResultIterator
  
  create result object to iterate over results
  
  @param {object} context
  @param {array} results
  
  @returns {Promise}