diff --git a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryService.java b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryService.java index b1f2dd41c5220..bd496796100d4 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryService.java +++ b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDiscoveryService.java @@ -12,8 +12,12 @@ */ package org.openhab.binding.dsmr.internal.discovery; -import java.util.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -143,10 +147,9 @@ private void validateConfiguredMeters(List things, Set con .map(Thing::getHandler) .filter(DSMRMeterHandler.class::isInstance) .map(DSMRMeterHandler.class::cast) - .map(h -> h == null ? null : h.getMeterDescriptor()) - .map(d -> Optional.ofNullable(d == null ? null : d.getMeterType())) - .filter(Optional::isPresent) - .map(Optional::get) + .map(DSMRMeterHandler::getMeterDescriptor) + .filter(Objects::nonNull) + .map(d -> d.getMeterType()) .collect(Collectors.toSet()); // @formatter:on // Create list of all configured meters that are not in the detected list. If not empty meters might not be