code: @Override
  	public synchronized void configChanged(Properties newConfig) {
  		if (LOGGER.isDebugEnabled()) {
  			LOGGER.debug("Reloading Jawr configuration");
  		}
  		try {
  			// Initialize the Thread local for the Jawr context
  			ThreadLocalJawrContext.setJawrConfigMgrObjectName(JmxUtils.getMBeanObjectName(servletContext, resourceType,
  					jawrConfig.getProperty(JawrConstant.JAWR_JMX_MBEAN_PREFIX)));
  
  			// clears resource bundle cache for the refresh
  			ResourceBundle.clearCache();
  			StopWatch stopWatch = ThreadLocalJawrContext.getStopWatch();
  			if (stopWatch != null && stopWatch.isRunning()) {
  				stopWatch.stop();
  			}
  
  			Properties props = propertiesSource.getConfigProperties();
  			// override the properties if needed
  			if (this.overrideProperties != null) {
  				props.putAll(overrideProperties);
  			}
  			props.putAll(newConfig);
  
  			initializeJawrContext(props);
  
  			if (LOGGER.isDebugEnabled()) {
  				LOGGER.debug("Jawr configuration succesfully reloaded. ");
  			}
  
  		} catch (InterruptBundlingProcessException e) {
  			if (LOGGER.isInfoEnabled()) {
  				LOGGER.info(resourceType + " bundling process Interrupted");
  			}
  		} catch (Exception e) {
  			throw new BundlingProcessException("Error reloading Jawr config: " + e.getMessage(), e);
  		} finally {
  
  			// Reset the Thread local for the Jawr context
  			ThreadLocalJawrContext.reset();
  		}
  
  	}
docs: /*
  (non-Javadoc)
  
  @see net.jawr.web.resource.bundle.factory.util.ConfigChangeListener#
  configChanged (java.util.Properties)