}
Set<String> allowed = Sets.newHashSet("is_public", "name", "attributes", "is_protected");
for (Entry<FieldDescriptor, Object> entry : changes.getAllFields().entrySet()) {
FieldDescriptor field = entry.getKey();
String key = field.getName();
if (!allowed.contains(key)) {
Object existing = i.getData().getField(field);
if (!Objects.equal(existing, entry.getValue())) {
log.warn("Attempt to update blocked field: " + key);