@Override public void clearMetadata( Context context, T dso, String schema, String element, String qualifier, String lang) throws SQLException { // We will build a list of values NOT matching the values to clear Iterator<MetadataValue> metadata = dso.getMetadata().iterator(); while (metadata.hasNext()) { MetadataValue metadataValue = metadata.next(); if (match(schema, element, qualifier, lang, metadataValue)) { metadataValue.setDSpaceObject(null); metadata.remove(); // metadataValueService.delete(context, metadataValue); } } dso.setMetadataModified(); }