public String createMetadata(Object nativeItem, String schemaURL, String metadataPrefix,
Iterator setSpecs, Iterator abouts)
throws IllegalArgumentException, CannotDisseminateFormatException {
try {
if (isDeleted(nativeItem)) {
throw new CannotDisseminateFormatException("Record is deleted.");
}
String result = quickCreateMetadata(nativeItem, schemaURL, metadataPrefix);
if (result == null) {
if (setSpecs == null) {
setSpecs = getSetSpecs(nativeItem);
}
if (abouts == null) {
abouts = getAbouts(nativeItem);
}
result = createMetadata(nativeItem, schemaURL,
isDeleted(nativeItem));
}
return result;
} catch (OAIInternalServerError e) {
e.printStackTrace();
throw new CannotDisseminateFormatException(e.getMessage());
}
}