@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_isoDateTimeValue()
      throws InvalidFilesModificationTimeException {
    ModificationTimeProvider timeProvider =
        PluginConfigurationProcessor.createModificationTimeProvider("2011-12-03T10:15:30+09:00");
    Instant expected = DateTimeFormatter.ISO_DATE_TIME.parse("2011-12-03T01:15:30Z", Instant::from);
    assertThat(timeProvider.get(Paths.get("foo"), AbsoluteUnixPath.get("/bar")))
        .isEqualTo(expected);
  }