public void update(ServerMessage m) {
        if (m instanceof GamesMessage) {
            this.setGameList((GamesMessage) m);
        } else if (m instanceof PlayersMessage) {
            PlayersMessage pm = (PlayersMessage) m;
            this.processPlayersMessage((PlayersMessage) m);
        } else if (m instanceof ServerChatMessage) {
            ServerChatMessage scm = (ServerChatMessage) m;
            String msg = scm.getMessage();
            if (scm.getTranslate()) {
                msg = _(msg);
            }
            this.chatdialog.sendChatText(scm.getPlayerName(), msg, scm.isAction(), getCore());
            if (managementSound != null) {
                managementSound.clapSound();
            }
        } else if (m instanceof JoinGameResponseMessage) {
            JoinGameResponseMessage jgrm = (JoinGameResponseMessage) m;
            if (jgrm.getResponseType().equals(Constants.ResponseType.ok)) {
                WaitingGamePanel wgp = new WaitingGamePanel();
                if (this.joinGame == null) {
                    logger.severe("The game to join was null!");
                    errorDialog(_("You cannot join to this game."));
                } else {
                    wgp.setMapId(this.joinGame.getMapId());
                    wgp.setGameMode(this.joinGame.getGameMode());
                    this.getCore().setActiveGame(this.joinGame);
                    this.getCore().pushScreen(wgp);
                }
            } else if (jgrm.getResponseType().equals(Constants.ResponseType.multi)) {
                errorDialog(_("You already joined to this game."));
            } else {
                errorDialog(_("You cannot join to this game."));
            }
            this.joinButton.setEnabled(true);
        }
    }