code: protected synchronized void serializeCacheMapping() {
  		for (Map.Entry<String, List<FilePathMapping>> entry : linkedResourceMap.entrySet()) {
  
  			StringBuilder strb = new StringBuilder();
  			Iterator<FilePathMapping> iter = entry.getValue().iterator();
  			if (iter.hasNext()) {
  
  				for (; iter.hasNext();) {
  					FilePathMapping fMapping = iter.next();
  					strb.append(fMapping.getPath()).append(MAPPING_TIMESTAMP_SEPARATOR)
  							.append(fMapping.getLastModified());
  					if (iter.hasNext()) {
  						strb.append(SEMICOLON);
  					}
  				}
  				cacheProperties.put(JAWR_MAPPING_PREFIX + entry.getKey(), strb.toString());
  			}
  		}
  
  		File f = new File(getCacheFilePath());
  		if (!f.getParentFile().exists()) {
  			f.getParentFile().mkdirs();
  		}
  		FileWriter fw = null;
  		try {
  			fw = new FileWriter(f);
  			cacheProperties.store(fw, "Cache properties of " + getName() + " generator");
  		} catch (IOException e) {
  			throw new BundlingProcessException("Unable to save cache file mapping ", e);
  		} finally {
  			IOUtils.close(fw);
  		}
  	}
docs: Serialize the cache file mapping