tri.close();
    public Community[] getSubcommunities() throws SQLException    {        List subcommunities = new ArrayList();        // Get the table rows        TableRowIterator tri = DatabaseManager                .query(                        ourContext,                        "community",                        "SELECT community.* FROM community, community2community WHERE "                                + "community2community.child_comm_id=community.community_id "                                + "AND community2community.parent_comm_id="                                + getID() + " ORDER BY community.name");        // Make Community objects        while (tri.hasNext())        {            TableRow row = tri.next();            // First check the cache            Community fromCache = (Community) ourContext.fromCache(                    Community.class, row.getIntColumn("community_id"));            if (fromCache != null)            {                subcommunities.add(fromCache);            }            else            {                subcommunities.add(new Community(ourContext, row));            }        }        // Put them in an array        Community[] communityArray = new Community[subcommunities.size()];        communityArray = (Community[]) subcommunities.toArray(communityArray);        return communityArray;    }