private static Map<String, List<String>> splitQuery(String paramString) {
        if (StringUtils.isBlank(paramString)) {
            return Collections.emptyMap();
        }
        // Split the individual parameters which are separated by "&" characters.
        return Arrays.stream(paramString.split("&"))
            // Split the stream of parameters (Which can be "key=value", "key=" or just "key" into tuples of
            // "key & value"
            .map(ConfigurationFactory::splitQueryParameter)
            // Build a map of "key & List<value>" where the values of elements with equal "key" are
            // added to a list of values.
            .collect(Collectors.groupingBy(AbstractMap.SimpleImmutableEntry::getKey, LinkedHashMap::new,
                mapping(Map.Entry::getValue, toList())));
    }
https://stackoverflow.com/questions/13592236/parse-a-uri-string-into-name-value-collection/13592567#13592567
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java