public function min(Traversable $traversable)
    {
        $array = iterator_to_array($traversable, false);
        Arrays::sort($array, $this);
        return Preconditions::checkElementExists($array, 0);
    }
public function min(Traversable $traversable)
    {
        $array = iterator_to_array($traversable, false);
        Arrays::sort($array, $this);
        return Preconditions::checkElementExists($array, 0);
    }
Returns the least of the specified values according to this ordering.

@param Traversable $traversable
@return mixed
@throws \OutOfBoundsException if $traversable is empty