boolean (Stamp stamp, File file, @NotNull BasicFileAttributes attrs) { if (!(stamp instanceof Timestamp)) return true; Timestamp timestamp = (Timestamp) stamp; // for symlinks the attr structure reflects the symlink's timestamp and not symlink's target timestamp return attrs.isRegularFile() ? attrs.lastModifiedTime().toMillis() != timestamp.myTimestamp : isDirtyStamp(timestamp, file); }