String schemaURL = null;  if (itemInfo == null) { log.info(LogManager.getHeader(null, "oai_error", "id_does_not_exist")); throw new IdDoesNotExistException(identifier); } else if ((schemaURL = getCrosswalks().getSchemaURL(metadataPrefix)) == null) { log.info(LogManager.getHeader(null, "oai_error", "cannot_disseminate_format")); throw new CannotDisseminateFormatException(metadataPrefix); }  return getRecordFactory().create(itemInfo, schemaURL, metadataPrefix);
return record;
    public String getRecord(String identifier, String metadataPrefix)            throws OAIInternalServerError, CannotDisseminateFormatException,            IdDoesNotExistException    {        log                .info(LogManager.getHeader(null, "oai_request",                        "verb=getRecord,identifier="                                + ((identifier == null) ? "null" : identifier)                                + ",metadataPrefix="                                + ((metadataPrefix == null) ? "null"                                        : metadataPrefix)));        Context context = null;        HarvestedItemInfo itemInfo = null;        // First get the item from the DB        try        {            // Valid IDs start with oai:hostname:            if (identifier.startsWith(OAI_ID_PREFIX))            {                context = new Context();                itemInfo = Harvest.getSingle(context, identifier                        .substring(OAI_ID_PREFIX.length()), // Strip prefix to                                                            // get raw handle                        true);            }        }        catch (SQLException se)        {            // Log the error            log.warn(LogManager.getHeader(context, "database_error", ""), se);            throw new OAIInternalServerError(se.toString());        }        finally        {            if (context != null)            {                context.abort();            }        }        String schemaURL = null;        if (itemInfo == null)        {            log.info(LogManager.getHeader(null, "oai_error",                    "id_does_not_exist"));            throw new IdDoesNotExistException(identifier);        }        else if ((schemaURL = getCrosswalks().getSchemaURL(metadataPrefix)) == null)        {            log.info(LogManager.getHeader(null, "oai_error",                    "cannot_disseminate_format"));            throw new CannotDisseminateFormatException(metadataPrefix);        }        return getRecordFactory().create(itemInfo, schemaURL, metadataPrefix);    }