@Override public <X> boolean isModified(Key<X, ?> key, X value) { ErraiManagedType<X> entityType = key.getEntityType(); String keyJson = namespace + key.toJson(); JSONValue newValueJson = entityType.toJson(em, value); JSONValue oldValueJson = JSONParser.parseStrict(LocalStorage.get(keyJson)); boolean modified = !JsonUtil.equals(newValueJson, oldValueJson); if (modified) { logger.trace("Detected modified entity " + key); logger.trace(" Old: " + oldValueJson); logger.trace(" New: " + newValueJson); } return modified; }