tri.close();
    Item(Context context, TableRow row) throws SQLException    {        ourContext = context;        itemRow = row;        dublinCoreChanged = false;        dublinCore = new ArrayList();        bundles = new ArrayList();        // Get the submitter        submitter = null;        if (!itemRow.isColumnNull("submitter_id"))        {            submitter = EPerson.find(ourContext, itemRow                    .getIntColumn("submitter_id"));        }        // Get bundles        TableRowIterator tri = DatabaseManager.query(ourContext, "bundle",                "SELECT bundle.* FROM bundle, item2bundle WHERE "                        + "item2bundle.bundle_id=bundle.bundle_id AND "                        + "item2bundle.item_id="                        + itemRow.getIntColumn("item_id"));        while (tri.hasNext())        {            TableRow r = tri.next();            // First check the cache            Bundle fromCache = (Bundle) context.fromCache(Bundle.class, r                    .getIntColumn("bundle_id"));            if (fromCache != null)            {                bundles.add(fromCache);            }            else            {                bundles.add(new Bundle(ourContext, r));            }        }        // Get Dublin Core metadata        tri = DatabaseManager.query(ourContext, "dcvalue",                "SELECT * FROM dcvalue WHERE item_id="                        + itemRow.getIntColumn("item_id")                        + " ORDER BY dc_type_id, place");        while (tri.hasNext())        {            TableRow resultRow = tri.next();            // Get the Dublin Core type            String[] dcType = DCType.quickFind(context, resultRow                    .getIntColumn("dc_type_id"));            // Make a DCValue object            DCValue dcv = new DCValue();            dcv.element = dcType[0];            dcv.qualifier = dcType[1];            dcv.value = resultRow.getStringColumn("text_value");            dcv.language = resultRow.getStringColumn("text_lang");            // Add it to the list            dublinCore.add(dcv);        }        // commented out - this belongs in the create() method, not the        // constructor        // Set the last modified date        //itemRow.setColumn("last_modified", new Date());        // Get our Handle if any        handle = HandleManager.findHandle(context, this);        // Cache ourselves        context.cache(this, row.getIntColumn("item_id"));    }