public AIConnection[] getListInTurnOrderAndMoveToNextTurn(){
	// TODO: Dead players are currently not purged anymore. Verify that works...
	// purgeDeadPlayersFromRing();

	// TODO: build in check here to skip over passing players
	// TODO: test this code
	while(true){
	    currentPlayer = currentPlayer.next;
	    if(currentPlayer.connection.hasToPass){
		currentPlayer.connection.hasToPass = false;
	    }
	    else {
		// player doesn't have to pass his turn, but he hasn't respawned yet. Respawn him.
		if(currentPlayer.connection.needsRespawn && !currentPlayer.connection.hasToPass){
		    currentPlayer.connection.respawn();
		}
		break; // we found a player who doesn't have to pass his turn
	    }
	}
	
	LinkedList<AIConnection> templist = new LinkedList<AIConnection>();
	RingNode tempPlayer = currentPlayer; // it's currentPlayers turn.
	do {
	    templist.add(tempPlayer.connection);
	    tempPlayer = tempPlayer.next;
	} while(tempPlayer != currentPlayer);

	
	AIConnection[] connectionArrayWorkaroundForJavasStupidTypeSystem = new AIConnection[0];
	return templist.toArray(connectionArrayWorkaroundForJavasStupidTypeSystem);
    }