chatlounge.die();
if (chatlounge != null) { chatlounge.die(); }
    public void die() {        //Tell all the displays to remove themselves as listeners.        boolean reportHandled = false;        Enumeration names = phaseComponents.keys();        while (names.hasMoreElements()) {            Component component = (Component) phaseComponents.get(names.nextElement());            if (component instanceof ReportDisplay) {                if (reportHandled) {                    continue;                } else {                    reportHandled = true;                }            }            if (component instanceof Distractable) {                ((Distractable) component).removeAllListeners();            }        } // Handle the next component        frame.removeAll();        frame.setVisible(false);        try {            frame.dispose();        } catch (Throwable error) {            error.printStackTrace();        }        client.die();                //TODO Is there a better solution?        //This is required because the BoardView creates the redraw thread         //that must be stopped explicitly         bv.die();                //TODO Is there a better solution?        //This is required because the ChatLounge adds the listener to the        //MechSummaryCache that must be removed explicitly.                chatlounge.die();    }