// possibly mark the datafile as modified.
if (checkDatafileModification &&
d.datafile != null &&
value != oldValue &&
(oldValue == null || value == null ||
!value.saveString().equals(oldValue.saveString()))) {
// This data element has been changed and should be saved.
if (PHANTOM_DATAFILES.contains(d.datafile)) {
// move the item OUT of the phantom datafile so it will be saved.