flares.setElementAt(flare, i);
flares.set(i, flare);
    public String ageFlares() {        StringBuffer report=new StringBuffer();        for(int i=flares.size() - 1;i>=0;i--) {            Flare flare = (Flare)flares.elementAt(i);            report.append("Flare in hex ");            report.append(flare.position.getBoardNum());            if((flare.flags & Flare.F_IGNITED) != 0) {                flare.turnsToBurn--;                if ((flare.flags & Flare.F_DRIFTING) != 0) {                    int dir = getWindDirection();                    int str = getWindStrength();                    if(str > 0) {                        flare.position = flare.position.translated(dir);                        if(str == 3) {                            flare.position = flare.position.translated(dir);                        }                    report.append(" drifts to hex ");                    report.append(flare.position.getBoardNum());                    report.append(" and");                    }                }            } else {                report.append(" ignites, and");                flare.flags |= Flare.F_IGNITED;            }            if(flare.turnsToBurn <= 0) {                report.append(" burns out.");                flares.removeElementAt(i);            } else {                report.append(" has ");                report.append(flare.turnsToBurn);                report.append(" turns left to burn.");                flares.setElementAt(flare, i);            }            report.append("\n");        }        processGameEvent(new GameBoardChangeEvent(this));        return report.toString();    }