DataRow currentSnapshot = o.getDataContext().currentSnapshot(o);
Map snapshot = new HashMap(currentSnapshot.size());
// no committed snapshot (why?) - just use values from current snapshot
if (committedSnapshot == null || committedSnapshot.isEmpty()) {
Iterator i = currentSnapshot.entrySet().iterator();
while (i.hasNext()) {
Map.Entry entry = (Map.Entry) i.next();
String dbAttrPath = (String) entry.getKey();
boolean compoundDbAttr = dbAttrPath.indexOf(Entity.PATH_SEPARATOR) > 0;
Object newValue = entry.getValue();