docs: public String[] getActiveProfiles(){
  		String hostname = getHostname();
  		List<StringKeyValueBean> config = loadConfiguration();
  		for (StringKeyValueBean entry: config){
  			String pattern = entry.getKey();
  			if ("*".equals(pattern) || !(pattern.contains("\\.") || pattern.contains(".+") || pattern.contains(".*")
  					|| StringUtils.containsAny(pattern, '[', '^', '$', '(', '|'))){	// it is not regular expression but with widecards
  				String widecard = pattern;
  				pattern = widecard.replace(".", "\\.")
  						.replace("?", ".")
  						.replace("*", ".*");
  				if (!pattern.contains("/")){
  					pattern += "/?.*";
  				}
  				logger.debug("Widecard '" + widecard + "' converted to regular expression: '" + pattern + "'.");
  			}else{
  				if (!pattern.contains("/")){
  					pattern += "/?.*";
  				}
  				logger.debug("Regular expression: '" + pattern + "'.");
  			}
  			if (Pattern.matches(pattern, hostname)){
  				String profiles = (String) entry.getValue();
  				logger.debug("Hostname '" + hostname + "' matched by '" + pattern + "'");
  				return profiles.split("[ ,\t]+");
  			}
  		}
  		
  		// matching not found
  		logger.warn("No matching profiles can be found for '" + hostname + "', a profile derived from hostname will be activated.");
  		String firstPart = StringUtils.substringBefore(hostname, ".");
  		String profile = firstPart.replaceAll("[0-9-]+$", "");
  		return new String[]{profile};
  	}