Returns the last element.
if the collection is empty.
Returns the last element matching the given predicate.
if no such element is found.