modelRoot.getUserMessageLogger().println("Attempting to " + "authenticate " + player.getName() + " with server");
modelRoot.getUserMessageLogger().println (Resources.get("Attempting to authenticate player: ") + player.getName());
    private synchronized void setConnectionImpl(ConnectionToServer c)        throws IOException, GeneralSecurityException {        if (gameLoop != null) {            gameLoop.stop();        }        if (connection != null) {            closeConnection();            connection.removeMoveReceiver(worldUpdater);            connection.removeConnectionListener(this);        }        /* grab the lock on the WorldUpdater in order to prevent any moves from         * the server being lost whilst we plumb it in */        synchronized (worldUpdater) {            connection = c;            connection.open();            connection.addMoveReceiver(worldUpdater);            connection.addConnectionListener(this);            world = connection.loadWorldFromServer();            /* plumb in a new Move Executer */            moveExecuter = new NonAuthoritativeMoveExecuter(world,                    moveReceiver, modelRoot);            worldUpdater.setMoveReceiver(moveExecuter);            uncommittedReceiver = moveExecuter.getUncommittedMoveReceiver();            ((NonAuthoritativeMoveExecuter.PendingQueue)uncommittedReceiver).addMoveReceiver(connection);        }        /* start a new game loop */	gameLoop = new GameLoop(guiRoot.getScreenHandler(),		moveExecuter);        /* attempt to authenticate the player */        modelRoot.getUserMessageLogger().println("Attempting to " +            "authenticate " + player.getName() + " with server");        authenticated = false;        connection.sendCommand(new AddPlayerCommand(player, player.sign()));    }