@Override public boolean visit(Feature feature) { Farm farm = (Farm) feature; if (farm.isAdjoiningCityOfCarcassonne()) { adjoiningCityOfCarcassonne = true; } if (farm.getAdjoiningCities() != null) { addAdjoiningCompletedCities(farm.getAdjoiningCities()); } for (Meeple m : farm.getMeeples()) { if (m instanceof Pig) { pigs.add(m.getPlayer()); } } if (farm.isPigHerd()) { pigHerd = true; } return super.visit(feature); }