code: protected void initWorkingDirectory(Map<String, String> configMap, IConfig config) throws FileNotFoundException {
  		final String sourceMethod = "initWorkingDirectory"; //$NON-NLS-1$
  		boolean isTraceLogging = log.isLoggable(Level.FINER);
  		if (isTraceLogging) {
  			log.entering(sourceClass, sourceMethod, new Object[]{configMap});
  		}
  		String versionString = Long.toString(contributingBundle.getBundleId());
  		if (TypeUtil.asBoolean(config.getProperty(DISABLEBUNDLEIDDIRSCOPING_PROPNAME, null)) ||
  			TypeUtil.asBoolean(getOptions().getOption(DISABLEBUNDLEIDDIRSCOPING_PROPNAME))) {
  			versionString = null;
  		}
  		// Add the list of bundle ids with the same symbolic name as the contributing bundle so
  		// that the subdirectories for any bundles still installed on the system won't be deleted.
  		Collection<String> versionsToRetain = new HashSet<String>();
  		Bundle[] bundles = Platform.getBundles(contributingBundle.getSymbolicName(), null);
  		for (Bundle bundle : bundles) {
  			versionsToRetain.add(Long.toString(bundle.getBundleId()));
  		}
  
  		File baseDir = new File(Platform.getStateLocation(contributingBundle).toFile(), "JAGGR"); //$NON-NLS-1$
  		baseDir.mkdir();
  		workdir = super.initWorkingDirectory(baseDir, configMap, versionString, versionsToRetain);
  
  		if (isTraceLogging) {
  			log.exiting(sourceClass, sourceMethod);
  		}
  	}
docs: Initialize the working directory for the servlet.  The working directory is in the plugin's
  workspace directory (returned by {@link Platform#getStateLocation(Bundle)} and is
  qualified with the id of the contributing bundle (so that multiple versions can co-exist
  in the framework without stepping on each other and so that new versions will start with
  a clean cache).
  
  @param configMap
  Map of config name/value pairs
  @param config
  aggregator config object
  
  @throws FileNotFoundException