code: public List<JoinableResourceBundle> getResourceBundles(Properties properties) {
  
  		PropertiesConfigHelper props = new PropertiesConfigHelper(properties, resourceType);
  		String fileExtension = "." + resourceType;
  
  		// Initialize custom bundles
  		List<JoinableResourceBundle> customBundles = new ArrayList<>();
  		// Check if we should use the bundle names property or
  		// find the bundle name using the bundle id declaration :
  		// jawr.<type>.bundle.<name>.id
  		if (null != props.getProperty(PropertiesBundleConstant.BUNDLE_FACTORY_CUSTOM_NAMES)) {
  			StringTokenizer tk = new StringTokenizer(
  					props.getProperty(PropertiesBundleConstant.BUNDLE_FACTORY_CUSTOM_NAMES), ",");
  			while (tk.hasMoreTokens()) {
  				customBundles
  						.add(buildJoinableResourceBundle(props, tk.nextToken().trim(), fileExtension, rsReaderHandler));
  			}
  		} else {
  			Iterator<String> bundleNames = props.getPropertyBundleNameSet().iterator();
  			while (bundleNames.hasNext()) {
  				customBundles
  						.add(buildJoinableResourceBundle(props, bundleNames.next(), fileExtension, rsReaderHandler));
  			}
  		}
  
  		// Initialize the bundles dependencies
  		Iterator<String> bundleNames = props.getPropertyBundleNameSet().iterator();
  		while (bundleNames.hasNext()) {
  			String bundleName = (String) bundleNames.next();
  			List<String> bundleNameDependencies = props.getCustomBundlePropertyAsList(bundleName,
  					PropertiesBundleConstant.BUNDLE_FACTORY_CUSTOM_DEPENDENCIES);
  			if (!bundleNameDependencies.isEmpty()) {
  				JoinableResourceBundle bundle = getBundleFromName(bundleName, customBundles);
  				List<JoinableResourceBundle> bundleDependencies = getBundlesFromName(bundleNameDependencies,
  						customBundles);
  				bundle.setDependencies(bundleDependencies);
  			}
  		}
  
  		return customBundles;
  	}
docs: Returns the list of joinable resource bundle
  
  @param properties
  the properties
  @return the list of joinable resource bundle