public <T extends PlcConnectionConfiguration> T createConfiguration(Class<T> pClazz, String protocolCode, String transportCode,
                                                                        String transportConfig, String paramString) {

        // Get a map of all parameters in the connection string.
        Map<String, List<String>> paramStringValues = splitQuery(paramString);
        return createConfiguration(pClazz, protocolCode, transportCode, transportConfig, paramStringValues);
    }
A query contains for our cases mostly of three parts
- protocol identifier
- (optional) transport identifier
- connection address (ip/port), serial port, path (depending on the type of transport) ...
- (optional) path parameters
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/configuration/ConfigurationFactory.java