/** Resort interwiki hits so that they are grouped by interwiki prefix */ public void sortTitlesByInterwiki() { HashSet<String> orderSet = new HashSet<String>(); ArrayList<String> ordered = new ArrayList<String>(); HashMap<String, ArrayList<ResultSet>> groups = new HashMap<String, ArrayList<ResultSet>>(); for (ResultSet rs : titles) { String iw = rs.getInterwiki(); if (!orderSet.contains(iw)) { orderSet.add(iw); ordered.add(iw); } ArrayList<ResultSet> group = groups.get(iw); if (group == null) { group = new ArrayList<ResultSet>(); groups.put(iw, group); } group.add(rs); } ArrayList<ResultSet> sorted = new ArrayList<ResultSet>(); for (String iw : ordered) { sorted.addAll(groups.get(iw)); } titles = sorted; }