/** {@inheritDoc} */ public Definition getDefinition(String name, Locale customizationKey) { Definition retValue = null; if (customizationKey == null) { customizationKey = LocaleUtil.NULL_LOCALE; } Map<String, Definition> definitions = getDefinitions(customizationKey); if (definitions != null) { retValue = definitions.get(name); if (retValue == null && localePatternPaths.containsKey(customizationKey)) { retValue = resolveWildcardDefinition(localePatternPaths .get(customizationKey), name); if (retValue != null) { try { synchronized (definitions) { definitions.put(name, retValue); } } catch (NoSuchDefinitionException ex) { throw new IllegalStateException("Unable to resolve wildcard mapping", ex); } } } } return retValue; }