code: private boolean tryAddModule(
  			IAggregator aggregator,
  			List<String> list,
  			String bundleRoot,
  			IResource bundleRootRes,
  			String locale,
  			String resource,
  			Collection<String> availableLocales)
  					throws IOException {
  		if (availableLocales != null && !availableLocales.contains(locale)) {
  			return false;
  		}
  		boolean result = false;
  		URI uri = bundleRootRes.getURI();
  		URI testUri = uri.resolve(locale + "/" + resource + ".js"); //$NON-NLS-1$ //$NON-NLS-2$
  		IResource testResource = aggregator.newResource(testUri);
  		if (availableLocales != null || testResource.exists()) {
  			String mid = bundleRoot+"/"+locale+"/"+resource; //$NON-NLS-1$ //$NON-NLS-2$
  			list.add(mid);
  			result = true;
  		}
  		return result;
  	}
docs: Adds the source for the locale specific i18n resource if it exists.
  
  @param list
  The list of source files to add the i18n resource to
  @param bundleRoot
  The module path for the bundle root (e.g. 'foo/nls')
  @param bundleRootRes
  The bundle root resource that was requested
  @param localePath
  The path relative to the bundle root for the locale specific
  resource (e.g. 'en-us/bar')
  @return True if the source file for for the locale specified resource was
  added
  @throws IOException