docs: protected long determineInitialDelay( String initialTimeExpression ) {
          Matcher matcher = RepositoryConfiguration.INITIAL_TIME_PATTERN.matcher(initialTimeExpression);
          if (matcher.matches()) {
              int hours = Integer.valueOf(matcher.group(1));
              int mins = Integer.valueOf(matcher.group(2));
              LocalDateTime dateTime = LocalDateTime.of(LocalDate.now(ZoneOffset.UTC), LocalTime.of(hours, mins));
              long delay = dateTime.toInstant(ZoneOffset.UTC).toEpochMilli() - System.currentTimeMillis();
              if (delay <= 0L) {
                  delay = dateTime.plusDays(1).toInstant(ZoneOffset.UTC).toEpochMilli() - System.currentTimeMillis();
              }
              if (delay < 10000L) delay += 10000L; // at least 10 second delay to let repository finish starting ...
              assert delay >= 0;
              return delay;
          }
          String msg = JcrI18n.invalidGarbageCollectionInitialTime.text(repositoryName(), initialTimeExpression);
          throw new IllegalArgumentException(msg);
      }