Universe haveEveryPlanetAttack(Planet mine, Planets planetsToAttack) { List<Planet> newPlanets = new ArrayList<Planet>(); List<Fleet> additionalFleets = new ArrayList<Fleet>(); for (Planet p : planetsToAttack.minus(mine).items) { if (!p.isNeutral()) { newPlanets.add(p.removeShips(p.numShips)); additionalFleets.add(p.attack(mine)); } } return new Universe( planets.replace(new Planets(newPlanets)), fleets.union(new Fleets(additionalFleets)), turn, reservations); }