code: @Nullable
    private ResourceBundle _getResourceBundle (@Nonnull @Nonempty final String sBundleName, @Nonnull final Locale aLocale)
    {
      ResourceBundle ret = m_aRWLock.readLocked ( () -> {
        if (!m_bUseResourceBundleCache)
        {
          // Do not use the cache!
          return ResourceBundleHelper.getResourceBundle (sBundleName, aLocale);
        }
  
        // Existing cache value? May be null!
        if (m_aResourceBundleCache.containsKey (sBundleName))
          return m_aResourceBundleCache.get (sBundleName);
        return null;
      });
  
      if (ret == null)
      {
        ret = m_aRWLock.writeLocked ( () -> {
          // Re-check in write lock
          if (m_aResourceBundleCache.containsKey (sBundleName))
            return m_aResourceBundleCache.get (sBundleName);
  
          // Resolve the resource bundle
          final ResourceBundle aWLRB = ResourceBundleHelper.getResourceBundle (sBundleName, aLocale);
          m_aResourceBundleCache.put (sBundleName, aWLRB);
          return aWLRB;
        });
      }
  
      return ret;
    }
docs: Get the cached {@link ResourceBundle}. It is assumed, that the locale name
  is contained within the bundle name!!
  
  @param sBundleName
  Name of the bundle. May not be <code>null</code>.
  @param aLocale
  Locale to use. May not be <code>null</code>.
  @return <code>null</code> if no such bundle exists