// will likely already have happened as part of serialization/deserialization code.
SystemFields systemFields = SystemFields.getInstance(repository.getTypeManager(), repository.getIdGenerator());
for (MutationCondition condition : conditions) {
Object value = systemFields.softEval(record, condition.getField(), repository.getTypeManager());
// Compare with null value is special case, handle this first
if (condition.getValue() == null) {
if (condition.getOp() == CompareOp.EQUAL) {
if (value == null) {