int lowestMonth = months.getValues().get(0);
int lowestHour = hours.getValues().get(0);
int lowestMinute = minutes.getValues().get(0);
int lowestSecond = seconds.getValues().get(0);
NearestValue nearestValue;
<BUG>DateTime newDate;
</BUG>
if(year.isEmpty()){
int newYear = yearsValueGenerator.generateNextValue(date.getYear());
<BUG>days = generateDays(cronDefinition, new DateTime(newYear, lowestMonth, 1, 0, 0));
</BUG>
return initDateTime(yearsValueGenerator.generateNextValue(date.getYear()), lowestMonth, days.getValues().get(0), lowestHour, lowestMinute, lowestSecond, date.getZone());

int lowestMonth = months.getValues().get(0);
int lowestHour = hours.getValues().get(0);
int lowestMinute = minutes.getValues().get(0);
int lowestSecond = seconds.getValues().get(0);
NearestValue nearestValue;
ZonedDateTime newDate;
if(year.isEmpty()){
int newYear = yearsValueGenerator.generateNextValue(date.getYear());
days = generateDays(cronDefinition, ZonedDateTime.of(LocalDateTime.of(newYear, lowestMonth, 1, 0, 0), date.getZone()));
return initDateTime(yearsValueGenerator.generateNextValue(date.getYear()), lowestMonth, days.getValues().get(0), lowestHour, lowestMinute, lowestSecond, date.getZone());
