public Households filterHouseholdsWithPopulation( final Households households, final ObjectAttributes householdAttributes) { Households filteredHouseholds = new HouseholdsImpl(); for (Household household : households.getHouseholds().values()) { Set<Id<Person>> personIdsToRemove = new HashSet<>(); for (Id<Person> personId : household.getMemberIds()) { if (!filteredAgents.keySet().contains(personId)) { personIdsToRemove.add(personId); } } for (Id<Person> personId : personIdsToRemove) { household.getMemberIds().remove(personId); } if (!household.getMemberIds().isEmpty()) { filteredHouseholds.getHouseholds().put(household.getId(), household); } else { householdAttributes.removeAllAttributes(household.getId().toString()); } } return filteredHouseholds; }