Consider supported locales like ..., de-AT, de-CH, de-DE, ... and a desired locale of de-US.
Each of the de-* supported locales matches equally well, and none matches perfectly. The matcher returns the first one in the list (de-AT in this example).
In such a case, I suggest that we try to return the "more default" locale, which is de=de-DE, where DE is the default region for de.