+ /**
+ * Returns whether these properties have been modified.
+ *
+ * @return {@code true} if the properties have been modified since they were
+ * created or the last time {@link #resetDirty()} was called,
+ * {@code false} if they have not been modified
+ */
+ public boolean isDirty() {
+ return dirty;
+ }
+
+ /**
+ * Resets the dirty flag.
+ *
+ * @return These properties
+ */
+ public Properties resetDirty() {
+ dirty = false;
+ return this;
+ }
+