if (p.equals(player)) {
if (p.getName().equals(player.getName())) {
    public synchronized boolean addConnection(ConnectionToServer c,        Player player, byte[] signature) {        System.err.println("Authenticating player " + player.getName());        /* determine whether this identity already exists */        NonNullElements i = new NonNullElements(KEY.PLAYERS,                serverGameEngine.getWorld(), Player.AUTHORITATIVE);        while (i.next()) {            Player p = (Player)i.getElement();            if (p.equals(player)) {                /* this player already exists */                /* is this identity already connected ? */                if (principals.containsValue(p)) {                    System.err.println("Player " + p.getName() + " is already" +                        " connected");                    return false;                }                /* is this player the same as the one which previously                 * connected under the same name? */                System.out.println("Verifying player " + p + " with " + player);                if (!p.verify(player, signature)) {                    System.err.println("Couldn't verify signature of player " +                        p.getName());                    return false;                }                principals.put(c, p);		/* set the connection world */		c.setWorld(new WorldView(serverGameEngine.getWorld(),			    p.getPrincipal()));                return true;            }        }        /* this player does not already exist */        System.err.println("Adding player " + player.getName() + " to " +            serverGameEngine.getWorld());	MoveConfirmer mc = new MoveConfirmer(serverGameEngine.getMoveExecuter(),		serverGameEngine.getMoveChainFork());        AddPlayerMove m = new AddPlayerMove(serverGameEngine.getWorld(), player);        MoveStatus ms = mc.confirmMove(m, null);	assert ms == MoveStatus.MOVE_OK;        /*         * get the newly created player-with-principal         */        World w = serverGameEngine.getWorld();        assert (w != null);        System.err.println("checking " + w);        player = (Player)w.get(KEY.PLAYERS,                w.size(KEY.PLAYERS, Player.AUTHORITATIVE) - 1,                Player.AUTHORITATIVE);        principals.put(c, player);	/* Perform any moves necessary for adding a new player */	serverGameEngine.getMoveExecuter().processMove	    (statGatherer.generateNewPlayerMove(player.getPrincipal()), c);		serverGameEngine.getMoveExecuter().processMove	    (scenario.getSetupMoves(serverGameEngine.getWorld(),		    player.getPrincipal()), c);	/* set the connection world */	c.setWorld(new WorldView(serverGameEngine.getWorld(),		    player.getPrincipal()));        return true;    }