docs: public static Set<String> extractCompositeStringUniquesValueChains(String
  																								 theResourceType, List<List<String>> thePartsChoices) {
  
  		for (List<String> next : thePartsChoices) {
  			next.removeIf(StringUtils::isBlank);
  			if (next.isEmpty()) {
  				return Collections.emptySet();
  			}
  		}
  
  		if (thePartsChoices.isEmpty()) {
  			return Collections.emptySet();
  		}
  
  		thePartsChoices.sort((o1, o2) -> {
  			String str1 = null;
  			String str2 = null;
  			if (o1.size() > 0) {
  				str1 = o1.get(0);
  			}
  			if (o2.size() > 0) {
  				str2 = o2.get(0);
  			}
  			return compare(str1, str2);
  		});
  
  		List<String> values = new ArrayList<>();
  		Set<String> queryStringsToPopulate = new HashSet<>();
  		extractCompositeStringUniquesValueChains(theResourceType, thePartsChoices, values, queryStringsToPopulate);
  		return queryStringsToPopulate;
  	}