private boolean parseLeave(String in, String[] split) {
        String names[] = in.toString().split("!");

        String name = names[0].substring(1);
        String host = names[1].split(" ")[0];
        String channel = split[2];


        serv.getServerPanel().getChannelPane(channel).getUserlist().getList().removeElement(name);
        String[] ops = {"@", "&", "%", "+", "~"};
        for (String op : ops) {
            serv.getServerPanel().getChannelPane(channel).getUserlist().getList().removeElement(op + name);
        }

        if (split[1].equals("PART")) {
            serv.getServerPanel().getChannelPane(channel).getChat().appendPart(name
                    + " (" + host + ")", channel);
        } else {
            for (ChannelPanel cp : serv.getServerPanel().getChannelList()) {

                if (cp.getUserlist().getList().contains(name)) {
                    cp.getChat().appendQuit(name + " (" + host + ")", channel);
                }
                for (String op : ops) {
                    if (cp.getUserlist().getList().contains(op + name)) {
                        cp.getChat().appendQuit(name + " (" + host + ")", channel);
                    }
                }

            }
        }
        try {
            if (log) {
                new Log(serv.getServerPanel().getServerName(), channel).writeLine(name + "(" + host + ") has left " + channel);
            }
        } catch (IOException ioe) {
        }

        return true;
    }