private void updateStacks()
    {
        Object[][] state = Simulator.getField().getFieldArray();
       

        int countRabbit = 0;       
        int countFox = 0;
        int countHunter = 0;
        int countGrass = 0;
        int countKorenwolf = 0;

        // Count all field participants
        for(int i = 0; i < state.length; i++) {
            for(int j = 0; j < state[i].length; j++) {
                if(state[i][j] instanceof Rabbit)
                    countRabbit++;                
                if(state[i][j] instanceof Fox)
                    countFox++;
                if(state[i][j] instanceof Hunter)
                    countHunter++;
                if(state[i][j] instanceof Grass)
                    countGrass++;
                if(state[i][j] instanceof Korenwolf)
                    countKorenwolf++;
            }
        }

        // Update stacks
        rabbitStack.add(calculateCoords(countRabbit));
        rabbitStack.remove(0);       

        foxStack.add(calculateCoords(countFox));
        foxStack.remove(0);

        hunterStack.add(calculateCoords(countHunter));
        hunterStack.remove(0);

        grassStack.add(calculateCoords(countGrass));
        grassStack.remove(0);
        
        korenwolfStack.add(calculateCoords(countKorenwolf));
        korenwolfStack.remove(0);
    }