public boolean arrival() { List<Fleet> fleets = new ArrayList<>(); boolean arrival = false; if (Fleets().size() == 0) { return true; } for (Fleet fleet : Fleets()) { if (fleet.TurnsRemaining() == 0) { arrival = true; fleets.add(fleet); } } fleets.forEach( fleet -> { Planet dest = GetPlanet(fleet.DestinationPlanet()); if (fleet.Owner() != dest.Owner()) { dest.NumShips(dest.NumShips() - fleet.NumShips()); if (dest.NumShips() < 0) { dest.Owner(fleet.Owner()); dest.NumShips(Math.abs(dest.NumShips())); } } else { dest.NumShips(dest.NumShips() + fleet.NumShips()); } }); return arrival; }