private void scoreFollowersOnBarnFarm(Farm farm, Map<City, CityScoreContext> cityCache) { FarmScoreContext ctx = farm.getScoreContext(); ctx.setCityCache(cityCache); farm.walk(ctx); boolean hasBarn = false; for (Meeple m : ctx.getSpecialMeeples()) { if (m instanceof Barn) { hasBarn = true; break; } } if (hasBarn) { for (Player p : ctx.getMajorOwners()) { int points = ctx.getPointsWhenBarnIsConnected(p); game.scoreFeature(points, ctx, p); } for (Meeple m : ctx.getMeeples()) { if (!(m instanceof Barn)) { m.undeploy(false); } } } }