verifyMetadata(mds, entity, metadata); change = mds.apply(new Remove(entity, SYSTEM, PROPERTY)); newMetadata = union(filterBy(metadata, SYSTEM, TAG), filterBy(metadata, USER, null)); Assert.assertEquals(new MetadataChange(entity, metadata, newMetadata), change); verifyMetadata(mds, entity, newMetadata); verifyMetadata(mds, entity, metadata); change = mds.apply(new Remove(entity, USER, TAG)); newMetadata = union(filterBy(metadata, USER, PROPERTY), filterBy(metadata, SYSTEM, null)); Assert.assertEquals(new MetadataChange(entity, metadata, newMetadata), change); verifyMetadata(mds, entity, newMetadata);