Source:
<code>public ChangeDeviceModelFirmwareResponse changeDeviceModelFirmware( @OrganisationIdentification final String organisationIdentification, @RequestPayload final ChangeDeviceModelFirmwareRequest request) throws OsgpException { LOGGER.info("Changing devicemodelfirmware:{}.", request.getDeviceModelFirmware().getFilename()); try { this.firmwareManagementService.changeDeviceModelFirmware(organisationIdentification, request.getId(), request.getDeviceModelFirmware().getDescription(), request.getDeviceModelFirmware().getFile(), request.getDeviceModelFirmware().getFilename(), request.getDeviceModelFirmware().getManufacturer(), request.getDeviceModelFirmware().getModelCode(), request.getDeviceModelFirmware().getModuleVersionComm(), request.getDeviceModelFirmware().getModuleVersionFunc(), request.getDeviceModelFirmware().getModuleVersionMa(), request.getDeviceModelFirmware().getModuleVersionMbus(), <START> request.getDeviceModelFirmware().getModuleVersionSec(), <END> request.getDeviceModelFirmware().isPushToNewDevices()); } catch (final MethodConstraintViolationException e) { LOGGER.error("Exception Changing devicemodelfirmware: ", e.getMessage(), e); throw new FunctionalException(FunctionalExceptionType.VALIDATION_ERROR, ComponentType.WS_CORE, new ValidationException(e.getConstraintViolations())); } catch (final Exception e) { LOGGER.error("Exception: while Changing devicemodelfirmware: for organisation {}", new Object[] { e.getMessage(), request.getDeviceModelFirmware().getFilename(), organisationIdentification }, e); this.handleException(e); } final ChangeDeviceModelFirmwareResponse changeDeviceModelFirmwareResponse = new ChangeDeviceModelFirmwareResponse(); changeDeviceModelFirmwareResponse.setResult(OsgpResultType.OK); return changeDeviceModelFirmwareResponse; }</code><technical_language>a ModuleVersion object here</technical_language>

Target:
public ChangeDeviceModelFirmwareResponse changeDeviceModelFirmware( @OrganisationIdentification final String organisationIdentification, @RequestPayload final ChangeDeviceModelFirmwareRequest request) throws OsgpException { LOGGER.info("Changing devicemodelfirmware:{}.", request.getDeviceModelFirmware().getFilename()); try { this.firmwareManagementService.changeDeviceModelFirmware(organisationIdentification, request.getId(), request.getDeviceModelFirmware().getDescription(), request.getDeviceModelFirmware().getFilename(), request.getDeviceModelFirmware().getManufacturer(), request.getDeviceModelFirmware().getModelCode(), request.getDeviceModelFirmware().getModuleVersionComm(), request.getDeviceModelFirmware().getModuleVersionFunc(), request.getDeviceModelFirmware().getModuleVersionMa(), request.getDeviceModelFirmware().getModuleVersionMbus(), request.getDeviceModelFirmware().getModuleVersionSec(), request.getDeviceModelFirmware().isPushToNewDevices()); } catch (final MethodConstraintViolationException e) { LOGGER.error("Exception Changing devicemodelfirmware: ", e.getMessage(), e); throw new FunctionalException(FunctionalExceptionType.VALIDATION_ERROR, ComponentType.WS_CORE, new ValidationException(e.getConstraintViolations())); } catch (final Exception e) { LOGGER.error("Exception: while Changing devicemodelfirmware: for organisation {}", new Object[] { e.getMessage(), request.getDeviceModelFirmware().getFilename(), organisationIdentification }, e); this.handleException(e); } final ChangeDeviceModelFirmwareResponse changeDeviceModelFirmwareResponse = new ChangeDeviceModelFirmwareResponse(); changeDeviceModelFirmwareResponse.setResult(OsgpResultType.OK); return changeDeviceModelFirmwareResponse; }