public boolean removeFromUserList(String nick) throws BadLocationException, IOException {
        listSelectedIndex = userListPane.getSelectedIndex();

        String[] prefix = new String[]{" ", "+", "@", "~", "&"};
        SortedListModel<User> model = (SortedListModel<User>) this.userListPane.getModel();
        int oldPop = model.getSize();
        boolean success;

        for (String aPrefix : prefix) {
            User u = new User(aPrefix + nick);
            success = model.removeElement(u);
            if (success) {
                if (!aPrefix.equals(" ") && aPrefix.equals("+")) ops--;
                break;
            }
        }
        population = model.getSize();
        if (listSelectedIndex > -1 && listSelectedIndex < model.getSize()) {
            User u1 = userListPane.getModel().getElementAt(listSelectedIndex);
            String s1 = u1.getText();
            int result = ChannelPanel.compareNicks(s1, nick);
            if (result == 0) userListPane.clearSelection();
            if (result > 0) {
                userListPane.setSelectedIndex(--listSelectedIndex);
            } else userListPane.setSelectedIndex(listSelectedIndex);

        }
        updateTabInfo();

        return !(oldPop == population);
    }