MetadataRecord previous = new MetadataRecord(change.getEntity(), scope, propsBefore, tagsBefore); propsAfter, entry -> !entry.getValue().equals(propsBefore.get(entry.getKey()))); Set<String> tagsAdded = Sets.difference(tagsAfter, tagsBefore); MetadataRecord additions = new MetadataRecord(change.getEntity(), scope, propsAdded, tagsAdded); propsBefore, entry -> !entry.getValue().equals(propsAfter.get(entry.getKey()))); Set<String> tagsDeleted = Sets.difference(tagsBefore, tagsAfter); MetadataRecord deletions = new MetadataRecord(change.getEntity(), scope, propsDeleted, tagsDeleted);