public Optional<DateTime> nextTime(JobTriggerDto trigger) {
        return nextTime(trigger, trigger.nextTime());
    }
@Test
    public void cronNextTimeAfter() {
        final JobTriggerDto trigger = JobTriggerDto.builderWithClock(clock)
                .jobDefinitionId("abc-123")
                .jobDefinitionType("event-processor-execution-v1")
                .schedule(CronJobSchedule.builder()
                        .cronExpression("0 0 * ? * * *")
                        .timezone("UTC")
                        .build())
                .build();

        DateTime date = DateTime.parse("2024-01-01T0:00:00.000Z");

        DateTime nextTime = strategies.nextTime(trigger, date).orElse(null);

        assertThat(nextTime)
                .isNotNull()
                .satisfies(dateTime -> {
                    assertThat(dateTime.getZone()).isEqualTo(DateTimeZone.forID("UTC"));
                    assertThat(dateTime.toString(DATE_FORMAT)).isEqualTo("01/01/2024 01:00:00");
                });

        date = DateTime.parse("2024-02-01T0:00:00.000Z");
        nextTime = strategies.nextTime(trigger, date).orElse(null);
        assertThat(nextTime)
                .isNotNull()
                .satisfies(dateTime -> {
                    assertThat(dateTime.getZone()).isEqualTo(DateTimeZone.forID("UTC"));
                    assertThat(dateTime.toString(DATE_FORMAT)).isEqualTo("01/02/2024 01:00:00");
                });
    }