protected PlcSubscriptionRequest getFilteredSubscriptionRequest(DefaultPlcSubscriptionRequest subscriptionRequest) {
        LinkedHashMap<String, PlcTagItem<PlcSubscriptionTag>> filteredTags = new LinkedHashMap<>();
        LinkedHashMap<String, Consumer<PlcSubscriptionEvent>> filteredConsumers = new LinkedHashMap<>();
        for (String tagName : subscriptionRequest.getTagNames()) {
            if(subscriptionRequest.getTagResponseCode(tagName) == PlcResponseCode.OK) {
                filteredTags.put(tagName, new DefaultPlcTagItem<>(subscriptionRequest.getTag(tagName)));
                if(subscriptionRequest.getTagConsumer(tagName) != null) {
                    filteredConsumers.put(tagName, subscriptionRequest.getTagConsumer(tagName));
                }
            }
        }
        return new DefaultPlcSubscriptionRequest(subscriptionRequest.getSubscriber(),
            filteredTags, subscriptionRequest.getConsumer(), filteredConsumers);
    }
No need to do the whole innerUnsubscribe thing here, as the request only contains handles
returned by the previous subscription request. So we've already filtered out the invalid
tags.
@param unsubscriptionRequest unsubscription request containing at least one unsubscription request item.
@return future for the response.
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java