public void updateUsersList() { usersListModel.removeAllElements(); Channel channel = getDocument().getChannel(); List muteableNicks = new ArrayList(channel.getNicks()); Session session = getDocument().getSession(); Map nickPrefixMap = session.getServerInformation().getNickPrefixeMap(); Map modeNicksMap = new HashMap(); for(String prefix : nickPrefixMap.keySet()) { List modeNicks = channel.getNicksForMode(nickPrefixMap.get(prefix)); Collections.sort(modeNicks , new NickComparator()); for(String nick : modeNicks) { if(!modeNicksMap.containsKey(nick)) { modeNicksMap.put(nick , prefix); muteableNicks.remove(nick); usersListModel.addElement(prefix + nick); } } } Collections.sort(muteableNicks , new NickComparator()); for (String aNick : muteableNicks) { usersListModel.addElement(aNick); } }