code: private JoinableResourceBundle buildCompositeResourcebundle(ResourceBundleDefinition definition,
  			List<JoinableResourceBundle> childBundles) {
  
  		if (LOGGER.isDebugEnabled())
  			LOGGER.debug("Init composite bundle with id:" + definition.getBundleId());
  
  		validateBundleId(definition);
  
  		InclusionPattern include = new InclusionPattern(definition.isGlobal(), definition.getInclusionOrder(),
  				DebugInclusion.get(definition.isDebugOnly(), definition.isDebugNever()));
  
  		CompositeResourceBundle composite = new CompositeResourceBundle(definition.getBundleId(),
  				definition.getBundleName(), childBundles, include, resourceReaderHandler, definition.getBundlePrefix(),
  				fileExtension, jawrConfig.getGeneratorRegistry());
  		if (null != definition.getBundlePostProcessorKeys())
  			composite.setBundlePostProcessor(
  					chainFactory.buildPostProcessorChain(definition.getBundlePostProcessorKeys()));
  
  		if (null != definition.getUnitaryPostProcessorKeys())
  			composite.setUnitaryPostProcessor(
  					chainFactory.buildPostProcessorChain(definition.getUnitaryPostProcessorKeys()));
  
  		if (null != definition.getIeConditionalExpression())
  			composite.setExplorerConditionalExpression(definition.getIeConditionalExpression());
  
  		if (null != definition.getAlternateProductionURL())
  			composite.setAlternateProductionURL(definition.getAlternateProductionURL());
  
  		// if (null != definition.getVariants())
  		// composite.setVariants(definition.getVariants());
  
  		if (null != definition.getDependencies() && !definition.getDependencies().isEmpty())
  			bundleDefinitionsWithDependencies.add(definition);
  
  		return composite;
  	}
docs: Build a Composite resource bundle using a ResourceBundleDefinition
  
  @param definition
  the bundle definition
  @param childBundles
  the list of child bundles
  @return a Composite resource bundle