/** * Removes a Town from the Datasource * * @param town */ public boolean removeTown(Town town) { boolean result = towns.remove(town.getName()) != null; for (Nation n : nations.values()) if (n.hasTown(town)) n.removeTown(town); for (Resident r : town.getResidents()) r.removeResidentFromTown(town); return result; }