private void loadCatalogDD() { try { String catKey = (String) cbCategory.getSelectedItem(); String sexKey = (String) cbSex.getSelectedItem(); RuleSet oldRS = (RuleSet) cbCatalog.getSelectedItem(); String catalogKey = ""; if (oldRS != null) { catalogKey = oldRS.getTitle(); } List<RuleSet> cats = categories.get(catKey); List<RuleSet> sexes = categories.get("Sex: " + sexKey); List<RuleSet> join = new ArrayList<>(); join.addAll(cats); join.retainAll(sexes); Collections.sort(join, new DataElementComperator()); Vector<RuleSet> catalogs = new Vector<>(); int oldSelected = -1; int n = 0; for (int i = 0; i < join.size(); i++) { RuleSet rs = join.get(i); if (rs.getUsage().equals("final")) { catalogs.add(rs); if (rs.getTitle().equals(catalogKey)) { oldSelected = n; } n++; } } DefaultComboBoxModel catalogModel = new DefaultComboBoxModel(catalogs); cbCatalog.setModel(catalogModel); if (oldSelected >= 0) cbCatalog.setSelectedIndex(oldSelected); } catch (Exception e) { Logging.errorPrint(e.getMessage(), e); } }