Source:
<code>public void addMeter( @Identification final String organisationIdentification, @Identification final String deviceIdentification, final String correlationUid, final com.alliander.osgp.domain.core.valueobjects.smartmetering.SmartMeteringDevice smartMeteringDeviceValueObject, final String messageType) throws FunctionalException { LOGGER.info("addMeter for organisationIdentification: for deviceIdentification: {}", organisationIdentification, deviceIdentification); SmartMeteringDevice device = this.smartMeteringDeviceRepository .findByDeviceIdentification(deviceIdentification); if (device == null) { device = this.installationMapper.map(smartMeteringDeviceValueObject, SmartMeteringDevice.class); final ProtocolInfo protocolInfo = this.protocolInfoRepository.findByProtocolAndProtocolVersion("DSMR", smartMeteringDeviceValueObject.getDSMRVersion()); device.updateProtocol(protocolInfo); this.smartMeteringDeviceRepository.save(device); } else { throw new FunctionalException(FunctionalExceptionType.EXISTING_DEVICE, ComponentType.DOMAIN_SMART_METERING); } <START> final com.alliander.osgp.domain.core.valueobjects.smartmetering.SmartMeteringDevice smartMeteringDevicDto = this.installationMapper <END> .map(smartMeteringDeviceValueObject, com.alliander.osgp.domain.core.valueobjects.smartmetering.SmartMeteringDevice.class); this.osgpCoreRequestMessageSender.send(new RequestMessage(correlationUid, organisationIdentification, deviceIdentification, smartMeteringDevicDto), messageType); }</code><technical_language>This reverted. breaks addMeter functionality</technical_language>

Target:
public void addMeter( @Identification final String organisationIdentification, @Identification final String deviceIdentification, final String correlationUid, final com.alliander.osgp.domain.core.valueobjects.smartmetering.SmartMeteringDevice smartMeteringDeviceValueObject, final String messageType) throws FunctionalException { LOGGER.info("addMeter for organisationIdentification: for deviceIdentification: {}", organisationIdentification, deviceIdentification); SmartMeteringDevice device = this.smartMeteringDeviceRepository .findByDeviceIdentification(deviceIdentification); if (device == null) { device = this.installationMapper.map(smartMeteringDeviceValueObject, SmartMeteringDevice.class); final ProtocolInfo protocolInfo = this.protocolInfoRepository.findByProtocolAndProtocolVersion("DSMR", smartMeteringDeviceValueObject.getDSMRVersion()); if (protocolInfo == null) { throw new FunctionalException(FunctionalExceptionType.UNKNOWN_PROTOCOL_NAME_OR_VERSION, ComponentType.DOMAIN_SMART_METERING); } device.updateProtocol(protocolInfo); this.smartMeteringDeviceRepository.save(device); } else { throw new FunctionalException(FunctionalExceptionType.EXISTING_DEVICE, ComponentType.DOMAIN_SMART_METERING); } final com.alliander.osgp.dto.valueobjects.smartmetering.SmartMeteringDevice smartMeteringDevicDto = this.installationMapper .map(smartMeteringDeviceValueObject, com.alliander.osgp.dto.valueobjects.smartmetering.SmartMeteringDevice.class); this.osgpCoreRequestMessageSender.send(new RequestMessage(correlationUid, organisationIdentification, deviceIdentification, smartMeteringDevicDto), messageType); }