@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);
 }