code: @Override
  	protected Reader generateResource(String path, GeneratorContext context) {
  
  		Reader reader = null;
  		ResourceReaderHandler readerHandler = context.getResourceReaderHandler();
  
  		String skinRootDir = getSkinRootDir(path, skinMapping.keySet());
  		Map<String, VariantSet> ctxVariantSetMap = skinMapping.get(skinRootDir);
  
  		String skinVariantPath = path.substring(skinRootDir.length());
  		String[] paths = skinVariantPath.split(JawrConstant.URL_SEPARATOR);
  
  		VariantResourceReaderStrategy strategy = getVariantStrategy(context, ctxVariantSetMap);
  		Map<String, String> variantMap = null;
  		do {
  			variantMap = strategy.nextVariantMapConbination();
  			if (variantMap != null) {
  				JoinableResourceBundle bundle = context.getBundle();
  				reader = getResourceReader(bundle, path, readerHandler, skinRootDir, paths, variantMap);
  			}
  		} while (variantMap != null && reader == null);
  
  		return reader;
  	}
docs: /*
  (non-Javadoc)
  
  @see net.jawr.web.resource.bundle.generator.AbstractCachedGenerator#
  generateResource(net.jawr.web.resource.bundle.generator.GeneratorContext,
  java.lang.String)