code: private JoinableResourceBundle buildCompositeResourcebundle(ResourceBundleDefinition def)
  			throws BundleDependencyException {
  
  		List<JoinableResourceBundle> childBundles = new ArrayList<>();
  		for (ResourceBundleDefinition child : def.getChildren()) {
  			JoinableResourceBundle childBundle = null;
  			if (child.isComposite()) {
  				childBundle = buildCompositeResourcebundle(child);
  			} else {
  				childBundle = buildResourcebundle(child);
  			}
  			childBundles.add(childBundle);
  		}
  		return buildCompositeResourcebundle(def, childBundles);
  	}
docs: Build a Composite resource bundle using a ResourceBundleDefinition
  
  @param def
  the bundle definition
  @param childBundles
  the list of child bundles
  @return a Composite resource bundle
  @throws BundleDependencyException
  if a bundle dependency excption occurs