
Java's Map.get() returns null if there is no match, so this was always setting each entry to whatever value was in the highest priority locale, whether it had contents or what null. Now, this will fall through the priority list of locales until it finds actually contents.