private void verifyMetadata(MetadataStorage mds, MetadataEntity entity, Metadata metadata) throws IOException {
Assert.assertEquals(metadata, mds.read(new Read(entity)));
verifyFilteredMetadata(mds, entity, metadata, SYSTEM, null);
verifyFilteredMetadata(mds, entity, metadata, USER, null);
verifyFilteredMetadata(mds, entity, metadata, null, PROPERTY);
verifyFilteredMetadata(mds, entity, metadata, null, MetadataKind.TAG);
verifyFilteredMetadata(mds, entity, metadata, SYSTEM, PROPERTY);
verifyFilteredMetadata(mds, entity, metadata, SYSTEM, MetadataKind.TAG);
verifyFilteredMetadata(mds, entity, metadata, USER, PROPERTY);
verifyFilteredMetadata(mds, entity, metadata, USER, MetadataKind.TAG);
}