else { return getRecordFactory().getSchemaLocations(itemInfo); }
    public Vector getSchemaLocations(String identifier)        throws OAIInternalServerError, IdDoesNotExistException, NoMetadataFormatsException    {        HarvestedItemInfo itemInfo = null;        Context context = null;        // Get the item from the DB        try        {            context = new Context();            // Valid identifiers all have prefix "hdl:"            if (identifier.startsWith("hdl:"))            {                itemInfo = Harvest.getSingle(context,                    identifier.substring(4),  // Remove "hdl:"                    false);            }        }        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();            }        }        if (itemInfo == null)        {            if (itemInfo.withdrawn)            {                throw new NoMetadataFormatsException();            }            else            {                throw new IdDoesNotExistException(identifier);            }        }        else        {            return getRecordFactory().getSchemaLocations(itemInfo);        }    }