docs: @SuppressWarnings("squid:S1166")
      public static Optional<ZonedDateTime> getNextMaintenanceWindow(final String cronSchedule, final String duration,
              final String timezone) {
          try {
              final ExecutionTime scheduleExecutor = ExecutionTime.forCron(getCronFromExpression(cronSchedule));
              final ZonedDateTime now = ZonedDateTime.now(ZoneOffset.of(timezone));
              final ZonedDateTime after = now.minus(convertToISODuration(duration));
              final ZonedDateTime next = scheduleExecutor.nextExecution(after);
              return Optional.of(next);
          } catch (final RuntimeException ignored) {
              return Optional.empty();
          }
      }