/** * Does the actual configuration. This is protected, so * subclasses may share the same ValueParser and call configure * at any time, while preventing templates from doing so when * configure(Map) is locked. */ protected void configure(ValueParser values) { Locale locale = values.getLocale(ToolContext.LOCALE_KEY); if (locale != null) { setLocale(locale); } }