currentScore = GameStateEvaluator.evaluate(playerId, game);
if (!getNextAction(game)) {
Game sim = createSimulation(game);
SimulationNode.resetCount();
root = new SimulationNode(null, sim, playerId);
<BUG>logger.debug("simulating actions");
addActionsTimed(new FilterAbility());
if (root.children.size() > 0) {</BUG>
root = root.children.get(0);
actions = new LinkedList<Ability>(root.abilities);

currentScore = GameStateEvaluator.evaluate(playerId, game);
if (!getNextAction(game)) {
Game sim = createSimulation(game);
SimulationNode.resetCount();
root = new SimulationNode(null, sim, playerId);
logger.debug("simulating actions");
if (!isTestMode)
addActionsTimed(new FilterAbility());
else
addActions(root, new FilterAbility(), Integer.MIN_VALUE, Integer.MAX_VALUE);
if (root.children.size() > 0) {
root = root.children.get(0);
actions = new LinkedList<Ability>(root.abilities);
