code: @Override
  	public void initAllBundles() {
  
  		stopProcessIfNeeded();
  
  		if (config.getUseBundleMapping()) {
  			bundleMapping = resourceBundleHandler.getJawrBundleMapping();
  		}
  
  		boolean mappingFileExists = resourceBundleHandler.isExistingMappingFile();
  		boolean processBundleFlag = !config.getUseBundleMapping() || !mappingFileExists;
  
  		StopWatch stopWatch = ThreadLocalJawrContext.getStopWatch();
  
  		List<JoinableResourceBundle> bundleToProcess = this.bundles;
  		boolean forceStoreJawrBundleMapping = false;
  		if (!processBundleFlag) {
  			String storeJawrConfigHashcode = resourceBundleHandler.getJawrBundleMapping()
  					.getProperty(JawrConstant.JAWR_CONFIG_HASHCODE);
  			String jawrConfigHashcode = getJawrConfigHashcode();
  			boolean rebuildAllBundles = !config.getUseSmartBundling()
  					|| (!jawrConfigHashcode.equals(storeJawrConfigHashcode));
  			if (!rebuildAllBundles) {
  				bundleToProcess = getBundlesToRebuild();
  				if (!bundleToProcess.isEmpty() && LOGGER.isDebugEnabled()) {
  
  					StringBuilder msg = new StringBuilder(
  							"Jawr has detect changes on the following bundles, which will be updated :\n");
  					for (JoinableResourceBundle b : bundleToProcess) {
  						msg.append(b.getName()).append("\n");
  					}
  					LOGGER.debug(msg.toString());
  				}
  			} else {
  				bundleMapping.clear();
  				if (LOGGER.isDebugEnabled() && !jawrConfigHashcode.equals(storeJawrConfigHashcode)) {
  					LOGGER.debug("Jawr config has changed since last bundling process. All bundles will be processed.");
  				}
  			}
  
  			forceStoreJawrBundleMapping = !bundleToProcess.isEmpty();
  		}
  
  		// Execute processing
  		build(bundleToProcess, forceStoreJawrBundleMapping, stopWatch);
  	}
docs: /*
  (non-Javadoc)
  
  @see net.jawr.web.resource.bundle.ResourceCollector#initAllBundles()