protected Optional<Class<? extends PlcTransportConfiguration>> resolveTransportConfigurationClass(String transportCode) {
        if (getTransportConfigurationClass(transportCode).isPresent()) {
            return Optional.of(getTransportConfigurationClass(transportCode).get());
        }

        // Try to find a suitable transport-type for creating the communication channel.
        Transport transport = null;
        ServiceLoader<Transport> transportLoader = ServiceLoader.load(
            Transport.class, Thread.currentThread().getContextClassLoader());
        for (Transport curTransport : transportLoader) {
            if (curTransport.getTransportCode().equals(transportCode)) {
                transport = curTransport;
                break;
            }
        }
        if (transport == null) {
            return Optional.empty();
        }

        // Find out the type of the transport configuration.
        Class<? extends PlcTransportConfiguration> transportConfigurationType = transport.getTransportConfigType();
        return Optional.of(transportConfigurationType);
    }
Configuration class for configuration introspection

@return the configuration class
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java