private @NotNull Pair<Path, Date> tryParsePath(final Path path) {
    //TODO RC: use FileRecord instead of Pair, and parse sub-millisecond suffix also
    final String fileName = directory.relativize(path).toString();
    try {
      final Object[] results = fileNameFormat.parse(fileName);
      final Date fileCreatedAt = (Date)results[0];
      return new Pair<>(path, fileCreatedAt);
    }
    catch (ParseException e) {
      return new Pair<>(path, null);
    }
  }
private @NotNull Pair<Path, Date> tryParsePath(final Path path)