public boolean visit(Feature feature) {
City city = (City) feature;
pennants += city.getPennants();
cathedral = cathedral || city.isCathedral();
besieged = besieged || city.isBesieged();
TradeResource tr = city.getTradeResource();
if (tr != null) {
if (cityTradeResources == null) {
cityTradeResources = new int[TradeResource.values().length];
}
cityTradeResources[tr.ordinal()]++;
}
if (cityCache != null) {
cityCache.put(city, this);
}
return super.visit(feature);