if (state != null && !embedded) {
// make sure that all the fields in the original FG are loaded
// before we try to compare version
if (fields != null && !fields.equals(sm.getLoaded())) {
BitSet toLoad = (BitSet) fields.clone();
toLoad.andNot(sm.getLoaded()); // skip already loaded fields
if (toLoad.length() > 0)
sm.loadFields(toLoad, null, LockLevels.LOCK_NONE, null);
//### we should calculate lock level above
}
Object version = state[offset];