code: function(resolver, validator, process, getResult)
    {
      for (var i = 0; i < this.length; i++)
      {
        var resolved = resolver( this[ i ] );
  
        if ( validator( resolved ) )
        {
          process( resolved );
        }
      }
  
      return getResult();
    }
docs: Iterates over all elements in this collection and passes them through the
  `resolver` function. The returned value is passed through the `validator`
  function and if that returns true the resolved value is passed through the
  `process` function. After iteration, the `getResult` function is executed
  and the returned value is returned by this function.
  
  @method
  @memberof Rekord.Collection#
  @param {Function} resolver -
  The function which takes an element in this collection and returns a
  value based on that element.
  @param {Function} validator -
  The function which takes the resolved value and determines whether it
  passes some test.
  @param {Function} process -
  The function which is given the resolved value if it passes the test.
  @param {Function} getResult -
  The function which is executed at the end of iteration and the result is
  is returned by this function.
  @return {Any} -
  The value returned by `getResult`.