docs: protected Properties load(String name, String includePropertyName, Set<String> history) throws InvalidPropertiesFormatException, IOException{
  		if (history != null && history.contains(name)){	// to prevent looping
  			throw new IllegalArgumentException("Loop found when loading properties file: " + name);
  		}
  		Properties result = loadWithoutInclude(name);
  		if (result != null){
  			String includedResources = result.getProperty(includePropertyName);
  			if (includedResources != null){
  				result.remove(includePropertyName);
  				if (history == null){
  					history = new HashSet<String>();
  				}
  				history.add(name);
  				for (String includedName: includedResources.split(DELIMITERS)){
  					Properties p = load(includedName, includePropertyName, history);
  					if (p != null){
  						result.putAll(p);
  					}
  				}
  			}
  		}
  		return result;
  	}