public static function minOf(LocalDate ...$dates) : LocalDate
    {
        if (! $dates) {
            throw new DateTimeException(__METHOD__ . ' does not accept less than 1 parameter.');
        }

        $min = LocalDate::max();

        foreach ($dates as $time) {
            if ($time->isBefore($min)) {
                $min = $time;
            }
        }

        return $min;
    }