@Override
    public CompletableFuture<PlcPingResponse> ping(PlcPingRequest pingRequest) {
        if (!canPing) {
            throw new PlcUnsupportedOperationException("The connection does not support pinging");
        }
        return protocol.ping(pingRequest);
    }
Base class for implementing connections.
Per default, all operations (read, write, subscribe) are unsupported.
Concrete implementations should override the methods indicating connection capabilities
and for obtaining respective request builders.
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java