observer.clear(op.getParentPath());
} else if (operation instanceof PutOperation) {
PutOperation op = (PutOperation)operation;
observer.put(op.getParentPath(), op.getFieldName(), op.getNewValue());
} else if (operation instanceof PutIfAbsentOperation) {
PutIfAbsentOperation op = (PutIfAbsentOperation)operation;
if (op.isApplied()) {
observer.put(op.getParentPath(), op.getFieldName(), op.getNewValue());
}
} else if (operation instanceof RemoveOperation) {
RemoveOperation op = (RemoveOperation)operation;
if (op.isRemoved()) {
observer.remove(op.getParentPath(), op.getFieldName());
}
}
}
}
}