void (ItemEvent e) { final TrelloBoard board = (TrelloBoard)e.getItem(); if (e.getStateChange() == ItemEvent.DESELECTED || board.equals(myRepository.getCurrentBoard())) { return; } if (board != TrelloRepository.UNSPECIFIED_BOARD) { myRepository.setCurrentBoard(board); new ListsComboBoxUpdater() { @Nullable @Override public TrelloList getSelectedItem() { return TrelloRepository.UNSPECIFIED_LIST; } }.queue(); } else { myRepository.setCurrentBoard(null); // will not fire selection event myListComboBox.removeAllItems(); myRepository.setCurrentList(null); } doApply(); }