code: public Map<String, String> getAvailableVariantMap(Map<String, VariantSet> variants,
  			Map<String, String> curVariants) {
  
  		Map<String, String> availableVariantMap = new HashMap<>();
  		for (Entry<String, VariantSet> entry : variants.entrySet()) {
  			String variantType = entry.getKey();
  			VariantSet variantSet = entry.getValue();
  			String variant = variantSet.getDefaultVariant();
  			if (curVariants.containsKey(variantType)) {
  				String curVariant = curVariants.get(variantType);
  				VariantResolver resolver = variantResolvers.get(variantType);
  				if (resolver != null) {
  					variant = resolver.getAvailableVariant(curVariant, variants.get(variantType));
  					if (variant == null) {
  						variant = variants.get(variantType).getDefaultVariant();
  					}
  				} else {
  					throw new BundlingProcessException(
  							"Unable to find variant resolver for variant type '" + variantType + "'");
  				}
  			}
  			availableVariantMap.put(variantType, variant);
  		}
  		return availableVariantMap;
  	}
docs: Returns the available variants.
  
  @param variants
  the current bundle variants
  @param curVariants
  the current variant
  @return the available variants