if (metadataPrefix == null || metadataPrefix.length() == 0
|| identifier == null || identifier.length() == 0
|| hasBadArguments(request, validParamNames.iterator(), validParamNames)) {
throw new BadArgumentException();
}
else if (!crosswalks.containsValue(metadataPrefix)) {
throw new CannotDisseminateFormatException(metadataPrefix);
} else {
String record = abstractCatalog.getRecord(identifier, metadataPrefix);
if (record != null) {
sb.append(getRequestElement(request, validParamNames, baseURL));