@VisibleForTesting
  static ModificationTimeProvider createModificationTimeProvider(String modificationTime)
      throws InvalidFilesModificationTimeException {
    try {
      switch (modificationTime) {
        case "EPOCH_PLUS_SECOND":
          Instant epochPlusSecond = Instant.ofEpochSecond(1);
          return (ignored1, ignored2) -> epochPlusSecond;

        default:
          Instant timestamp =
              DateTimeFormatter.ISO_DATE_TIME.parse(modificationTime, Instant::from);
          return (ignored1, ignored2) -> timestamp;
      }

    } catch (DateTimeParseException ex) {
      throw new InvalidFilesModificationTimeException(modificationTime, modificationTime, ex);
    }
  }
@Test
  public void testCreateModificationTimeProvider_invalidValue() {
    InvalidFilesModificationTimeException exception =
        assertThrows(
            InvalidFilesModificationTimeException.class,
            () -> PluginConfigurationProcessor.createModificationTimeProvider("invalid format"));
    assertThat(exception).hasMessageThat().isEqualTo("invalid format");
    assertThat(exception.getInvalidFilesModificationTime()).isEqualTo("invalid format");
  }