File store = assetStores[storeNumber];
GeneralFile assetstore = assetStores[storeNumber];
    private static File getFile(TableRow bitstream) throws IOException    {        // Check that bitstream is not null        if (bitstream == null)        {            return null;        }        // Get the store to use        int storeNumber = bitstream.getIntColumn("store_number");        // Default to zero ('assetstore.dir') for backwards compatibility        if (storeNumber == -1)        {            storeNumber = 0;        }        File store = assetStores[storeNumber];        // Turn the internal ID into a file path relative to the asset store        // directory        String id = bitstream.getStringColumn("internal_id");        BigInteger bigint = new BigInteger(id);        StringBuffer result = new StringBuffer().append(store                .getCanonicalPath());        // Split the id into groups        for (int i = 0; i < directoryLevels; i++)        {            int digits = i * digitsPerLevel;            result.append(File.separator).append(                    id.substring(digits, digits + digitsPerLevel));        }        String theName = result.append(File.separator).append(id).toString();        if (log.isDebugEnabled())        {            log.debug("Filename for " + id + " is " + theName);        }        return new File(theName);    }