code: function(callback, properties, values, equals)
    {
      var where = createWhere( properties, values, equals );
  
      for (var i = 0; i < this.length; i++)
      {
        var item = this[ i ];
  
        if ( where( item ) )
        {
          callback.call( this, item, i );
  
          if ( this[ i ] !== item )
          {
            i--;
          }
        }
      }
  
      return this;
    }
docs: Iterates over each element in this collection that matches the where
  expression and passes the element and it's index to the given function.
  
  @method
  @memberof Rekord.Collection#
  @param {Function} callback -
  The function to invoke for each element of this collection passing the
  element and the index where it exists.
  @param {whereInput} [properties] -
  See {@link Rekord.createWhere}
  @param {Any} [value] -
  See {@link Rekord.createWhere}
  @param {equalityCallback} [equals=Rekord.equalsStrict] -
  See {@link Rekord.createWhere}
  @return {Rekord.Collection} -
  The reference to this collection.
  @see Rekord.createWhere