hack: hide two other bugs by preserving iteration order using
LinkedHashSet