}
R record = select.fetchOne();
if (record == null) {
throw new DataChangedException("Database record no longer exists");
}
for (Field<?> field : fields.fields.fields) {
Object thisObject = original(field);
Object thatObject = record.original(field);
if (!StringUtils.equals(thisObject, thatObject)) {
throw new DataChangedException("Database record has been changed");
}
}
}