public static Locale setupRuntimeLocale() {
        Locale systemDefault = Locale.getDefault();
        log.info("System Default Locale: [{}]", systemDefault);
        // TODO: Review- do we need to store the system default anywhere?

        // Useful to log the "user.*" properties for debugging...
        Set<String> pn = new HashSet<>(System.getProperties().stringPropertyNames());
        pn.removeIf(f -> !(f.startsWith("user.")));
        for (String ukey : pn) {
            log.debug("  {}: {}", ukey, System.getProperty(ukey));
        }

        String language = System.getProperty(USER_LANGUAGE);
        String country = System.getProperty(USER_COUNTRY);
        log.info("Language: [{}], Country: [{}]", language, country);
        Locale runtime = new Locale(language != null ? language : EMPTY,
                                    country != null ? country : EMPTY);

        String override = System.getenv(ONOS_LOCALE);
        if (override != null) {
            log.warn("Override with ONOS_LOCALE: [{}]", override);
            runtime = localeFromString(override);
        }

        log.info("Setting runtime locale to: [{}]", runtime);
        Locale.setDefault(runtime);
        return runtime;
    }
@Test
    public void runtimeLocale() {
        title("runtimeLocale");
        Locale runtime = LionUtils.setupRuntimeLocale();
        print("locale is [%s]", runtime);

        // NOTE:
        //   Yeah, I know, "a unit test without asserts is not a unit test".
        //
        //   But it would NOT be a good idea to assert the locale results in
        //   this method, because that is dependent on an environment variable.
        //
        //   This method is here to allow manual verification of the Locale
        //   e.g. when running tests from IntelliJ, and setting the
        //   ONOS_LOCALE env.var. via the "Edit Configurations..." dialog.
    }