code: function(whereProperties, whereValue, whereEquals)
    {
      var where = createWhere( whereProperties, whereValue, whereEquals );
  
      for (var i = 0; i < this.length; i++)
      {
        var model = this[ i ];
  
        if ( where( model ) )
        {
          return model;
        }
      }
  
      return null;
    }
docs: Returns the first element where the given expression is true.
  
  ```javascript
  var c = Rekord.collect([{x: 5}, {y: 6}, {y: 6, age: 8}, {z: 7}]);
  c.firstWhere('y', 6); // {x: 6}
  c.firstWhere(); // {x: 5}
  ```
  
  @method
  @memberof Rekord.Collection#
  @param {whereInput} [whereProperties] -
  The expression used to create a function to test the elements in this
  collection.
  @param {Any} [whereValue] -
  When the first argument is a string this argument will be treated as a
  value to compare to the value of the named property on the object passed
  through the filter function.
  @param {equalityCallback} [whereEquals=Rekord.equalsStrict] -
  An alternative function can be used to compare to values.
  @return {Any} -
  The first element in this collection that matches the given expression.
  @see Rekord.createWhere