+ return NANOSECONDS.toSeconds(ticker.read() - lastModificationTime.get()) >= insertionDelay.get();
+ }
+
+ public boolean isModified() {
+ return !Objects.equal(lockableFingerprintProvider.getFingerprint(), lastInsertFingerprint);
+ }
+
+ /**
+ * Provider for a fingerprint and the information if a {@link Sone} is locked. This
+ * prevents us from having to lug a Sone object around.
+ */
+ static interface LockableFingerprintProvider {
+
+ boolean isLocked();
+ String getFingerprint();
+