You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/03/11 14:51:35 UTC

[plc4x] 02/02: plc4go: enabled test run with maven and reformatted missing code

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 5a3b74b88a003bc07e585d111b26763111b4ed8f
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Mar 11 15:51:13 2021 +0100

    plc4go: enabled test run with maven and reformatted missing code
---
 plc4go/Makefile                                    |     4 +
 plc4go/cmd/main/drivers/knxnetip_test.go           |    42 +-
 plc4go/cmd/main/drivers/modbus_test.go             |     8 +-
 .../cmd/main/drivers/tests/modbus_driver_test.go   |    10 +-
 .../drivers/tests/modbus_parser_serializer_test.go |     8 +-
 .../internal/plc4go/ads/readwrite/ParserHelper.go  |    76 +-
 .../plc4go/ads/readwrite/XmlParserHelper.go        |   168 +-
 .../model/AdsAddDeviceNotificationRequest.go       |     1 +
 .../model/AdsAddDeviceNotificationResponse.go      |   244 +-
 .../plc4go/ads/readwrite/model/AdsDataType.go      |  1203 +-
 .../model/AdsDeleteDeviceNotificationRequest.go    |   190 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |   190 +-
 .../model/AdsDeviceNotificationRequest.go          |   334 +-
 .../model/AdsDeviceNotificationResponse.go         |   132 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |   132 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |   132 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |   273 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |   296 +-
 .../model/AdsMultiRequestItemReadWrite.go          |   350 +-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |   296 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |   295 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |   132 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |   442 +-
 .../plc4go/ads/readwrite/model/AdsReadRequest.go   |   298 +-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |   310 +-
 .../ads/readwrite/model/AdsReadStateRequest.go     |   132 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |   298 +-
 .../ads/readwrite/model/AdsReadWriteRequest.go     |   512 +-
 .../ads/readwrite/model/AdsReadWriteResponse.go    |   310 +-
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |   295 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |   364 +-
 .../ads/readwrite/model/AdsWriteControlResponse.go |   190 +-
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |   364 +-
 .../plc4go/ads/readwrite/model/AdsWriteResponse.go |   190 +-
 .../plc4go/ads/readwrite/model/AmsNetId.go         |   409 +-
 .../plc4go/ads/readwrite/model/AmsPacket.go        |   581 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |   409 +-
 .../plc4go/ads/readwrite/model/AmsSerialFrame.go   |   457 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |   409 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |   237 +-
 .../plc4go/ads/readwrite/model/CommandId.go        |   196 +-
 .../plc4go/ads/readwrite/model/DataItem.go         |   647 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |   476 +-
 .../plc4go/ads/readwrite/model/ReturnCode.go       |  1764 +-
 .../internal/plc4go/ads/readwrite/model/State.go   |   609 +-
 .../plc4go/bacnetip/readwrite/ParserHelper.go      |   102 +-
 .../plc4go/bacnetip/readwrite/XmlParserHelper.go   |   182 +-
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |   346 +-
 .../bacnetip/readwrite/model/APDUComplexAck.go     |   542 +-
 .../readwrite/model/APDUConfirmedRequest.go        |   704 +-
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |   290 +-
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |   292 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |   454 +-
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |   292 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |   236 +-
 .../bacnetip/readwrite/model/ApplicationTag.go     |   238 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |   241 +-
 .../BACnetConfirmedServiceACKAtomicReadFile.go     |   130 +-
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    |   130 +-
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go |   130 +-
 .../model/BACnetConfirmedServiceACKCreateObject.go |   130 +-
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    |   130 +-
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go |   130 +-
 ...BACnetConfirmedServiceACKGetEventInformation.go |   130 +-
 .../model/BACnetConfirmedServiceACKReadProperty.go |   130 +-
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go |   130 +-
 .../model/BACnetConfirmedServiceACKReadRange.go    |   130 +-
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go |   130 +-
 ...rmedServiceACKRemovedReadPropertyConditional.go |   130 +-
 .../model/BACnetConfirmedServiceACKVTData.go       |   130 +-
 .../model/BACnetConfirmedServiceACKVTOpen.go       |   130 +-
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |   130 +-
 .../BACnetConfirmedServiceRequestAddListElement.go |   130 +-
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |   130 +-
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |   130 +-
 ...firmedServiceRequestConfirmedCOVNotification.go |   848 +-
 ...rviceRequestConfirmedCOVNotificationMultiple.go |   130 +-
 ...rmedServiceRequestConfirmedEventNotification.go |   130 +-
 ...firmedServiceRequestConfirmedPrivateTransfer.go |   130 +-
 ...tConfirmedServiceRequestConfirmedTextMessage.go |   130 +-
 .../BACnetConfirmedServiceRequestCreateObject.go   |   130 +-
 .../BACnetConfirmedServiceRequestDeleteObject.go   |   130 +-
 ...rmedServiceRequestDeviceCommunicationControl.go |   130 +-
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |   130 +-
 ...etConfirmedServiceRequestGetEventInformation.go |   130 +-
 ...etConfirmedServiceRequestLifeSafetyOperation.go |   130 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   456 +-
 ...tConfirmedServiceRequestReadPropertyMultiple.go |   130 +-
 .../BACnetConfirmedServiceRequestReadRange.go      |   130 +-
 ...netConfirmedServiceRequestReinitializeDevice.go |   130 +-
 ...CnetConfirmedServiceRequestRemoveListElement.go |   130 +-
 ...etConfirmedServiceRequestRemovedAuthenticate.go |   130 +-
 ...ServiceRequestRemovedReadPropertyConditional.go |   130 +-
 ...CnetConfirmedServiceRequestRemovedRequestKey.go |   130 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |   666 +-
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |   130 +-
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |   130 +-
 .../model/BACnetConfirmedServiceRequestVTClose.go  |   130 +-
 .../model/BACnetConfirmedServiceRequestVTData.go   |   130 +-
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |   130 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |   656 +-
 ...ConfirmedServiceRequestWritePropertyMultiple.go |   130 +-
 .../readwrite/model/BACnetErrorAtomicReadFile.go   |   130 +-
 .../readwrite/model/BACnetErrorAtomicWriteFile.go  |   130 +-
 .../model/BACnetErrorConfirmedPrivateTransfer.go   |   130 +-
 .../readwrite/model/BACnetErrorCreateObject.go     |   130 +-
 .../readwrite/model/BACnetErrorGetAlarmSummary.go  |   130 +-
 .../model/BACnetErrorGetEnrollmentSummary.go       |   130 +-
 .../model/BACnetErrorGetEventInformation.go        |   130 +-
 .../readwrite/model/BACnetErrorReadProperty.go     |   490 +-
 .../model/BACnetErrorReadPropertyMultiple.go       |   130 +-
 .../readwrite/model/BACnetErrorReadRange.go        |   130 +-
 .../model/BACnetErrorRemovedAuthenticate.go        |   130 +-
 .../BACnetErrorRemovedReadPropertyConditional.go   |   130 +-
 .../bacnetip/readwrite/model/BACnetErrorVTData.go  |   130 +-
 .../bacnetip/readwrite/model/BACnetErrorVTOpen.go  |   130 +-
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |   210 +-
 .../bacnetip/readwrite/model/BACnetNodeType.go     |   364 +-
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |    98 +-
 .../bacnetip/readwrite/model/BACnetObjectType.go   |   882 +-
 .../model/BACnetServiceAckAtomicReadFile.go        |   130 +-
 .../model/BACnetServiceAckAtomicWriteFile.go       |   130 +-
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |   130 +-
 .../model/BACnetServiceAckCreateObject.go          |   130 +-
 .../model/BACnetServiceAckGetAlarmSummary.go       |   130 +-
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |   130 +-
 .../model/BACnetServiceAckGetEventInformation.go   |   130 +-
 .../model/BACnetServiceAckReadProperty.go          |   576 +-
 .../model/BACnetServiceAckReadPropertyMultiple.go  |   130 +-
 .../readwrite/model/BACnetServiceAckReadRange.go   |   130 +-
 .../model/BACnetServiceAckRemovedAuthenticate.go   |   130 +-
 ...CnetServiceAckRemovedReadPropertyConditional.go |   130 +-
 .../readwrite/model/BACnetServiceAckVTData.go      |   130 +-
 .../readwrite/model/BACnetServiceAckVTOpen.go      |   130 +-
 .../model/BACnetTagApplicationBitString.go         |   290 +-
 .../readwrite/model/BACnetTagApplicationBoolean.go |   138 +-
 .../model/BACnetTagApplicationCharacterString.go   |   138 +-
 .../readwrite/model/BACnetTagApplicationDate.go    |   138 +-
 .../readwrite/model/BACnetTagApplicationDouble.go  |   196 +-
 .../model/BACnetTagApplicationEnumerated.go        |   236 +-
 .../readwrite/model/BACnetTagApplicationNull.go    |   138 +-
 .../model/BACnetTagApplicationObjectIdentifier.go  |   138 +-
 .../model/BACnetTagApplicationOctetString.go       |   138 +-
 .../readwrite/model/BACnetTagApplicationReal.go    |   196 +-
 .../model/BACnetTagApplicationSignedInteger.go     |   236 +-
 .../readwrite/model/BACnetTagApplicationTime.go    |   138 +-
 .../model/BACnetTagApplicationUnsignedInteger.go   |   236 +-
 .../bacnetip/readwrite/model/BACnetTagContext.go   |   236 +-
 .../readwrite/model/BACnetTagWithContent.go        |   599 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |   632 +-
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |   130 +-
 ...UnconfirmedServiceRequestTimeSynchronization.go |   130 +-
 ...onfirmedServiceRequestUTCTimeSynchronization.go |   130 +-
 ...rmedServiceRequestUnconfirmedCOVNotification.go |   130 +-
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |   130 +-
 ...edServiceRequestUnconfirmedEventNotification.go |   130 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |   474 +-
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |   130 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   524 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   490 +-
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |   130 +-
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |   130 +-
 .../model/BVLCDistributeBroadcastToNetwork.go      |   130 +-
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |   326 +-
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |   182 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |   182 +-
 .../model/BVLCReadBroadcastDistributionTable.go    |   130 +-
 .../model/BVLCReadBroadcastDistributionTableAck.go |   130 +-
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |   130 +-
 .../model/BVLCReadForeignDeviceTableAck.go         |   130 +-
 .../readwrite/model/BVLCRegisterForeignDevice.go   |   130 +-
 .../plc4go/bacnetip/readwrite/model/BVLCResult.go  |   130 +-
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |   130 +-
 .../model/BVLCWideBroadcastDistributionTable.go    |   130 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |   226 +-
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |   226 +-
 .../plc4go/bacnetip/readwrite/model/NPDU.go        |  1147 +-
 plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go  |     4 +-
 .../plc4go/knxnetip/readwrite/ParserHelper.go      |   196 +-
 .../plc4go/knxnetip/readwrite/XmlParserHelper.go   |   504 +-
 .../plc4go/knxnetip/readwrite/model/AccessLevel.go |   223 +-
 .../knxnetip/readwrite/model/ApduControlAck.go     |   130 +-
 .../knxnetip/readwrite/model/ApduControlConnect.go |   130 +-
 .../readwrite/model/ApduControlContainer.go        |   186 +-
 .../readwrite/model/ApduControlDisconnect.go       |   130 +-
 .../knxnetip/readwrite/model/ApduControlNack.go    |   130 +-
 .../knxnetip/readwrite/model/ApduDataAdcRead.go    |   130 +-
 .../readwrite/model/ApduDataAdcResponse.go         |   130 +-
 .../knxnetip/readwrite/model/ApduDataContainer.go  |   186 +-
 .../model/ApduDataDeviceDescriptorRead.go          |   188 +-
 .../model/ApduDataDeviceDescriptorResponse.go      |   278 +-
 .../readwrite/model/ApduDataExtAuthorizeRequest.go |   274 +-
 .../model/ApduDataExtAuthorizeResponse.go          |   188 +-
 .../model/ApduDataExtDomainAddressRead.go          |   130 +-
 .../model/ApduDataExtDomainAddressResponse.go      |   130 +-
 .../model/ApduDataExtDomainAddressSelectiveRead.go |   130 +-
 .../ApduDataExtDomainAddressSerialNumberRead.go    |   130 +-
 ...ApduDataExtDomainAddressSerialNumberResponse.go |   130 +-
 .../ApduDataExtDomainAddressSerialNumberWrite.go   |   130 +-
 .../model/ApduDataExtDomainAddressWrite.go         |   130 +-
 .../model/ApduDataExtFileStreamInfoReport.go       |   130 +-
 .../ApduDataExtGroupPropertyValueInfoReport.go     |   130 +-
 .../model/ApduDataExtGroupPropertyValueRead.go     |   130 +-
 .../model/ApduDataExtGroupPropertyValueResponse.go |   130 +-
 .../model/ApduDataExtGroupPropertyValueWrite.go    |   130 +-
 ...ApduDataExtIndividualAddressSerialNumberRead.go |   130 +-
 ...DataExtIndividualAddressSerialNumberResponse.go |   130 +-
 ...pduDataExtIndividualAddressSerialNumberWrite.go |   130 +-
 .../readwrite/model/ApduDataExtKeyResponse.go      |   130 +-
 .../readwrite/model/ApduDataExtKeyWrite.go         |   130 +-
 .../readwrite/model/ApduDataExtLinkRead.go         |   130 +-
 .../readwrite/model/ApduDataExtLinkResponse.go     |   130 +-
 .../readwrite/model/ApduDataExtLinkWrite.go        |   130 +-
 .../readwrite/model/ApduDataExtMemoryBitWrite.go   |   130 +-
 .../model/ApduDataExtNetworkParameterRead.go       |   130 +-
 .../model/ApduDataExtNetworkParameterResponse.go   |   130 +-
 .../model/ApduDataExtNetworkParameterWrite.go      |   130 +-
 .../model/ApduDataExtOpenRoutingTableRequest.go    |   130 +-
 .../model/ApduDataExtPropertyDescriptionRead.go    |   296 +-
 .../ApduDataExtPropertyDescriptionResponse.go      |   658 +-
 .../model/ApduDataExtPropertyValueRead.go          |   350 +-
 .../model/ApduDataExtPropertyValueResponse.go      |   436 +-
 .../model/ApduDataExtPropertyValueWrite.go         |   436 +-
 .../model/ApduDataExtReadRouterMemoryRequest.go    |   130 +-
 .../model/ApduDataExtReadRouterMemoryResponse.go   |   130 +-
 .../model/ApduDataExtReadRouterStatusRequest.go    |   130 +-
 .../model/ApduDataExtReadRouterStatusResponse.go   |   130 +-
 .../model/ApduDataExtReadRoutingTableRequest.go    |   130 +-
 .../model/ApduDataExtReadRoutingTableResponse.go   |   130 +-
 .../model/ApduDataExtWriteRouterMemoryRequest.go   |   130 +-
 .../model/ApduDataExtWriteRouterStatusRequest.go   |   130 +-
 .../model/ApduDataExtWriteRoutingTableRequest.go   |   130 +-
 .../readwrite/model/ApduDataGroupValueRead.go      |   184 +-
 .../readwrite/model/ApduDataGroupValueResponse.go  |   278 +-
 .../readwrite/model/ApduDataGroupValueWrite.go     |   278 +-
 .../model/ApduDataIndividualAddressRead.go         |   130 +-
 .../model/ApduDataIndividualAddressResponse.go     |   130 +-
 .../model/ApduDataIndividualAddressWrite.go        |   130 +-
 .../knxnetip/readwrite/model/ApduDataMemoryRead.go |   242 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |   304 +-
 .../readwrite/model/ApduDataMemoryWrite.go         |   130 +-
 .../knxnetip/readwrite/model/ApduDataOther.go      |   182 +-
 .../knxnetip/readwrite/model/ApduDataRestart.go    |   130 +-
 .../readwrite/model/ApduDataUserMessage.go         |   130 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |   494 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |   222 +-
 .../knxnetip/readwrite/model/CEMIPriority.go       |   112 +-
 .../knxnetip/readwrite/model/ChannelInformation.go |   205 +-
 .../readwrite/model/ComObjectTableAddresses.go     | 35896 ++++++++++---------
 .../model/ComObjectTableRealisationType1.go        |   332 +-
 .../model/ComObjectTableRealisationType2.go        |   332 +-
 .../model/ComObjectTableRealisationType6.go        |   182 +-
 .../knxnetip/readwrite/model/ComObjectValueType.go |   385 +-
 .../knxnetip/readwrite/model/ConnectionRequest.go  |   290 +-
 ...ConnectionRequestInformationDeviceManagement.go |   130 +-
 ...ConnectionRequestInformationTunnelConnection.go |   236 +-
 .../knxnetip/readwrite/model/ConnectionResponse.go |   366 +-
 .../ConnectionResponseDataBlockDeviceManagement.go |   130 +-
 .../ConnectionResponseDataBlockTunnelConnection.go |   182 +-
 .../readwrite/model/ConnectionStateRequest.go      |   290 +-
 .../readwrite/model/ConnectionStateResponse.go     |   240 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |   647 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |   283 +-
 .../knxnetip/readwrite/model/DescriptionRequest.go |   182 +-
 .../readwrite/model/DescriptionResponse.go         |   238 +-
 .../readwrite/model/DeviceConfigurationAck.go      |   182 +-
 .../model/DeviceConfigurationAckDataBlock.go       |   287 +-
 .../readwrite/model/DeviceConfigurationRequest.go  |   238 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |   289 +-
 .../knxnetip/readwrite/model/DeviceDescriptor.go   |   895 +-
 .../readwrite/model/DeviceDescriptorMediumType.go  |   140 +-
 .../readwrite/model/DeviceDescriptorType2.go       |   601 +-
 .../knxnetip/readwrite/model/DeviceStatus.go       |   209 +-
 .../knxnetip/readwrite/model/DisconnectRequest.go  |   290 +-
 .../knxnetip/readwrite/model/DisconnectResponse.go |   240 +-
 .../knxnetip/readwrite/model/FirmwareType.go       |   280 +-
 .../model/GroupObjectDescriptorRealisationType1.go |   555 +-
 .../model/GroupObjectDescriptorRealisationType2.go |   555 +-
 .../model/GroupObjectDescriptorRealisationType6.go |   107 +-
 .../model/GroupObjectDescriptorRealisationType7.go |   555 +-
 .../model/GroupObjectDescriptorRealisationTypeB.go |   505 +-
 .../readwrite/model/HPAIControlEndpoint.go         |   285 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |   285 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |   285 +-
 .../knxnetip/readwrite/model/HostProtocolCode.go   |    84 +-
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |   195 +-
 .../plc4go/knxnetip/readwrite/model/KnxAddress.go  |   259 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       | 20217 ++++++-----
 .../readwrite/model/KnxDatapointMainType.go        |  2196 +-
 .../knxnetip/readwrite/model/KnxDatapointType.go   |     2 +-
 .../readwrite/model/KnxGroupAddress2Level.go       |   242 +-
 .../readwrite/model/KnxGroupAddress3Level.go       |   296 +-
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |   188 +-
 .../readwrite/model/KnxInterfaceObjectProperty.go  |  9181 ++---
 .../readwrite/model/KnxInterfaceObjectType.go      |   783 +-
 .../plc4go/knxnetip/readwrite/model/KnxLayer.go    |    98 +-
 .../knxnetip/readwrite/model/KnxManufacturer.go    |   114 +-
 .../plc4go/knxnetip/readwrite/model/KnxMedium.go   |   140 +-
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |   188 +-
 .../readwrite/model/KnxNetIpDeviceManagement.go    |   188 +-
 .../knxnetip/readwrite/model/KnxNetIpRouting.go    |   188 +-
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |   188 +-
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |   188 +-
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |   188 +-
 .../readwrite/model/KnxNetRemoteLogging.go         |   188 +-
 .../plc4go/knxnetip/readwrite/model/KnxProperty.go |  2785 +-
 .../readwrite/model/KnxPropertyDataType.go         |  1846 +-
 .../plc4go/knxnetip/readwrite/model/LBusmonInd.go  |   392 +-
 .../plc4go/knxnetip/readwrite/model/LDataCon.go    |   338 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |   532 +-
 .../knxnetip/readwrite/model/LDataFrameACK.go      |   142 +-
 .../plc4go/knxnetip/readwrite/model/LDataInd.go    |   338 +-
 .../plc4go/knxnetip/readwrite/model/LDataReq.go    |   338 +-
 .../plc4go/knxnetip/readwrite/model/LPollData.go   |   392 +-
 .../knxnetip/readwrite/model/LPollDataCon.go       |   130 +-
 .../knxnetip/readwrite/model/LPollDataReq.go       |   130 +-
 .../plc4go/knxnetip/readwrite/model/LRawCon.go     |   130 +-
 .../plc4go/knxnetip/readwrite/model/LRawInd.go     |   130 +-
 .../plc4go/knxnetip/readwrite/model/LRawReq.go     |   130 +-
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |   195 +-
 .../readwrite/model/MFuncPropCommandReq.go         |   130 +-
 .../knxnetip/readwrite/model/MFuncPropCon.go       |   130 +-
 .../readwrite/model/MFuncPropStateReadReq.go       |   130 +-
 .../knxnetip/readwrite/model/MPropInfoInd.go       |   130 +-
 .../knxnetip/readwrite/model/MPropReadCon.go       |   458 +-
 .../knxnetip/readwrite/model/MPropReadReq.go       |   404 +-
 .../knxnetip/readwrite/model/MPropWriteCon.go      |   130 +-
 .../knxnetip/readwrite/model/MPropWriteReq.go      |   130 +-
 .../plc4go/knxnetip/readwrite/model/MResetInd.go   |   130 +-
 .../plc4go/knxnetip/readwrite/model/MResetReq.go   |   130 +-
 .../model/ProjectInstallationIdentifier.go         |   205 +-
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |   155 +-
 .../knxnetip/readwrite/model/RoutingIndication.go  |   130 +-
 .../knxnetip/readwrite/model/SearchRequest.go      |   182 +-
 .../knxnetip/readwrite/model/SearchResponse.go     |   290 +-
 .../plc4go/knxnetip/readwrite/model/Status.go      |   224 +-
 .../readwrite/model/SupportedPhysicalMedia.go      |   671 +-
 .../knxnetip/readwrite/model/TDataConnectedInd.go  |   130 +-
 .../knxnetip/readwrite/model/TDataConnectedReq.go  |   130 +-
 .../knxnetip/readwrite/model/TDataIndividualInd.go |   130 +-
 .../knxnetip/readwrite/model/TDataIndividualReq.go |   130 +-
 .../knxnetip/readwrite/model/TunnelingRequest.go   |   238 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |   289 +-
 .../knxnetip/readwrite/model/TunnelingResponse.go  |   182 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |   287 +-
 .../knxnetip/readwrite/model/UnknownMessage.go     |   224 +-
 .../plc4go/modbus/readwrite/ParserHelper.go        |    70 +-
 .../plc4go/modbus/readwrite/XmlParserHelper.go     |   126 +-
 .../plc4go/modbus/readwrite/model/DataItem.go      |  1237 +-
 .../modbus/readwrite/model/ModbusConstants.go      |   143 +-
 .../modbus/readwrite/model/ModbusDataType.go       |   637 +-
 .../modbus/readwrite/model/ModbusErrorCode.go      |   196 +-
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |   246 +-
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |   246 +-
 .../modbus/readwrite/model/ModbusPDUError.go       |   192 +-
 .../model/ModbusPDUGetComEventCounterRequest.go    |   134 +-
 .../model/ModbusPDUGetComEventCounterResponse.go   |   246 +-
 .../model/ModbusPDUGetComEventLogRequest.go        |   134 +-
 .../model/ModbusPDUGetComEventLogResponse.go       |   420 +-
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |   300 +-
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |   300 +-
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |   246 +-
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |   258 +-
 .../ModbusPDUReadDeviceIdentificationRequest.go    |   134 +-
 .../ModbusPDUReadDeviceIdentificationResponse.go   |   134 +-
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |   246 +-
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |   258 +-
 .../model/ModbusPDUReadExceptionStatusRequest.go   |   134 +-
 .../model/ModbusPDUReadExceptionStatusResponse.go  |   192 +-
 .../model/ModbusPDUReadFifoQueueRequest.go         |   192 +-
 .../model/ModbusPDUReadFifoQueueResponse.go        |   284 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |   276 +-
 .../model/ModbusPDUReadFileRecordRequestItem.go    |   309 +-
 .../model/ModbusPDUReadFileRecordResponse.go       |   276 +-
 .../model/ModbusPDUReadFileRecordResponseItem.go   |   279 +-
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |   246 +-
 .../model/ModbusPDUReadHoldingRegistersResponse.go |   258 +-
 .../model/ModbusPDUReadInputRegistersRequest.go    |   246 +-
 .../model/ModbusPDUReadInputRegistersResponse.go   |   258 +-
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |   474 +-
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |   258 +-
 .../model/ModbusPDUReportServerIdRequest.go        |   134 +-
 .../model/ModbusPDUReportServerIdResponse.go       |   258 +-
 .../model/ModbusPDUWriteFileRecordRequest.go       |   276 +-
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |   379 +-
 .../model/ModbusPDUWriteFileRecordResponse.go      |   276 +-
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |   379 +-
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |   366 +-
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |   246 +-
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |   366 +-
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |   246 +-
 .../model/ModbusPDUWriteSingleCoilRequest.go       |   246 +-
 .../model/ModbusPDUWriteSingleCoilResponse.go      |   246 +-
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |   246 +-
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |   246 +-
 .../modbus/readwrite/model/ModbusSerialADU.go      |   357 +-
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |   323 +-
 .../internal/plc4go/s7/readwrite/ParserHelper.go   |   120 +-
 .../plc4go/s7/readwrite/XmlParserHelper.go         |   210 +-
 .../readwrite/model/COTPPacketConnectionRequest.go |   300 +-
 .../model/COTPPacketConnectionResponse.go          |   300 +-
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |   246 +-
 .../readwrite/model/COTPPacketDisconnectRequest.go |   300 +-
 .../model/COTPPacketDisconnectResponse.go          |   246 +-
 .../s7/readwrite/model/COTPPacketTpduError.go      |   246 +-
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |   188 +-
 .../s7/readwrite/model/COTPParameterCallingTsap.go |   188 +-
 .../s7/readwrite/model/COTPParameterChecksum.go    |   188 +-
 ...COTPParameterDisconnectAdditionalInformation.go |   220 +-
 .../s7/readwrite/model/COTPParameterTpduSize.go    |   188 +-
 .../plc4go/s7/readwrite/model/COTPProtocolClass.go |   126 +-
 .../plc4go/s7/readwrite/model/COTPTpduSize.go      |   217 +-
 .../internal/plc4go/s7/readwrite/model/DataItem.go |   941 +-
 .../s7/readwrite/model/DataTransportErrorCode.go   |   140 +-
 .../plc4go/s7/readwrite/model/DataTransportSize.go |   217 +-
 .../plc4go/s7/readwrite/model/DeviceGroup.go       |    98 +-
 .../plc4go/s7/readwrite/model/MemoryArea.go        |   259 +-
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |   508 +-
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |   136 +-
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |   248 +-
 .../s7/readwrite/model/S7MessageResponseData.go    |   248 +-
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |   136 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |   260 +-
 .../readwrite/model/S7ParameterReadVarResponse.go  |   190 +-
 .../model/S7ParameterSetupCommunication.go         |   348 +-
 .../s7/readwrite/model/S7ParameterUserData.go      |   260 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |   650 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |   260 +-
 .../readwrite/model/S7ParameterWriteVarResponse.go |   190 +-
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |   236 +-
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |   230 +-
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |   138 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |   298 +-
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |   236 +-
 .../readwrite/model/S7PayloadWriteVarResponse.go   |   226 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |   365 +-
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |   155 +-
 .../model/S7VarRequestParameterItemAddress.go      |   216 +-
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |   375 +-
 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go |   259 +-
 .../s7/readwrite/model/SzlModuleTypeClass.go       |   112 +-
 .../plc4go/s7/readwrite/model/SzlSublist.go        |   322 +-
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |   273 +-
 .../plc4go/s7/readwrite/model/TransportSize.go     |  2566 +-
 plc4go/internal/plc4go/spi/utils/WriteBuffer.go    |    62 +-
 plc4go/internal/plc4go/spi/values/BINT.go          |   102 +-
 plc4go/internal/plc4go/spi/values/BREAL.go         |   134 +-
 plc4go/pom.xml                                     |    59 +
 448 files changed, 91424 insertions(+), 88483 deletions(-)

diff --git a/plc4go/Makefile b/plc4go/Makefile
index 715ad0d..f2bc1ff 100644
--- a/plc4go/Makefile
+++ b/plc4go/Makefile
@@ -53,6 +53,10 @@ compile:
 	@-$(MAKE) -s go-compile 2> $(STDERR)
 	@cat $(STDERR) | sed -e '1s/.*/\nError:\n/'  | sed 's/make\[.*/ /' | sed "/^/s/^/     /" 1>&2
 
+## test: Runs test. Runs `mvn test` internally.
+test: compile
+	$(MVNBIN) test
+
 ## exec: Run given command, wrapped with custom GOPATH. e.g; make exec run="go test ./..."
 exec:
 	@GOPATH=$(GOPATH) GOBIN=$(GOBIN) $(run)
diff --git a/plc4go/cmd/main/drivers/knxnetip_test.go b/plc4go/cmd/main/drivers/knxnetip_test.go
index f0b4296..99ff70d 100644
--- a/plc4go/cmd/main/drivers/knxnetip_test.go
+++ b/plc4go/cmd/main/drivers/knxnetip_test.go
@@ -108,9 +108,9 @@ func TestKnxNetIpPlc4goBrowse(t *testing.T) {
 
 			// Create a read-request to read the manufacturer and hardware ids
 			readRequestBuilder := connection.ReadRequestBuilder()
-			readRequestBuilder.AddItem("manufacturerId", result.Address+"/0/12")
-			readRequestBuilder.AddItem("applicationProgramVersion", result.Address+"/3/13")
-			readRequestBuilder.AddItem("interfaceProgramVersion", result.Address+"/4/13")
+			readRequestBuilder.AddQuery("manufacturerId", result.Address+"/0/12")
+			readRequestBuilder.AddQuery("applicationProgramVersion", result.Address+"/3/13")
+			readRequestBuilder.AddQuery("interfaceProgramVersion", result.Address+"/4/13")
 			readRequest, err := readRequestBuilder.Build()
 			if err != nil {
 				log.Errorf("Got an error creating read-request: %s", err.Error())
@@ -186,7 +186,7 @@ func TestKnxNetIpPlc4goBlockingBrowseWithCallback(t *testing.T) {
 	// Build a browse request, to scan the KNX network for KNX devices
 	// (Limiting the range to only the actually used range of addresses)
 	browseRequestBuilder := connection.BrowseRequestBuilder()
-	browseRequestBuilder.AddItem("findAllKnxDevices", "[1-3].[1-6].[1-60]")
+	browseRequestBuilder.AddQuery("findAllKnxDevices", "[1-3].[1-6].[1-60]")
 	browseRequest, err := browseRequestBuilder.Build()
 	if err != nil {
 		log.Errorf("Got an error preparing browse-request: %s", connectionResult.Err.Error())
@@ -204,9 +204,9 @@ func TestKnxNetIpPlc4goBlockingBrowseWithCallback(t *testing.T) {
 
 		// Create a read-request to read the manufacturer and hardware ids
 		readRequestBuilder := connection.ReadRequestBuilder()
-		readRequestBuilder.AddItem("manufacturerId", result.Result.Address+"/0/12")
-		readRequestBuilder.AddItem("applicationProgramVersion", result.Result.Address+"/3/13")
-		readRequestBuilder.AddItem("interfaceProgramVersion", result.Result.Address+"/4/13")
+		readRequestBuilder.AddQuery("manufacturerId", result.Result.Address+"/0/12")
+		readRequestBuilder.AddQuery("applicationProgramVersion", result.Result.Address+"/3/13")
+		readRequestBuilder.AddQuery("interfaceProgramVersion", result.Result.Address+"/4/13")
 		readRequest, err := readRequestBuilder.Build()
 		if err != nil {
 			log.Errorf("Got an error creating read-request: %s", err.Error())
@@ -321,11 +321,11 @@ func TestKnxNetIpPlc4goGroupAddressRead(t *testing.T) {
 
 	// Execute a read request
 	rrb := connection.ReadRequestBuilder()
-	rrb.AddItem("energy-consumption", "1/1/211:DPT_Value_Power")
-	rrb.AddItem("actual-temperatures", "*/*/10:DPT_Value_Temp")
-	rrb.AddItem("set-temperatures", "*/*/11:DPT_Value_Temp")
-	rrb.AddItem("window-status", "*/*/[60,64]:DPT_Value_Temp")
-	rrb.AddItem("power-consumption", "*/*/[111,121,131,141]:DPT_Value_Temp")
+	rrb.AddQuery("energy-consumption", "1/1/211:DPT_Value_Power")
+	rrb.AddQuery("actual-temperatures", "*/*/10:DPT_Value_Temp")
+	rrb.AddQuery("set-temperatures", "*/*/11:DPT_Value_Temp")
+	rrb.AddQuery("window-status", "*/*/[60,64]:DPT_Value_Temp")
+	rrb.AddQuery("power-consumption", "*/*/[111,121,131,141]:DPT_Value_Temp")
 	readRequest, err := rrb.Build()
 	if err == nil {
 		rrr := readRequest.Execute()
@@ -361,8 +361,8 @@ func TestKnxNetIpPlc4goPropertyRead(t *testing.T) {
 	defer connection.BlockingClose()
 
 	readRequestBuilder := connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("manufacturerId", "1.1.10/0/12")
-	readRequestBuilder.AddItem("programVersion", "1.1.10/3/13")
+	readRequestBuilder.AddQuery("manufacturerId", "1.1.10/0/12")
+	readRequestBuilder.AddQuery("programVersion", "1.1.10/3/13")
 	readRequest, _ := readRequestBuilder.Build()
 
 	rrr := readRequest.Execute()
@@ -405,7 +405,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 
 	// First of all, request the starting address of the group address table
 	readRequestBuilder := connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("groupAddressTableAddress", "1.1.10/1/7")
+	readRequestBuilder.AddQuery("groupAddressTableAddress", "1.1.10/1/7")
 	readRequest, err := readRequestBuilder.Build()
 	if err != nil {
 		t.Errorf("error creating read request: %s", err.Error())
@@ -419,7 +419,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 	// Then read one byte at the given location.
 	// This will return the number of entries in the group address table (each 2 bytes)
 	readRequestBuilder = connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("numberOfAddressTableEntries", fmt.Sprintf("1.1.10#%X:USINT",
+	readRequestBuilder.AddQuery("numberOfAddressTableEntries", fmt.Sprintf("1.1.10#%X:USINT",
 		groupAddressTableStartAddress))
 	readRequest, _ = readRequestBuilder.Build()
 	rrr = readRequest.Execute()
@@ -432,7 +432,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 	// Reasons for splitting up:
 	// - Max APDU Size exceeded
 	// - Max 63 bytes readable in one request, due to max of count field
-	readRequestBuilder.AddItem("groupAddressTable", fmt.Sprintf("1.1.10#%X:UINT[%d]",
+	readRequestBuilder.AddQuery("groupAddressTable", fmt.Sprintf("1.1.10#%X:UINT[%d]",
 		groupAddressTableStartAddress+3, numGroupAddresses-1))
 	readRequest, _ = readRequestBuilder.Build()
 	rrr = readRequest.Execute()
@@ -451,7 +451,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 
 	// Now we read the group address association table address
 	readRequestBuilder = connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("groupAddressAssociationTableAddress", "1.1.10/2/7")
+	readRequestBuilder.AddQuery("groupAddressAssociationTableAddress", "1.1.10/2/7")
 	readRequest, err = readRequestBuilder.Build()
 	if err != nil {
 		t.Errorf("error creating read request: %s", err.Error())
@@ -465,7 +465,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 	// Then read one uint16 at the given location.
 	// This will return the number of entries in the group address table (each 2 bytes)
 	readRequestBuilder = connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("numberOfGroupAddressAssociationTableEntries", fmt.Sprintf("1.1.10#%X:USINT",
+	readRequestBuilder.AddQuery("numberOfGroupAddressAssociationTableEntries", fmt.Sprintf("1.1.10#%X:USINT",
 		groupAddressAssociationTableAddress))
 	readRequest, _ = readRequestBuilder.Build()
 	rrr = readRequest.Execute()
@@ -478,7 +478,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 	// Reasons for splitting up:
 	// - Max APDU Size exceeded
 	// - Max 63 bytes readable in one request, due to max of count field
-	readRequestBuilder.AddItem("groupAddressAssociationTable", fmt.Sprintf("1.1.10#%X:UINT[%d]",
+	readRequestBuilder.AddQuery("groupAddressAssociationTable", fmt.Sprintf("1.1.10#%X:UINT[%d]",
 		groupAddressAssociationTableAddress+1, numberOfGroupAddressAssociationTableEntries))
 	readRequest, _ = readRequestBuilder.Build()
 	rrr = readRequest.Execute()
@@ -501,7 +501,7 @@ func TestKnxNetIpPlc4goMemoryRead(t *testing.T) {
 
 	// Now we read the group address association table address
 	readRequestBuilder = connection.ReadRequestBuilder()
-	readRequestBuilder.AddItem("comObjectTableAddress", "1.1.10/3/7")
+	readRequestBuilder.AddQuery("comObjectTableAddress", "1.1.10/3/7")
 	readRequest, err = readRequestBuilder.Build()
 	if err != nil {
 		t.Errorf("error creating read request: %s", err.Error())
diff --git a/plc4go/cmd/main/drivers/modbus_test.go b/plc4go/cmd/main/drivers/modbus_test.go
index 7b78700..1a0f475 100644
--- a/plc4go/cmd/main/drivers/modbus_test.go
+++ b/plc4go/cmd/main/drivers/modbus_test.go
@@ -160,8 +160,8 @@ func TestPlc4goDriver(t *testing.T) {
 
 	// Prepare a read-request
 	rrb := connection.ReadRequestBuilder()
-	rrb.AddItem("field1", "holding-register:3:WORD")
-	rrb.AddItem("field2", "holding-register:26:REAL")
+	rrb.AddQuery("field1", "holding-register:3:WORD")
+	rrb.AddQuery("field2", "holding-register:26:REAL")
 	readRequest, err := rrb.Build()
 	if err != nil {
 		t.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
@@ -188,8 +188,8 @@ func TestPlc4goDriver(t *testing.T) {
 
 	// Prepare a write-request
 	wrb := connection.WriteRequestBuilder()
-	wrb.AddItem("field1", "holding-register:1:REAL", 1.2345)
-	wrb.AddItem("field2", "holding-register:3:REAL", 2.3456)
+	wrb.AddQuery("field1", "holding-register:1:REAL", 1.2345)
+	wrb.AddQuery("field2", "holding-register:3:REAL", 2.3456)
 	writeRequest, err := rrb.Build()
 	if err != nil {
 		t.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
diff --git a/plc4go/cmd/main/drivers/tests/modbus_driver_test.go b/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
index c06ba3b..cb07dd6 100644
--- a/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
+++ b/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
@@ -19,11 +19,11 @@
 package tests
 
 import (
-    "github.com/apache/plc4x/plc4go/internal/plc4go/modbus"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
-    "testing"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/modbus"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
+	"testing"
 )
 
 func TestModbusDriver(t *testing.T) {
-    testutils.RunDriverTestsuite(t, modbus.NewModbusDriver(), "assets/testing/protocols/modbus/DriverTestsuite.xml")
-}
\ No newline at end of file
+	testutils.RunDriverTestsuite(t, modbus.NewModbusDriver(), "assets/testing/protocols/modbus/DriverTestsuite.xml")
+}
diff --git a/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go b/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
index 8c92dd1..b954959 100644
--- a/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
+++ b/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
@@ -19,10 +19,10 @@
 package tests
 
 import (
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
-    "testing"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/testutils"
+	"testing"
 )
 
 func TestModbusParserSerializer(t *testing.T) {
-    testutils.RunParserSerializerTestsuite(t, "assets/testing/protocols/modbus/ParserSerializerTestsuite.xml")
-}
\ No newline at end of file
+	testutils.RunParserSerializerTestsuite(t, "assets/testing/protocols/modbus/ParserSerializerTestsuite.xml")
+}
diff --git a/plc4go/internal/plc4go/ads/readwrite/ParserHelper.go b/plc4go/internal/plc4go/ads/readwrite/ParserHelper.go
index a8e4ddd..c65c1e3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/ParserHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/ParserHelper.go
@@ -19,48 +19,48 @@
 package readwrite
 
 import (
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
 type AdsParserHelper struct {
 }
 
 func (m AdsParserHelper) Parse(typeName string, arguments []string, io *utils.ReadBuffer) (spi.Message, error) {
-    switch typeName {
-    case "AdsMultiRequestItem":
-        indexGroup, err := utils.StrToUint32(arguments[0])
-        if err != nil {
-            return nil, err
-        }
-        return model.AdsMultiRequestItemParse(io, indexGroup)
-    case "AmsTCPPacket":
-        return model.AmsTCPPacketParse(io)
-    case "State":
-        return model.StateParse(io)
-    case "AmsPacket":
-        return model.AmsPacketParse(io)
-    case "AmsSerialFrame":
-        return model.AmsSerialFrameParse(io)
-    case "AmsSerialAcknowledgeFrame":
-        return model.AmsSerialAcknowledgeFrameParse(io)
-    case "AdsData":
-        var commandId ICommandId
-        response, err := utils.StrToBool(arguments[1])
-        if err != nil {
-            return nil, err
-        }
-        return model.AdsDataParse(io, commandId, response)
-    case "AmsNetId":
-        return model.AmsNetIdParse(io)
-    case "AdsStampHeader":
-        return model.AdsStampHeaderParse(io)
-    case "AmsSerialResetFrame":
-        return model.AmsSerialResetFrameParse(io)
-    case "AdsNotificationSample":
-        return model.AdsNotificationSampleParse(io)
-    }
-    return nil, errors.New("Unsupported type " + typeName)
+	switch typeName {
+	case "AdsMultiRequestItem":
+		indexGroup, err := utils.StrToUint32(arguments[0])
+		if err != nil {
+			return nil, err
+		}
+		return model.AdsMultiRequestItemParse(io, indexGroup)
+	case "AmsTCPPacket":
+		return model.AmsTCPPacketParse(io)
+	case "State":
+		return model.StateParse(io)
+	case "AmsPacket":
+		return model.AmsPacketParse(io)
+	case "AmsSerialFrame":
+		return model.AmsSerialFrameParse(io)
+	case "AmsSerialAcknowledgeFrame":
+		return model.AmsSerialAcknowledgeFrameParse(io)
+	case "AdsData":
+		var commandId ICommandId
+		response, err := utils.StrToBool(arguments[1])
+		if err != nil {
+			return nil, err
+		}
+		return model.AdsDataParse(io, commandId, response)
+	case "AmsNetId":
+		return model.AmsNetIdParse(io)
+	case "AdsStampHeader":
+		return model.AdsStampHeaderParse(io)
+	case "AmsSerialResetFrame":
+		return model.AmsSerialResetFrameParse(io)
+	case "AdsNotificationSample":
+		return model.AdsNotificationSampleParse(io)
+	}
+	return nil, errors.New("Unsupported type " + typeName)
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
index afa618d..83c32c1 100644
--- a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
@@ -19,94 +19,94 @@
 package readwrite
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi"
 )
 
 type AdsXmlParserHelper struct {
 }
 
 func (m AdsXmlParserHelper) Parse(typeName string, xmlString string) (spi.Message, error) {
-    switch typeName {
-    case "AdsMultiRequestItem":
-        var obj *model.AdsMultiRequestItem
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsTCPPacket":
-        var obj *model.AmsTCPPacket
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "State":
-        var obj *model.State
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsPacket":
-        var obj *model.AmsPacket
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsSerialFrame":
-        var obj *model.AmsSerialFrame
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsSerialAcknowledgeFrame":
-        var obj *model.AmsSerialAcknowledgeFrame
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AdsData":
-        var obj *model.AdsData
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsNetId":
-        var obj *model.AmsNetId
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AdsStampHeader":
-        var obj *model.AdsStampHeader
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AmsSerialResetFrame":
-        var obj *model.AmsSerialResetFrame
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    case "AdsNotificationSample":
-        var obj *model.AdsNotificationSample
-        err := xml.Unmarshal([]byte(xmlString), &obj)
-        if err != nil {
-            return nil, errors.New("error unmarshalling xml: " + err.Error())
-        }
-        return obj, nil
-    }
-    return nil, errors.New("Unsupported type " + typeName)
+	switch typeName {
+	case "AdsMultiRequestItem":
+		var obj *model.AdsMultiRequestItem
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsTCPPacket":
+		var obj *model.AmsTCPPacket
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "State":
+		var obj *model.State
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsPacket":
+		var obj *model.AmsPacket
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsSerialFrame":
+		var obj *model.AmsSerialFrame
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsSerialAcknowledgeFrame":
+		var obj *model.AmsSerialAcknowledgeFrame
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AdsData":
+		var obj *model.AdsData
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsNetId":
+		var obj *model.AmsNetId
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AdsStampHeader":
+		var obj *model.AdsStampHeader
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AmsSerialResetFrame":
+		var obj *model.AmsSerialResetFrame
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	case "AdsNotificationSample":
+		var obj *model.AdsNotificationSample
+		err := xml.Unmarshal([]byte(xmlString), &obj)
+		if err != nil {
+			return nil, errors.New("error unmarshalling xml: " + err.Error())
+		}
+		return obj, nil
+	}
+	return nil, errors.New("Unsupported type " + typeName)
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index be0ab91..4d0657e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -24,6 +24,7 @@ import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	log "github.com/sirupsen/logrus"
 	"io"
+	"math/big"
 )
 
 // The data-structure of this message
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index d060d32..58b9e1a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -19,178 +19,176 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsAddDeviceNotificationResponse struct {
-    Result ReturnCode
-    NotificationHandle uint32
-    Parent *AdsData
-    IAdsAddDeviceNotificationResponse
+	Result             ReturnCode
+	NotificationHandle uint32
+	Parent             *AdsData
+	IAdsAddDeviceNotificationResponse
 }
 
 // The corresponding interface
 type IAdsAddDeviceNotificationResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsAddDeviceNotificationResponse) CommandId() CommandId {
-    return CommandId_ADS_ADD_DEVICE_NOTIFICATION
+	return CommandId_ADS_ADD_DEVICE_NOTIFICATION
 }
 
 func (m *AdsAddDeviceNotificationResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsAddDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsAddDeviceNotificationResponse(result ReturnCode, notificationHandle uint32) *AdsData {
-    child := &AdsAddDeviceNotificationResponse{
-        Result: result,
-        NotificationHandle: notificationHandle,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsAddDeviceNotificationResponse{
+		Result:             result,
+		NotificationHandle: notificationHandle,
+		Parent:             NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsAddDeviceNotificationResponse(structType interface{}) *AdsAddDeviceNotificationResponse {
-    castFunc := func(typ interface{}) *AdsAddDeviceNotificationResponse {
-        if casted, ok := typ.(AdsAddDeviceNotificationResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsAddDeviceNotificationResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsAddDeviceNotificationResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsAddDeviceNotificationResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsAddDeviceNotificationResponse {
+		if casted, ok := typ.(AdsAddDeviceNotificationResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsAddDeviceNotificationResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsAddDeviceNotificationResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsAddDeviceNotificationResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsAddDeviceNotificationResponse) GetTypeName() string {
-    return "AdsAddDeviceNotificationResponse"
+	return "AdsAddDeviceNotificationResponse"
 }
 
 func (m *AdsAddDeviceNotificationResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    // Simple field (notificationHandle)
-    lengthInBits += 32
+	// Simple field (notificationHandle)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsAddDeviceNotificationResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsAddDeviceNotificationResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (notificationHandle)
-    notificationHandle, _notificationHandleErr := io.ReadUint32(32)
-    if _notificationHandleErr != nil {
-        return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsAddDeviceNotificationResponse{
-        Result: result,
-        NotificationHandle: notificationHandle,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Simple Field (notificationHandle)
+	notificationHandle, _notificationHandleErr := io.ReadUint32(32)
+	if _notificationHandleErr != nil {
+		return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsAddDeviceNotificationResponse{
+		Result:             result,
+		NotificationHandle: notificationHandle,
+		Parent:             &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsAddDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (notificationHandle)
-    notificationHandle := uint32(m.NotificationHandle)
-    _notificationHandleErr := io.WriteUint32(32, (notificationHandle))
-    if _notificationHandleErr != nil {
-        return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		// Simple Field (notificationHandle)
+		notificationHandle := uint32(m.NotificationHandle)
+		_notificationHandleErr := io.WriteUint32(32, (notificationHandle))
+		if _notificationHandleErr != nil {
+			return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsAddDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            case "notificationHandle":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.NotificationHandle = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			case "notificationHandle":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.NotificationHandle = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsAddDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
index 0c703a3..aa6d56a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
@@ -19,601 +19,682 @@
 package model
 
 import (
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
 type AdsDataType int8
 
 type IAdsDataType interface {
-    NumBytes() uint8
-    DataFormatName() string
-    Serialize(io utils.WriteBuffer) error
+	NumBytes() uint8
+	DataFormatName() string
+	Serialize(io utils.WriteBuffer) error
 }
 
-const(
-    AdsDataType_BOOL AdsDataType = 0x01
-    AdsDataType_BIT AdsDataType = 0x02
-    AdsDataType_BIT8 AdsDataType = 0x03
-    AdsDataType_BYTE AdsDataType = 0x04
-    AdsDataType_BITARR8 AdsDataType = 0x05
-    AdsDataType_WORD AdsDataType = 0x06
-    AdsDataType_BITARR16 AdsDataType = 0x07
-    AdsDataType_DWORD AdsDataType = 0x08
-    AdsDataType_BITARR32 AdsDataType = 0x09
-    AdsDataType_SINT AdsDataType = 0x0A
-    AdsDataType_INT8 AdsDataType = 0x0B
-    AdsDataType_USINT AdsDataType = 0x0C
-    AdsDataType_UINT8 AdsDataType = 0x0D
-    AdsDataType_INT AdsDataType = 0x0E
-    AdsDataType_INT16 AdsDataType = 0x0F
-    AdsDataType_UINT AdsDataType = 0x10
-    AdsDataType_UINT16 AdsDataType = 0x11
-    AdsDataType_DINT AdsDataType = 0x12
-    AdsDataType_INT32 AdsDataType = 0x13
-    AdsDataType_UDINT AdsDataType = 0x14
-    AdsDataType_UINT32 AdsDataType = 0x15
-    AdsDataType_LINT AdsDataType = 0x16
-    AdsDataType_INT64 AdsDataType = 0x17
-    AdsDataType_ULINT AdsDataType = 0x18
-    AdsDataType_UINT64 AdsDataType = 0x19
-    AdsDataType_REAL AdsDataType = 0x1A
-    AdsDataType_FLOAT AdsDataType = 0x1B
-    AdsDataType_LREAL AdsDataType = 0x1C
-    AdsDataType_DOUBLE AdsDataType = 0x1D
-    AdsDataType_CHAR AdsDataType = 0x1E
-    AdsDataType_WCHAR AdsDataType = 0x1F
-    AdsDataType_STRING AdsDataType = 0x20
-    AdsDataType_WSTRING AdsDataType = 0x21
-    AdsDataType_TIME AdsDataType = 0x22
-    AdsDataType_LTIME AdsDataType = 0x23
-    AdsDataType_DATE AdsDataType = 0x24
-    AdsDataType_TIME_OF_DAY AdsDataType = 0x25
-    AdsDataType_TOD AdsDataType = 0x26
-    AdsDataType_DATE_AND_TIME AdsDataType = 0x27
-    AdsDataType_DT AdsDataType = 0x28
+const (
+	AdsDataType_BOOL          AdsDataType = 0x01
+	AdsDataType_BIT           AdsDataType = 0x02
+	AdsDataType_BIT8          AdsDataType = 0x03
+	AdsDataType_BYTE          AdsDataType = 0x04
+	AdsDataType_BITARR8       AdsDataType = 0x05
+	AdsDataType_WORD          AdsDataType = 0x06
+	AdsDataType_BITARR16      AdsDataType = 0x07
+	AdsDataType_DWORD         AdsDataType = 0x08
+	AdsDataType_BITARR32      AdsDataType = 0x09
+	AdsDataType_SINT          AdsDataType = 0x0A
+	AdsDataType_INT8          AdsDataType = 0x0B
+	AdsDataType_USINT         AdsDataType = 0x0C
+	AdsDataType_UINT8         AdsDataType = 0x0D
+	AdsDataType_INT           AdsDataType = 0x0E
+	AdsDataType_INT16         AdsDataType = 0x0F
+	AdsDataType_UINT          AdsDataType = 0x10
+	AdsDataType_UINT16        AdsDataType = 0x11
+	AdsDataType_DINT          AdsDataType = 0x12
+	AdsDataType_INT32         AdsDataType = 0x13
+	AdsDataType_UDINT         AdsDataType = 0x14
+	AdsDataType_UINT32        AdsDataType = 0x15
+	AdsDataType_LINT          AdsDataType = 0x16
+	AdsDataType_INT64         AdsDataType = 0x17
+	AdsDataType_ULINT         AdsDataType = 0x18
+	AdsDataType_UINT64        AdsDataType = 0x19
+	AdsDataType_REAL          AdsDataType = 0x1A
+	AdsDataType_FLOAT         AdsDataType = 0x1B
+	AdsDataType_LREAL         AdsDataType = 0x1C
+	AdsDataType_DOUBLE        AdsDataType = 0x1D
+	AdsDataType_CHAR          AdsDataType = 0x1E
+	AdsDataType_WCHAR         AdsDataType = 0x1F
+	AdsDataType_STRING        AdsDataType = 0x20
+	AdsDataType_WSTRING       AdsDataType = 0x21
+	AdsDataType_TIME          AdsDataType = 0x22
+	AdsDataType_LTIME         AdsDataType = 0x23
+	AdsDataType_DATE          AdsDataType = 0x24
+	AdsDataType_TIME_OF_DAY   AdsDataType = 0x25
+	AdsDataType_TOD           AdsDataType = 0x26
+	AdsDataType_DATE_AND_TIME AdsDataType = 0x27
+	AdsDataType_DT            AdsDataType = 0x28
 )
 
-
 func (e AdsDataType) NumBytes() uint8 {
-    switch e  {
-        case 0x01: { /* '0x01' */
-            return 1
-        }
-        case 0x02: { /* '0x02' */
-            return 1
-        }
-        case 0x03: { /* '0x03' */
-            return 1
-        }
-        case 0x04: { /* '0x04' */
-            return 1
-        }
-        case 0x05: { /* '0x05' */
-            return 1
-        }
-        case 0x06: { /* '0x06' */
-            return 2
-        }
-        case 0x07: { /* '0x07' */
-            return 2
-        }
-        case 0x08: { /* '0x08' */
-            return 4
-        }
-        case 0x09: { /* '0x09' */
-            return 4
-        }
-        case 0x0A: { /* '0x0A' */
-            return 1
-        }
-        case 0x0B: { /* '0x0B' */
-            return 1
-        }
-        case 0x0C: { /* '0x0C' */
-            return 1
-        }
-        case 0x0D: { /* '0x0D' */
-            return 1
-        }
-        case 0x0E: { /* '0x0E' */
-            return 2
-        }
-        case 0x0F: { /* '0x0F' */
-            return 2
-        }
-        case 0x10: { /* '0x10' */
-            return 2
-        }
-        case 0x11: { /* '0x11' */
-            return 2
-        }
-        case 0x12: { /* '0x12' */
-            return 4
-        }
-        case 0x13: { /* '0x13' */
-            return 4
-        }
-        case 0x14: { /* '0x14' */
-            return 4
-        }
-        case 0x15: { /* '0x15' */
-            return 4
-        }
-        case 0x16: { /* '0x16' */
-            return 8
-        }
-        case 0x17: { /* '0x17' */
-            return 8
-        }
-        case 0x18: { /* '0x18' */
-            return 8
-        }
-        case 0x19: { /* '0x19' */
-            return 8
-        }
-        case 0x1A: { /* '0x1A' */
-            return 4
-        }
-        case 0x1B: { /* '0x1B' */
-            return 4
-        }
-        case 0x1C: { /* '0x1C' */
-            return 8
-        }
-        case 0x1D: { /* '0x1D' */
-            return 8
-        }
-        case 0x1E: { /* '0x1E' */
-            return 1
-        }
-        case 0x1F: { /* '0x1F' */
-            return 2
-        }
-        case 0x20: { /* '0x20' */
-            return 256
-        }
-        case 0x21: { /* '0x21' */
-            return 512
-        }
-        case 0x22: { /* '0x22' */
-            return 4
-        }
-        case 0x23: { /* '0x23' */
-            return 8
-        }
-        case 0x24: { /* '0x24' */
-            return 4
-        }
-        case 0x25: { /* '0x25' */
-            return 4
-        }
-        case 0x26: { /* '0x26' */
-            return 4
-        }
-        case 0x27: { /* '0x27' */
-            return 4
-        }
-        case 0x28: { /* '0x28' */
-            return 4
-        }
-        default: {
-            return 0
-        }
-    }
+	switch e {
+	case 0x01:
+		{ /* '0x01' */
+			return 1
+		}
+	case 0x02:
+		{ /* '0x02' */
+			return 1
+		}
+	case 0x03:
+		{ /* '0x03' */
+			return 1
+		}
+	case 0x04:
+		{ /* '0x04' */
+			return 1
+		}
+	case 0x05:
+		{ /* '0x05' */
+			return 1
+		}
+	case 0x06:
+		{ /* '0x06' */
+			return 2
+		}
+	case 0x07:
+		{ /* '0x07' */
+			return 2
+		}
+	case 0x08:
+		{ /* '0x08' */
+			return 4
+		}
+	case 0x09:
+		{ /* '0x09' */
+			return 4
+		}
+	case 0x0A:
+		{ /* '0x0A' */
+			return 1
+		}
+	case 0x0B:
+		{ /* '0x0B' */
+			return 1
+		}
+	case 0x0C:
+		{ /* '0x0C' */
+			return 1
+		}
+	case 0x0D:
+		{ /* '0x0D' */
+			return 1
+		}
+	case 0x0E:
+		{ /* '0x0E' */
+			return 2
+		}
+	case 0x0F:
+		{ /* '0x0F' */
+			return 2
+		}
+	case 0x10:
+		{ /* '0x10' */
+			return 2
+		}
+	case 0x11:
+		{ /* '0x11' */
+			return 2
+		}
+	case 0x12:
+		{ /* '0x12' */
+			return 4
+		}
+	case 0x13:
+		{ /* '0x13' */
+			return 4
+		}
+	case 0x14:
+		{ /* '0x14' */
+			return 4
+		}
+	case 0x15:
+		{ /* '0x15' */
+			return 4
+		}
+	case 0x16:
+		{ /* '0x16' */
+			return 8
+		}
+	case 0x17:
+		{ /* '0x17' */
+			return 8
+		}
+	case 0x18:
+		{ /* '0x18' */
+			return 8
+		}
+	case 0x19:
+		{ /* '0x19' */
+			return 8
+		}
+	case 0x1A:
+		{ /* '0x1A' */
+			return 4
+		}
+	case 0x1B:
+		{ /* '0x1B' */
+			return 4
+		}
+	case 0x1C:
+		{ /* '0x1C' */
+			return 8
+		}
+	case 0x1D:
+		{ /* '0x1D' */
+			return 8
+		}
+	case 0x1E:
+		{ /* '0x1E' */
+			return 1
+		}
+	case 0x1F:
+		{ /* '0x1F' */
+			return 2
+		}
+	case 0x20:
+		{ /* '0x20' */
+			return 256
+		}
+	case 0x21:
+		{ /* '0x21' */
+			return 512
+		}
+	case 0x22:
+		{ /* '0x22' */
+			return 4
+		}
+	case 0x23:
+		{ /* '0x23' */
+			return 8
+		}
+	case 0x24:
+		{ /* '0x24' */
+			return 4
+		}
+	case 0x25:
+		{ /* '0x25' */
+			return 4
+		}
+	case 0x26:
+		{ /* '0x26' */
+			return 4
+		}
+	case 0x27:
+		{ /* '0x27' */
+			return 4
+		}
+	case 0x28:
+		{ /* '0x28' */
+			return 4
+		}
+	default:
+		{
+			return 0
+		}
+	}
 }
 
 func (e AdsDataType) DataFormatName() string {
-    switch e  {
-        case 0x01: { /* '0x01' */
-            return "IEC61131_BOOL"
-        }
-        case 0x02: { /* '0x02' */
-            return "IEC61131_BOOL"
-        }
-        case 0x03: { /* '0x03' */
-            return "IEC61131_BOOL"
-        }
-        case 0x04: { /* '0x04' */
-            return "IEC61131_BYTE"
-        }
-        case 0x05: { /* '0x05' */
-            return "IEC61131_BYTE"
-        }
-        case 0x06: { /* '0x06' */
-            return "IEC61131_WORD"
-        }
-        case 0x07: { /* '0x07' */
-            return "IEC61131_WORD"
-        }
-        case 0x08: { /* '0x08' */
-            return "IEC61131_DWORD"
-        }
-        case 0x09: { /* '0x09' */
-            return "IEC61131_DWORD"
-        }
-        case 0x0A: { /* '0x0A' */
-            return "IEC61131_SINT"
-        }
-        case 0x0B: { /* '0x0B' */
-            return "IEC61131_SINT"
-        }
-        case 0x0C: { /* '0x0C' */
-            return "IEC61131_USINT"
-        }
-        case 0x0D: { /* '0x0D' */
-            return "IEC61131_USINT"
-        }
-        case 0x0E: { /* '0x0E' */
-            return "IEC61131_INT"
-        }
-        case 0x0F: { /* '0x0F' */
-            return "IEC61131_INT"
-        }
-        case 0x10: { /* '0x10' */
-            return "IEC61131_UINT"
-        }
-        case 0x11: { /* '0x11' */
-            return "IEC61131_UINT"
-        }
-        case 0x12: { /* '0x12' */
-            return "IEC61131_DINT"
-        }
-        case 0x13: { /* '0x13' */
-            return "IEC61131_DINT"
-        }
-        case 0x14: { /* '0x14' */
-            return "IEC61131_UDINT"
-        }
-        case 0x15: { /* '0x15' */
-            return "IEC61131_UDINT"
-        }
-        case 0x16: { /* '0x16' */
-            return "IEC61131_LINT"
-        }
-        case 0x17: { /* '0x17' */
-            return "IEC61131_LINT"
-        }
-        case 0x18: { /* '0x18' */
-            return "IEC61131_ULINT"
-        }
-        case 0x19: { /* '0x19' */
-            return "IEC61131_ULINT"
-        }
-        case 0x1A: { /* '0x1A' */
-            return "IEC61131_REAL"
-        }
-        case 0x1B: { /* '0x1B' */
-            return "IEC61131_REAL"
-        }
-        case 0x1C: { /* '0x1C' */
-            return "IEC61131_LREAL"
-        }
-        case 0x1D: { /* '0x1D' */
-            return "IEC61131_LREAL"
-        }
-        case 0x1E: { /* '0x1E' */
-            return "IEC61131_CHAR"
-        }
-        case 0x1F: { /* '0x1F' */
-            return "IEC61131_WCHAR"
-        }
-        case 0x20: { /* '0x20' */
-            return "IEC61131_STRING"
-        }
-        case 0x21: { /* '0x21' */
-            return "IEC61131_WSTRING"
-        }
-        case 0x22: { /* '0x22' */
-            return "IEC61131_TIME"
-        }
-        case 0x23: { /* '0x23' */
-            return "IEC61131_LTIME"
-        }
-        case 0x24: { /* '0x24' */
-            return "IEC61131_DATE"
-        }
-        case 0x25: { /* '0x25' */
-            return "IEC61131_TIME_OF_DAY"
-        }
-        case 0x26: { /* '0x26' */
-            return "IEC61131_TIME_OF_DAY"
-        }
-        case 0x27: { /* '0x27' */
-            return "IEC61131_DATE_AND_TIME"
-        }
-        case 0x28: { /* '0x28' */
-            return "IEC61131_DATE_AND_TIME"
-        }
-        default: {
-            return ""
-        }
-    }
+	switch e {
+	case 0x01:
+		{ /* '0x01' */
+			return "IEC61131_BOOL"
+		}
+	case 0x02:
+		{ /* '0x02' */
+			return "IEC61131_BOOL"
+		}
+	case 0x03:
+		{ /* '0x03' */
+			return "IEC61131_BOOL"
+		}
+	case 0x04:
+		{ /* '0x04' */
+			return "IEC61131_BYTE"
+		}
+	case 0x05:
+		{ /* '0x05' */
+			return "IEC61131_BYTE"
+		}
+	case 0x06:
+		{ /* '0x06' */
+			return "IEC61131_WORD"
+		}
+	case 0x07:
+		{ /* '0x07' */
+			return "IEC61131_WORD"
+		}
+	case 0x08:
+		{ /* '0x08' */
+			return "IEC61131_DWORD"
+		}
+	case 0x09:
+		{ /* '0x09' */
+			return "IEC61131_DWORD"
+		}
+	case 0x0A:
+		{ /* '0x0A' */
+			return "IEC61131_SINT"
+		}
+	case 0x0B:
+		{ /* '0x0B' */
+			return "IEC61131_SINT"
+		}
+	case 0x0C:
+		{ /* '0x0C' */
+			return "IEC61131_USINT"
+		}
+	case 0x0D:
+		{ /* '0x0D' */
+			return "IEC61131_USINT"
+		}
+	case 0x0E:
+		{ /* '0x0E' */
+			return "IEC61131_INT"
+		}
+	case 0x0F:
+		{ /* '0x0F' */
+			return "IEC61131_INT"
+		}
+	case 0x10:
+		{ /* '0x10' */
+			return "IEC61131_UINT"
+		}
+	case 0x11:
+		{ /* '0x11' */
+			return "IEC61131_UINT"
+		}
+	case 0x12:
+		{ /* '0x12' */
+			return "IEC61131_DINT"
+		}
+	case 0x13:
+		{ /* '0x13' */
+			return "IEC61131_DINT"
+		}
+	case 0x14:
+		{ /* '0x14' */
+			return "IEC61131_UDINT"
+		}
+	case 0x15:
+		{ /* '0x15' */
+			return "IEC61131_UDINT"
+		}
+	case 0x16:
+		{ /* '0x16' */
+			return "IEC61131_LINT"
+		}
+	case 0x17:
+		{ /* '0x17' */
+			return "IEC61131_LINT"
+		}
+	case 0x18:
+		{ /* '0x18' */
+			return "IEC61131_ULINT"
+		}
+	case 0x19:
+		{ /* '0x19' */
+			return "IEC61131_ULINT"
+		}
+	case 0x1A:
+		{ /* '0x1A' */
+			return "IEC61131_REAL"
+		}
+	case 0x1B:
+		{ /* '0x1B' */
+			return "IEC61131_REAL"
+		}
+	case 0x1C:
+		{ /* '0x1C' */
+			return "IEC61131_LREAL"
+		}
+	case 0x1D:
+		{ /* '0x1D' */
+			return "IEC61131_LREAL"
+		}
+	case 0x1E:
+		{ /* '0x1E' */
+			return "IEC61131_CHAR"
+		}
+	case 0x1F:
+		{ /* '0x1F' */
+			return "IEC61131_WCHAR"
+		}
+	case 0x20:
+		{ /* '0x20' */
+			return "IEC61131_STRING"
+		}
+	case 0x21:
+		{ /* '0x21' */
+			return "IEC61131_WSTRING"
+		}
+	case 0x22:
+		{ /* '0x22' */
+			return "IEC61131_TIME"
+		}
+	case 0x23:
+		{ /* '0x23' */
+			return "IEC61131_LTIME"
+		}
+	case 0x24:
+		{ /* '0x24' */
+			return "IEC61131_DATE"
+		}
+	case 0x25:
+		{ /* '0x25' */
+			return "IEC61131_TIME_OF_DAY"
+		}
+	case 0x26:
+		{ /* '0x26' */
+			return "IEC61131_TIME_OF_DAY"
+		}
+	case 0x27:
+		{ /* '0x27' */
+			return "IEC61131_DATE_AND_TIME"
+		}
+	case 0x28:
+		{ /* '0x28' */
+			return "IEC61131_DATE_AND_TIME"
+		}
+	default:
+		{
+			return ""
+		}
+	}
 }
 func AdsDataTypeByValue(value int8) AdsDataType {
-    switch value {
-        case 0x01:
-            return AdsDataType_BOOL
-        case 0x02:
-            return AdsDataType_BIT
-        case 0x03:
-            return AdsDataType_BIT8
-        case 0x04:
-            return AdsDataType_BYTE
-        case 0x05:
-            return AdsDataType_BITARR8
-        case 0x06:
-            return AdsDataType_WORD
-        case 0x07:
-            return AdsDataType_BITARR16
-        case 0x08:
-            return AdsDataType_DWORD
-        case 0x09:
-            return AdsDataType_BITARR32
-        case 0x0A:
-            return AdsDataType_SINT
-        case 0x0B:
-            return AdsDataType_INT8
-        case 0x0C:
-            return AdsDataType_USINT
-        case 0x0D:
-            return AdsDataType_UINT8
-        case 0x0E:
-            return AdsDataType_INT
-        case 0x0F:
-            return AdsDataType_INT16
-        case 0x10:
-            return AdsDataType_UINT
-        case 0x11:
-            return AdsDataType_UINT16
-        case 0x12:
-            return AdsDataType_DINT
-        case 0x13:
-            return AdsDataType_INT32
-        case 0x14:
-            return AdsDataType_UDINT
-        case 0x15:
-            return AdsDataType_UINT32
-        case 0x16:
-            return AdsDataType_LINT
-        case 0x17:
-            return AdsDataType_INT64
-        case 0x18:
-            return AdsDataType_ULINT
-        case 0x19:
-            return AdsDataType_UINT64
-        case 0x1A:
-            return AdsDataType_REAL
-        case 0x1B:
-            return AdsDataType_FLOAT
-        case 0x1C:
-            return AdsDataType_LREAL
-        case 0x1D:
-            return AdsDataType_DOUBLE
-        case 0x1E:
-            return AdsDataType_CHAR
-        case 0x1F:
-            return AdsDataType_WCHAR
-        case 0x20:
-            return AdsDataType_STRING
-        case 0x21:
-            return AdsDataType_WSTRING
-        case 0x22:
-            return AdsDataType_TIME
-        case 0x23:
-            return AdsDataType_LTIME
-        case 0x24:
-            return AdsDataType_DATE
-        case 0x25:
-            return AdsDataType_TIME_OF_DAY
-        case 0x26:
-            return AdsDataType_TOD
-        case 0x27:
-            return AdsDataType_DATE_AND_TIME
-        case 0x28:
-            return AdsDataType_DT
-    }
-    return 0
+	switch value {
+	case 0x01:
+		return AdsDataType_BOOL
+	case 0x02:
+		return AdsDataType_BIT
+	case 0x03:
+		return AdsDataType_BIT8
+	case 0x04:
+		return AdsDataType_BYTE
+	case 0x05:
+		return AdsDataType_BITARR8
+	case 0x06:
+		return AdsDataType_WORD
+	case 0x07:
+		return AdsDataType_BITARR16
+	case 0x08:
+		return AdsDataType_DWORD
+	case 0x09:
+		return AdsDataType_BITARR32
+	case 0x0A:
+		return AdsDataType_SINT
+	case 0x0B:
+		return AdsDataType_INT8
+	case 0x0C:
+		return AdsDataType_USINT
+	case 0x0D:
+		return AdsDataType_UINT8
+	case 0x0E:
+		return AdsDataType_INT
+	case 0x0F:
+		return AdsDataType_INT16
+	case 0x10:
+		return AdsDataType_UINT
+	case 0x11:
+		return AdsDataType_UINT16
+	case 0x12:
+		return AdsDataType_DINT
+	case 0x13:
+		return AdsDataType_INT32
+	case 0x14:
+		return AdsDataType_UDINT
+	case 0x15:
+		return AdsDataType_UINT32
+	case 0x16:
+		return AdsDataType_LINT
+	case 0x17:
+		return AdsDataType_INT64
+	case 0x18:
+		return AdsDataType_ULINT
+	case 0x19:
+		return AdsDataType_UINT64
+	case 0x1A:
+		return AdsDataType_REAL
+	case 0x1B:
+		return AdsDataType_FLOAT
+	case 0x1C:
+		return AdsDataType_LREAL
+	case 0x1D:
+		return AdsDataType_DOUBLE
+	case 0x1E:
+		return AdsDataType_CHAR
+	case 0x1F:
+		return AdsDataType_WCHAR
+	case 0x20:
+		return AdsDataType_STRING
+	case 0x21:
+		return AdsDataType_WSTRING
+	case 0x22:
+		return AdsDataType_TIME
+	case 0x23:
+		return AdsDataType_LTIME
+	case 0x24:
+		return AdsDataType_DATE
+	case 0x25:
+		return AdsDataType_TIME_OF_DAY
+	case 0x26:
+		return AdsDataType_TOD
+	case 0x27:
+		return AdsDataType_DATE_AND_TIME
+	case 0x28:
+		return AdsDataType_DT
+	}
+	return 0
 }
 
 func AdsDataTypeByName(value string) AdsDataType {
-    switch value {
-    case "BOOL":
-        return AdsDataType_BOOL
-    case "BIT":
-        return AdsDataType_BIT
-    case "BIT8":
-        return AdsDataType_BIT8
-    case "BYTE":
-        return AdsDataType_BYTE
-    case "BITARR8":
-        return AdsDataType_BITARR8
-    case "WORD":
-        return AdsDataType_WORD
-    case "BITARR16":
-        return AdsDataType_BITARR16
-    case "DWORD":
-        return AdsDataType_DWORD
-    case "BITARR32":
-        return AdsDataType_BITARR32
-    case "SINT":
-        return AdsDataType_SINT
-    case "INT8":
-        return AdsDataType_INT8
-    case "USINT":
-        return AdsDataType_USINT
-    case "UINT8":
-        return AdsDataType_UINT8
-    case "INT":
-        return AdsDataType_INT
-    case "INT16":
-        return AdsDataType_INT16
-    case "UINT":
-        return AdsDataType_UINT
-    case "UINT16":
-        return AdsDataType_UINT16
-    case "DINT":
-        return AdsDataType_DINT
-    case "INT32":
-        return AdsDataType_INT32
-    case "UDINT":
-        return AdsDataType_UDINT
-    case "UINT32":
-        return AdsDataType_UINT32
-    case "LINT":
-        return AdsDataType_LINT
-    case "INT64":
-        return AdsDataType_INT64
-    case "ULINT":
-        return AdsDataType_ULINT
-    case "UINT64":
-        return AdsDataType_UINT64
-    case "REAL":
-        return AdsDataType_REAL
-    case "FLOAT":
-        return AdsDataType_FLOAT
-    case "LREAL":
-        return AdsDataType_LREAL
-    case "DOUBLE":
-        return AdsDataType_DOUBLE
-    case "CHAR":
-        return AdsDataType_CHAR
-    case "WCHAR":
-        return AdsDataType_WCHAR
-    case "STRING":
-        return AdsDataType_STRING
-    case "WSTRING":
-        return AdsDataType_WSTRING
-    case "TIME":
-        return AdsDataType_TIME
-    case "LTIME":
-        return AdsDataType_LTIME
-    case "DATE":
-        return AdsDataType_DATE
-    case "TIME_OF_DAY":
-        return AdsDataType_TIME_OF_DAY
-    case "TOD":
-        return AdsDataType_TOD
-    case "DATE_AND_TIME":
-        return AdsDataType_DATE_AND_TIME
-    case "DT":
-        return AdsDataType_DT
-    }
-    return 0
+	switch value {
+	case "BOOL":
+		return AdsDataType_BOOL
+	case "BIT":
+		return AdsDataType_BIT
+	case "BIT8":
+		return AdsDataType_BIT8
+	case "BYTE":
+		return AdsDataType_BYTE
+	case "BITARR8":
+		return AdsDataType_BITARR8
+	case "WORD":
+		return AdsDataType_WORD
+	case "BITARR16":
+		return AdsDataType_BITARR16
+	case "DWORD":
+		return AdsDataType_DWORD
+	case "BITARR32":
+		return AdsDataType_BITARR32
+	case "SINT":
+		return AdsDataType_SINT
+	case "INT8":
+		return AdsDataType_INT8
+	case "USINT":
+		return AdsDataType_USINT
+	case "UINT8":
+		return AdsDataType_UINT8
+	case "INT":
+		return AdsDataType_INT
+	case "INT16":
+		return AdsDataType_INT16
+	case "UINT":
+		return AdsDataType_UINT
+	case "UINT16":
+		return AdsDataType_UINT16
+	case "DINT":
+		return AdsDataType_DINT
+	case "INT32":
+		return AdsDataType_INT32
+	case "UDINT":
+		return AdsDataType_UDINT
+	case "UINT32":
+		return AdsDataType_UINT32
+	case "LINT":
+		return AdsDataType_LINT
+	case "INT64":
+		return AdsDataType_INT64
+	case "ULINT":
+		return AdsDataType_ULINT
+	case "UINT64":
+		return AdsDataType_UINT64
+	case "REAL":
+		return AdsDataType_REAL
+	case "FLOAT":
+		return AdsDataType_FLOAT
+	case "LREAL":
+		return AdsDataType_LREAL
+	case "DOUBLE":
+		return AdsDataType_DOUBLE
+	case "CHAR":
+		return AdsDataType_CHAR
+	case "WCHAR":
+		return AdsDataType_WCHAR
+	case "STRING":
+		return AdsDataType_STRING
+	case "WSTRING":
+		return AdsDataType_WSTRING
+	case "TIME":
+		return AdsDataType_TIME
+	case "LTIME":
+		return AdsDataType_LTIME
+	case "DATE":
+		return AdsDataType_DATE
+	case "TIME_OF_DAY":
+		return AdsDataType_TIME_OF_DAY
+	case "TOD":
+		return AdsDataType_TOD
+	case "DATE_AND_TIME":
+		return AdsDataType_DATE_AND_TIME
+	case "DT":
+		return AdsDataType_DT
+	}
+	return 0
 }
 
 func CastAdsDataType(structType interface{}) AdsDataType {
-    castFunc := func(typ interface{}) AdsDataType {
-        if sAdsDataType, ok := typ.(AdsDataType); ok {
-            return sAdsDataType
-        }
-        return 0
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) AdsDataType {
+		if sAdsDataType, ok := typ.(AdsDataType); ok {
+			return sAdsDataType
+		}
+		return 0
+	}
+	return castFunc(structType)
 }
 
 func (m AdsDataType) LengthInBits() uint16 {
-    return 8
+	return 8
 }
 
 func (m AdsDataType) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsDataTypeParse(io *utils.ReadBuffer) (AdsDataType, error) {
-    val, err := io.ReadInt8(8)
-    if err != nil {
-        return 0, nil
-    }
-    return AdsDataTypeByValue(val), nil
+	val, err := io.ReadInt8(8)
+	if err != nil {
+		return 0, nil
+	}
+	return AdsDataTypeByValue(val), nil
 }
 
 func (e AdsDataType) Serialize(io utils.WriteBuffer) error {
-    err := io.WriteInt8(8, int8(e))
-    return err
+	err := io.WriteInt8(8, int8(e))
+	return err
 }
 
 func (e AdsDataType) String() string {
-    switch e {
-    case AdsDataType_BOOL:
-        return "BOOL"
-    case AdsDataType_BIT:
-        return "BIT"
-    case AdsDataType_BIT8:
-        return "BIT8"
-    case AdsDataType_BYTE:
-        return "BYTE"
-    case AdsDataType_BITARR8:
-        return "BITARR8"
-    case AdsDataType_WORD:
-        return "WORD"
-    case AdsDataType_BITARR16:
-        return "BITARR16"
-    case AdsDataType_DWORD:
-        return "DWORD"
-    case AdsDataType_BITARR32:
-        return "BITARR32"
-    case AdsDataType_SINT:
-        return "SINT"
-    case AdsDataType_INT8:
-        return "INT8"
-    case AdsDataType_USINT:
-        return "USINT"
-    case AdsDataType_UINT8:
-        return "UINT8"
-    case AdsDataType_INT:
-        return "INT"
-    case AdsDataType_INT16:
-        return "INT16"
-    case AdsDataType_UINT:
-        return "UINT"
-    case AdsDataType_UINT16:
-        return "UINT16"
-    case AdsDataType_DINT:
-        return "DINT"
-    case AdsDataType_INT32:
-        return "INT32"
-    case AdsDataType_UDINT:
-        return "UDINT"
-    case AdsDataType_UINT32:
-        return "UINT32"
-    case AdsDataType_LINT:
-        return "LINT"
-    case AdsDataType_INT64:
-        return "INT64"
-    case AdsDataType_ULINT:
-        return "ULINT"
-    case AdsDataType_UINT64:
-        return "UINT64"
-    case AdsDataType_REAL:
-        return "REAL"
-    case AdsDataType_FLOAT:
-        return "FLOAT"
-    case AdsDataType_LREAL:
-        return "LREAL"
-    case AdsDataType_DOUBLE:
-        return "DOUBLE"
-    case AdsDataType_CHAR:
-        return "CHAR"
-    case AdsDataType_WCHAR:
-        return "WCHAR"
-    case AdsDataType_STRING:
-        return "STRING"
-    case AdsDataType_WSTRING:
-        return "WSTRING"
-    case AdsDataType_TIME:
-        return "TIME"
-    case AdsDataType_LTIME:
-        return "LTIME"
-    case AdsDataType_DATE:
-        return "DATE"
-    case AdsDataType_TIME_OF_DAY:
-        return "TIME_OF_DAY"
-    case AdsDataType_TOD:
-        return "TOD"
-    case AdsDataType_DATE_AND_TIME:
-        return "DATE_AND_TIME"
-    case AdsDataType_DT:
-        return "DT"
-    }
-    return ""
+	switch e {
+	case AdsDataType_BOOL:
+		return "BOOL"
+	case AdsDataType_BIT:
+		return "BIT"
+	case AdsDataType_BIT8:
+		return "BIT8"
+	case AdsDataType_BYTE:
+		return "BYTE"
+	case AdsDataType_BITARR8:
+		return "BITARR8"
+	case AdsDataType_WORD:
+		return "WORD"
+	case AdsDataType_BITARR16:
+		return "BITARR16"
+	case AdsDataType_DWORD:
+		return "DWORD"
+	case AdsDataType_BITARR32:
+		return "BITARR32"
+	case AdsDataType_SINT:
+		return "SINT"
+	case AdsDataType_INT8:
+		return "INT8"
+	case AdsDataType_USINT:
+		return "USINT"
+	case AdsDataType_UINT8:
+		return "UINT8"
+	case AdsDataType_INT:
+		return "INT"
+	case AdsDataType_INT16:
+		return "INT16"
+	case AdsDataType_UINT:
+		return "UINT"
+	case AdsDataType_UINT16:
+		return "UINT16"
+	case AdsDataType_DINT:
+		return "DINT"
+	case AdsDataType_INT32:
+		return "INT32"
+	case AdsDataType_UDINT:
+		return "UDINT"
+	case AdsDataType_UINT32:
+		return "UINT32"
+	case AdsDataType_LINT:
+		return "LINT"
+	case AdsDataType_INT64:
+		return "INT64"
+	case AdsDataType_ULINT:
+		return "ULINT"
+	case AdsDataType_UINT64:
+		return "UINT64"
+	case AdsDataType_REAL:
+		return "REAL"
+	case AdsDataType_FLOAT:
+		return "FLOAT"
+	case AdsDataType_LREAL:
+		return "LREAL"
+	case AdsDataType_DOUBLE:
+		return "DOUBLE"
+	case AdsDataType_CHAR:
+		return "CHAR"
+	case AdsDataType_WCHAR:
+		return "WCHAR"
+	case AdsDataType_STRING:
+		return "STRING"
+	case AdsDataType_WSTRING:
+		return "WSTRING"
+	case AdsDataType_TIME:
+		return "TIME"
+	case AdsDataType_LTIME:
+		return "LTIME"
+	case AdsDataType_DATE:
+		return "DATE"
+	case AdsDataType_TIME_OF_DAY:
+		return "TIME_OF_DAY"
+	case AdsDataType_TOD:
+		return "TOD"
+	case AdsDataType_DATE_AND_TIME:
+		return "DATE_AND_TIME"
+	case AdsDataType_DT:
+		return "DT"
+	}
+	return ""
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index f5c2bc5..e485499 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -19,150 +19,148 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationRequest struct {
-    NotificationHandle uint32
-    Parent *AdsData
-    IAdsDeleteDeviceNotificationRequest
+	NotificationHandle uint32
+	Parent             *AdsData
+	IAdsDeleteDeviceNotificationRequest
 }
 
 // The corresponding interface
 type IAdsDeleteDeviceNotificationRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsDeleteDeviceNotificationRequest) CommandId() CommandId {
-    return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
+	return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsDeleteDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeleteDeviceNotificationRequest(notificationHandle uint32) *AdsData {
-    child := &AdsDeleteDeviceNotificationRequest{
-        NotificationHandle: notificationHandle,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsDeleteDeviceNotificationRequest{
+		NotificationHandle: notificationHandle,
+		Parent:             NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsDeleteDeviceNotificationRequest(structType interface{}) *AdsDeleteDeviceNotificationRequest {
-    castFunc := func(typ interface{}) *AdsDeleteDeviceNotificationRequest {
-        if casted, ok := typ.(AdsDeleteDeviceNotificationRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsDeleteDeviceNotificationRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsDeleteDeviceNotificationRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsDeleteDeviceNotificationRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsDeleteDeviceNotificationRequest {
+		if casted, ok := typ.(AdsDeleteDeviceNotificationRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsDeleteDeviceNotificationRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsDeleteDeviceNotificationRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsDeleteDeviceNotificationRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) GetTypeName() string {
-    return "AdsDeleteDeviceNotificationRequest"
+	return "AdsDeleteDeviceNotificationRequest"
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (notificationHandle)
-    lengthInBits += 32
+	// Simple field (notificationHandle)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsDeleteDeviceNotificationRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (notificationHandle)
-    notificationHandle, _notificationHandleErr := io.ReadUint32(32)
-    if _notificationHandleErr != nil {
-        return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsDeleteDeviceNotificationRequest{
-        NotificationHandle: notificationHandle,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (notificationHandle)
+	notificationHandle, _notificationHandleErr := io.ReadUint32(32)
+	if _notificationHandleErr != nil {
+		return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsDeleteDeviceNotificationRequest{
+		NotificationHandle: notificationHandle,
+		Parent:             &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (notificationHandle)
-    notificationHandle := uint32(m.NotificationHandle)
-    _notificationHandleErr := io.WriteUint32(32, (notificationHandle))
-    if _notificationHandleErr != nil {
-        return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (notificationHandle)
+		notificationHandle := uint32(m.NotificationHandle)
+		_notificationHandleErr := io.WriteUint32(32, (notificationHandle))
+		if _notificationHandleErr != nil {
+			return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "notificationHandle":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.NotificationHandle = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "notificationHandle":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.NotificationHandle = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsDeleteDeviceNotificationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index 647e2da..6cb76e3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -19,150 +19,148 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationResponse struct {
-    Result ReturnCode
-    Parent *AdsData
-    IAdsDeleteDeviceNotificationResponse
+	Result ReturnCode
+	Parent *AdsData
+	IAdsDeleteDeviceNotificationResponse
 }
 
 // The corresponding interface
 type IAdsDeleteDeviceNotificationResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsDeleteDeviceNotificationResponse) CommandId() CommandId {
-    return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
+	return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsDeleteDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeleteDeviceNotificationResponse(result ReturnCode) *AdsData {
-    child := &AdsDeleteDeviceNotificationResponse{
-        Result: result,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsDeleteDeviceNotificationResponse{
+		Result: result,
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsDeleteDeviceNotificationResponse(structType interface{}) *AdsDeleteDeviceNotificationResponse {
-    castFunc := func(typ interface{}) *AdsDeleteDeviceNotificationResponse {
-        if casted, ok := typ.(AdsDeleteDeviceNotificationResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsDeleteDeviceNotificationResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsDeleteDeviceNotificationResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsDeleteDeviceNotificationResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsDeleteDeviceNotificationResponse {
+		if casted, ok := typ.(AdsDeleteDeviceNotificationResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsDeleteDeviceNotificationResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsDeleteDeviceNotificationResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsDeleteDeviceNotificationResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) GetTypeName() string {
-    return "AdsDeleteDeviceNotificationResponse"
+	return "AdsDeleteDeviceNotificationResponse"
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsDeleteDeviceNotificationResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsDeleteDeviceNotificationResponse{
-        Result: result,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsDeleteDeviceNotificationResponse{
+		Result: result,
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsDeleteDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 196869d..e35a3a3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -19,224 +19,222 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsDeviceNotificationRequest struct {
-    Length uint32
-    Stamps uint32
-    AdsStampHeaders []*AdsStampHeader
-    Parent *AdsData
-    IAdsDeviceNotificationRequest
+	Length          uint32
+	Stamps          uint32
+	AdsStampHeaders []*AdsStampHeader
+	Parent          *AdsData
+	IAdsDeviceNotificationRequest
 }
 
 // The corresponding interface
 type IAdsDeviceNotificationRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsDeviceNotificationRequest) CommandId() CommandId {
-    return CommandId_ADS_DEVICE_NOTIFICATION
+	return CommandId_ADS_DEVICE_NOTIFICATION
 }
 
 func (m *AdsDeviceNotificationRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeviceNotificationRequest(length uint32, stamps uint32, adsStampHeaders []*AdsStampHeader) *AdsData {
-    child := &AdsDeviceNotificationRequest{
-        Length: length,
-        Stamps: stamps,
-        AdsStampHeaders: adsStampHeaders,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsDeviceNotificationRequest{
+		Length:          length,
+		Stamps:          stamps,
+		AdsStampHeaders: adsStampHeaders,
+		Parent:          NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsDeviceNotificationRequest(structType interface{}) *AdsDeviceNotificationRequest {
-    castFunc := func(typ interface{}) *AdsDeviceNotificationRequest {
-        if casted, ok := typ.(AdsDeviceNotificationRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsDeviceNotificationRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsDeviceNotificationRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsDeviceNotificationRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsDeviceNotificationRequest {
+		if casted, ok := typ.(AdsDeviceNotificationRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsDeviceNotificationRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsDeviceNotificationRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsDeviceNotificationRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsDeviceNotificationRequest) GetTypeName() string {
-    return "AdsDeviceNotificationRequest"
+	return "AdsDeviceNotificationRequest"
 }
 
 func (m *AdsDeviceNotificationRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (length)
-    lengthInBits += 32
+	// Simple field (length)
+	lengthInBits += 32
 
-    // Simple field (stamps)
-    lengthInBits += 32
+	// Simple field (stamps)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.AdsStampHeaders) > 0 {
-        for _, element := range m.AdsStampHeaders {
-            lengthInBits += element.LengthInBits()
-        }
-    }
+	// Array field
+	if len(m.AdsStampHeaders) > 0 {
+		for _, element := range m.AdsStampHeaders {
+			lengthInBits += element.LengthInBits()
+		}
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsDeviceNotificationRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsDeviceNotificationRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (length)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Simple Field (stamps)
-    stamps, _stampsErr := io.ReadUint32(32)
-    if _stampsErr != nil {
-        return nil, errors.New("Error parsing 'stamps' field " + _stampsErr.Error())
-    }
-
-    // Array field (adsStampHeaders)
-    // Count array
-    adsStampHeaders := make([]*AdsStampHeader, stamps)
-    for curItem := uint16(0); curItem < uint16(stamps); curItem++ {
-        _item, _err := AdsStampHeaderParse(io)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'adsStampHeaders' field " + _err.Error())
-        }
-        adsStampHeaders[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsDeviceNotificationRequest{
-        Length: length,
-        Stamps: stamps,
-        AdsStampHeaders: adsStampHeaders,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (length)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Simple Field (stamps)
+	stamps, _stampsErr := io.ReadUint32(32)
+	if _stampsErr != nil {
+		return nil, errors.New("Error parsing 'stamps' field " + _stampsErr.Error())
+	}
+
+	// Array field (adsStampHeaders)
+	// Count array
+	adsStampHeaders := make([]*AdsStampHeader, stamps)
+	for curItem := uint16(0); curItem < uint16(stamps); curItem++ {
+		_item, _err := AdsStampHeaderParse(io)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'adsStampHeaders' field " + _err.Error())
+		}
+		adsStampHeaders[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsDeviceNotificationRequest{
+		Length:          length,
+		Stamps:          stamps,
+		AdsStampHeaders: adsStampHeaders,
+		Parent:          &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (length)
-    length := uint32(m.Length)
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-    // Simple Field (stamps)
-    stamps := uint32(m.Stamps)
-    _stampsErr := io.WriteUint32(32, (stamps))
-    if _stampsErr != nil {
-        return errors.New("Error serializing 'stamps' field " + _stampsErr.Error())
-    }
-
-    // Array Field (adsStampHeaders)
-    if m.AdsStampHeaders != nil {
-        for _, _element := range m.AdsStampHeaders {
-            _elementErr := _element.Serialize(io)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'adsStampHeaders' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (length)
+		length := uint32(m.Length)
+		_lengthErr := io.WriteUint32(32, (length))
+		if _lengthErr != nil {
+			return errors.New("Error serializing 'length' field " + _lengthErr.Error())
+		}
+
+		// Simple Field (stamps)
+		stamps := uint32(m.Stamps)
+		_stampsErr := io.WriteUint32(32, (stamps))
+		if _stampsErr != nil {
+			return errors.New("Error serializing 'stamps' field " + _stampsErr.Error())
+		}
+
+		// Array Field (adsStampHeaders)
+		if m.AdsStampHeaders != nil {
+			for _, _element := range m.AdsStampHeaders {
+				_elementErr := _element.Serialize(io)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'adsStampHeaders' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsDeviceNotificationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "length":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Length = data
-            case "stamps":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Stamps = data
-            case "adsStampHeaders":
-                var data []*AdsStampHeader
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.AdsStampHeaders = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "length":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Length = data
+			case "stamps":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Stamps = data
+			case "adsStampHeaders":
+				var data []*AdsStampHeader
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.AdsStampHeaders = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsDeviceNotificationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Stamps, xml.StartElement{Name: xml.Name{Local: "stamps"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.AdsStampHeaders, xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Stamps, xml.StartElement{Name: xml.Name{Local: "stamps"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.AdsStampHeaders, xml.StartElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "adsStampHeaders"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
index 0dd09cf..4e6c70c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -19,121 +19,119 @@
 package model
 
 import (
-    "encoding/xml"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsDeviceNotificationResponse struct {
-    Parent *AdsData
-    IAdsDeviceNotificationResponse
+	Parent *AdsData
+	IAdsDeviceNotificationResponse
 }
 
 // The corresponding interface
 type IAdsDeviceNotificationResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsDeviceNotificationResponse) CommandId() CommandId {
-    return CommandId_ADS_DEVICE_NOTIFICATION
+	return CommandId_ADS_DEVICE_NOTIFICATION
 }
 
 func (m *AdsDeviceNotificationResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeviceNotificationResponse() *AdsData {
-    child := &AdsDeviceNotificationResponse{
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsDeviceNotificationResponse{
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsDeviceNotificationResponse(structType interface{}) *AdsDeviceNotificationResponse {
-    castFunc := func(typ interface{}) *AdsDeviceNotificationResponse {
-        if casted, ok := typ.(AdsDeviceNotificationResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsDeviceNotificationResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsDeviceNotificationResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsDeviceNotificationResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsDeviceNotificationResponse {
+		if casted, ok := typ.(AdsDeviceNotificationResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsDeviceNotificationResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsDeviceNotificationResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsDeviceNotificationResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsDeviceNotificationResponse) GetTypeName() string {
-    return "AdsDeviceNotificationResponse"
+	return "AdsDeviceNotificationResponse"
 }
 
 func (m *AdsDeviceNotificationResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsDeviceNotificationResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsDeviceNotificationResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Create a partially initialized instance
-    _child := &AdsDeviceNotificationResponse{
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Create a partially initialized instance
+	_child := &AdsDeviceNotificationResponse{
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsDeviceNotificationResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
+	ser := func() error {
 
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsDeviceNotificationResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsDeviceNotificationResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    return nil
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
index 041420e..4848944 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
@@ -19,121 +19,119 @@
 package model
 
 import (
-    "encoding/xml"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsInvalidRequest struct {
-    Parent *AdsData
-    IAdsInvalidRequest
+	Parent *AdsData
+	IAdsInvalidRequest
 }
 
 // The corresponding interface
 type IAdsInvalidRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsInvalidRequest) CommandId() CommandId {
-    return CommandId_INVALID
+	return CommandId_INVALID
 }
 
 func (m *AdsInvalidRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsInvalidRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsInvalidRequest() *AdsData {
-    child := &AdsInvalidRequest{
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsInvalidRequest{
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsInvalidRequest(structType interface{}) *AdsInvalidRequest {
-    castFunc := func(typ interface{}) *AdsInvalidRequest {
-        if casted, ok := typ.(AdsInvalidRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsInvalidRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsInvalidRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsInvalidRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsInvalidRequest {
+		if casted, ok := typ.(AdsInvalidRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsInvalidRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsInvalidRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsInvalidRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsInvalidRequest) GetTypeName() string {
-    return "AdsInvalidRequest"
+	return "AdsInvalidRequest"
 }
 
 func (m *AdsInvalidRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsInvalidRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsInvalidRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Create a partially initialized instance
-    _child := &AdsInvalidRequest{
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Create a partially initialized instance
+	_child := &AdsInvalidRequest{
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsInvalidRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
+	ser := func() error {
 
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsInvalidRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsInvalidRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    return nil
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
index 013e082..2c62e9a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
@@ -19,121 +19,119 @@
 package model
 
 import (
-    "encoding/xml"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsInvalidResponse struct {
-    Parent *AdsData
-    IAdsInvalidResponse
+	Parent *AdsData
+	IAdsInvalidResponse
 }
 
 // The corresponding interface
 type IAdsInvalidResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsInvalidResponse) CommandId() CommandId {
-    return CommandId_INVALID
+	return CommandId_INVALID
 }
 
 func (m *AdsInvalidResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsInvalidResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsInvalidResponse() *AdsData {
-    child := &AdsInvalidResponse{
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsInvalidResponse{
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsInvalidResponse(structType interface{}) *AdsInvalidResponse {
-    castFunc := func(typ interface{}) *AdsInvalidResponse {
-        if casted, ok := typ.(AdsInvalidResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsInvalidResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsInvalidResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsInvalidResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsInvalidResponse {
+		if casted, ok := typ.(AdsInvalidResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsInvalidResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsInvalidResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsInvalidResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsInvalidResponse) GetTypeName() string {
-    return "AdsInvalidResponse"
+	return "AdsInvalidResponse"
 }
 
 func (m *AdsInvalidResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsInvalidResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsInvalidResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Create a partially initialized instance
-    _child := &AdsInvalidResponse{
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Create a partially initialized instance
+	_child := &AdsInvalidResponse{
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsInvalidResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
+	ser := func() error {
 
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsInvalidResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsInvalidResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    return nil
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
index 0f85551..7470567 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
@@ -19,190 +19,189 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
-    "reflect"
-    "strings"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
+	"reflect"
+	"strings"
 )
 
 // The data-structure of this message
 type AdsMultiRequestItem struct {
-    Child IAdsMultiRequestItemChild
-    IAdsMultiRequestItem
-    IAdsMultiRequestItemParent
+	Child IAdsMultiRequestItemChild
+	IAdsMultiRequestItem
+	IAdsMultiRequestItemParent
 }
 
 // The corresponding interface
 type IAdsMultiRequestItem interface {
-    IndexGroup() uint32
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	IndexGroup() uint32
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 type IAdsMultiRequestItemParent interface {
-    SerializeParent(io utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error
-    GetTypeName() string
+	SerializeParent(io utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error
+	GetTypeName() string
 }
 
 type IAdsMultiRequestItemChild interface {
-    Serialize(io utils.WriteBuffer) error
-    InitializeParent(parent *AdsMultiRequestItem)
-    GetTypeName() string
-    IAdsMultiRequestItem
+	Serialize(io utils.WriteBuffer) error
+	InitializeParent(parent *AdsMultiRequestItem)
+	GetTypeName() string
+	IAdsMultiRequestItem
 }
 
 func NewAdsMultiRequestItem() *AdsMultiRequestItem {
-    return &AdsMultiRequestItem{}
+	return &AdsMultiRequestItem{}
 }
 
 func CastAdsMultiRequestItem(structType interface{}) *AdsMultiRequestItem {
-    castFunc := func(typ interface{}) *AdsMultiRequestItem {
-        if casted, ok := typ.(AdsMultiRequestItem); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsMultiRequestItem); ok {
-            return casted
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsMultiRequestItem {
+		if casted, ok := typ.(AdsMultiRequestItem); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsMultiRequestItem); ok {
+			return casted
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsMultiRequestItem) GetTypeName() string {
-    return "AdsMultiRequestItem"
+	return "AdsMultiRequestItem"
 }
 
 func (m *AdsMultiRequestItem) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Length of sub-type elements will be added by sub-type...
-    lengthInBits += m.Child.LengthInBits()
+	// Length of sub-type elements will be added by sub-type...
+	lengthInBits += m.Child.LengthInBits()
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsMultiRequestItem) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsMultiRequestItemParse(io *utils.ReadBuffer, indexGroup uint32) (*AdsMultiRequestItem, error) {
 
-    // Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
-    var _parent *AdsMultiRequestItem
-    var typeSwitchError error
-    switch {
-    case indexGroup == 61568L:
-        _parent, typeSwitchError = AdsMultiRequestItemReadParse(io)
-    case indexGroup == 61569L:
-        _parent, typeSwitchError = AdsMultiRequestItemWriteParse(io)
-    case indexGroup == 61570L:
-        _parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(io)
-    }
-    if typeSwitchError != nil {
-        return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
-    }
-
-    // Finish initializing
-    _parent.Child.InitializeParent(_parent)
-    return _parent, nil
+	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
+	var _parent *AdsMultiRequestItem
+	var typeSwitchError error
+	switch {
+	case indexGroup == 61568:
+		_parent, typeSwitchError = AdsMultiRequestItemReadParse(io)
+	case indexGroup == 61569:
+		_parent, typeSwitchError = AdsMultiRequestItemWriteParse(io)
+	case indexGroup == 61570:
+		_parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(io)
+	}
+	if typeSwitchError != nil {
+		return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
+	}
+
+	// Finish initializing
+	_parent.Child.InitializeParent(_parent)
+	return _parent, nil
 }
 
 func (m *AdsMultiRequestItem) Serialize(io utils.WriteBuffer) error {
-    return m.Child.Serialize(io)
+	return m.Child.Serialize(io)
 }
 
 func (m *AdsMultiRequestItem) SerializeParent(io utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error {
 
-    // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
-    _typeSwitchErr := serializeChildFunction()
-    if _typeSwitchErr != nil {
-        return errors.New("Error serializing sub-type field " + _typeSwitchErr.Error())
-    }
+	// Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
+	_typeSwitchErr := serializeChildFunction()
+	if _typeSwitchErr != nil {
+		return errors.New("Error serializing sub-type field " + _typeSwitchErr.Error())
+	}
 
-    return nil
+	return nil
 }
 
 func (m *AdsMultiRequestItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    for {
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            default:
-                switch start.Attr[0].Value {
-                    case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemRead":
-                        var dt *AdsMultiRequestItemRead
-                        if m.Child != nil {
-                            dt = m.Child.(*AdsMultiRequestItemRead)
-                        }
-                        if err := d.DecodeElement(&dt, &tok); err != nil {
-                            return err
-                        }
-                        if m.Child == nil {
-                            dt.Parent = m
-                            m.Child = dt
-                        }
-                    case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemWrite":
-                        var dt *AdsMultiRequestItemWrite
-                        if m.Child != nil {
-                            dt = m.Child.(*AdsMultiRequestItemWrite)
-                        }
-                        if err := d.DecodeElement(&dt, &tok); err != nil {
-                            return err
-                        }
-                        if m.Child == nil {
-                            dt.Parent = m
-                            m.Child = dt
-                        }
-                    case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemReadWrite":
-                        var dt *AdsMultiRequestItemReadWrite
-                        if m.Child != nil {
-                            dt = m.Child.(*AdsMultiRequestItemReadWrite)
-                        }
-                        if err := d.DecodeElement(&dt, &tok); err != nil {
-                            return err
-                        }
-                        if m.Child == nil {
-                            dt.Parent = m
-                            m.Child = dt
-                        }
-                }
-            }
-        }
-    }
+	var token xml.Token
+	var err error
+	for {
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			default:
+				switch start.Attr[0].Value {
+				case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemRead":
+					var dt *AdsMultiRequestItemRead
+					if m.Child != nil {
+						dt = m.Child.(*AdsMultiRequestItemRead)
+					}
+					if err := d.DecodeElement(&dt, &tok); err != nil {
+						return err
+					}
+					if m.Child == nil {
+						dt.Parent = m
+						m.Child = dt
+					}
+				case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemWrite":
+					var dt *AdsMultiRequestItemWrite
+					if m.Child != nil {
+						dt = m.Child.(*AdsMultiRequestItemWrite)
+					}
+					if err := d.DecodeElement(&dt, &tok); err != nil {
+						return err
+					}
+					if m.Child == nil {
+						dt.Parent = m
+						m.Child = dt
+					}
+				case "org.apache.plc4x.java.ads.readwrite.AdsMultiRequestItemReadWrite":
+					var dt *AdsMultiRequestItemReadWrite
+					if m.Child != nil {
+						dt = m.Child.(*AdsMultiRequestItemReadWrite)
+					}
+					if err := d.DecodeElement(&dt, &tok); err != nil {
+						return err
+					}
+					if m.Child == nil {
+						dt.Parent = m
+						m.Child = dt
+					}
+				}
+			}
+		}
+	}
 }
 
 func (m *AdsMultiRequestItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    className := reflect.TypeOf(m.Child).String()
-    className = "org.apache.plc4x.java.ads.readwrite." + className[strings.LastIndex(className, ".") + 1:]
-    if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
-            {Name: xml.Name{Local: "className"}, Value: className},
-        }}); err != nil {
-        return err
-    }
-    marshaller, ok := m.Child.(xml.Marshaler)
-    if !ok {
-        return errors.New("child is not castable to Marshaler")
-    }
-    if err := marshaller.MarshalXML(e, start); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
-        return err
-    }
-    return nil
+	className := reflect.TypeOf(m.Child).String()
+	className = "org.apache.plc4x.java.ads.readwrite." + className[strings.LastIndex(className, ".")+1:]
+	if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+		{Name: xml.Name{Local: "className"}, Value: className},
+	}}); err != nil {
+		return err
+	}
+	marshaller, ok := m.Child.(xml.Marshaler)
+	if !ok {
+		return errors.New("child is not castable to Marshaler")
+	}
+	if err := marshaller.MarshalXML(e, start); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
index d1baab1..50b7552 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -19,202 +19,200 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsMultiRequestItemRead struct {
-    ItemIndexGroup uint32
-    ItemIndexOffset uint32
-    ItemReadLength uint32
-    Parent *AdsMultiRequestItem
-    IAdsMultiRequestItemRead
+	ItemIndexGroup  uint32
+	ItemIndexOffset uint32
+	ItemReadLength  uint32
+	Parent          *AdsMultiRequestItem
+	IAdsMultiRequestItemRead
 }
 
 // The corresponding interface
 type IAdsMultiRequestItemRead interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsMultiRequestItemRead) IndexGroup() uint32 {
-    return 61568L
+	return 61568
 }
 
-
 func (m *AdsMultiRequestItemRead) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemRead(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32) *AdsMultiRequestItem {
-    child := &AdsMultiRequestItemRead{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemReadLength: itemReadLength,
-        Parent: NewAdsMultiRequestItem(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsMultiRequestItemRead{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemReadLength:  itemReadLength,
+		Parent:          NewAdsMultiRequestItem(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsMultiRequestItemRead(structType interface{}) *AdsMultiRequestItemRead {
-    castFunc := func(typ interface{}) *AdsMultiRequestItemRead {
-        if casted, ok := typ.(AdsMultiRequestItemRead); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsMultiRequestItemRead); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemRead(casted.Child)
-        }
-        if casted, ok := typ.(*AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemRead(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsMultiRequestItemRead {
+		if casted, ok := typ.(AdsMultiRequestItemRead); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsMultiRequestItemRead); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemRead(casted.Child)
+		}
+		if casted, ok := typ.(*AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemRead(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsMultiRequestItemRead) GetTypeName() string {
-    return "AdsMultiRequestItemRead"
+	return "AdsMultiRequestItemRead"
 }
 
 func (m *AdsMultiRequestItemRead) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (itemIndexGroup)
-    lengthInBits += 32
+	// Simple field (itemIndexGroup)
+	lengthInBits += 32
 
-    // Simple field (itemIndexOffset)
-    lengthInBits += 32
+	// Simple field (itemIndexOffset)
+	lengthInBits += 32
 
-    // Simple field (itemReadLength)
-    lengthInBits += 32
+	// Simple field (itemReadLength)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsMultiRequestItemRead) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsMultiRequestItemReadParse(io *utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
-    if _itemIndexGroupErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
-    if _itemIndexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemReadLength)
-    itemReadLength, _itemReadLengthErr := io.ReadUint32(32)
-    if _itemReadLengthErr != nil {
-        return nil, errors.New("Error parsing 'itemReadLength' field " + _itemReadLengthErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsMultiRequestItemRead{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemReadLength: itemReadLength,
-        Parent: &AdsMultiRequestItem{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
+	if _itemIndexGroupErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+	}
+
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
+	if _itemIndexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+	}
+
+	// Simple Field (itemReadLength)
+	itemReadLength, _itemReadLengthErr := io.ReadUint32(32)
+	if _itemReadLengthErr != nil {
+		return nil, errors.New("Error parsing 'itemReadLength' field " + _itemReadLengthErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsMultiRequestItemRead{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemReadLength:  itemReadLength,
+		Parent:          &AdsMultiRequestItem{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsMultiRequestItemRead) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup := uint32(m.ItemIndexGroup)
-    _itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
-    if _itemIndexGroupErr != nil {
-        return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset := uint32(m.ItemIndexOffset)
-    _itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
-    if _itemIndexOffsetErr != nil {
-        return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemReadLength)
-    itemReadLength := uint32(m.ItemReadLength)
-    _itemReadLengthErr := io.WriteUint32(32, (itemReadLength))
-    if _itemReadLengthErr != nil {
-        return errors.New("Error serializing 'itemReadLength' field " + _itemReadLengthErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+		}
+
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+		}
+
+		// Simple Field (itemReadLength)
+		itemReadLength := uint32(m.ItemReadLength)
+		_itemReadLengthErr := io.WriteUint32(32, (itemReadLength))
+		if _itemReadLengthErr != nil {
+			return errors.New("Error serializing 'itemReadLength' field " + _itemReadLengthErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsMultiRequestItemRead) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "itemIndexGroup":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexGroup = data
-            case "itemIndexOffset":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexOffset = data
-            case "itemReadLength":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemReadLength = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "itemIndexGroup":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexGroup = data
+			case "itemIndexOffset":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexOffset = data
+			case "itemReadLength":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemReadLength = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsMultiRequestItemRead) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index 749d34e..99595b6 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -19,230 +19,228 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsMultiRequestItemReadWrite struct {
-    ItemIndexGroup uint32
-    ItemIndexOffset uint32
-    ItemReadLength uint32
-    ItemWriteLength uint32
-    Parent *AdsMultiRequestItem
-    IAdsMultiRequestItemReadWrite
+	ItemIndexGroup  uint32
+	ItemIndexOffset uint32
+	ItemReadLength  uint32
+	ItemWriteLength uint32
+	Parent          *AdsMultiRequestItem
+	IAdsMultiRequestItemReadWrite
 }
 
 // The corresponding interface
 type IAdsMultiRequestItemReadWrite interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsMultiRequestItemReadWrite) IndexGroup() uint32 {
-    return 61570L
+	return 61570
 }
 
-
 func (m *AdsMultiRequestItemReadWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemReadWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32, itemWriteLength uint32) *AdsMultiRequestItem {
-    child := &AdsMultiRequestItemReadWrite{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemReadLength: itemReadLength,
-        ItemWriteLength: itemWriteLength,
-        Parent: NewAdsMultiRequestItem(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsMultiRequestItemReadWrite{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemReadLength:  itemReadLength,
+		ItemWriteLength: itemWriteLength,
+		Parent:          NewAdsMultiRequestItem(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsMultiRequestItemReadWrite(structType interface{}) *AdsMultiRequestItemReadWrite {
-    castFunc := func(typ interface{}) *AdsMultiRequestItemReadWrite {
-        if casted, ok := typ.(AdsMultiRequestItemReadWrite); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsMultiRequestItemReadWrite); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemReadWrite(casted.Child)
-        }
-        if casted, ok := typ.(*AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemReadWrite(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsMultiRequestItemReadWrite {
+		if casted, ok := typ.(AdsMultiRequestItemReadWrite); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsMultiRequestItemReadWrite); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemReadWrite(casted.Child)
+		}
+		if casted, ok := typ.(*AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemReadWrite(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsMultiRequestItemReadWrite) GetTypeName() string {
-    return "AdsMultiRequestItemReadWrite"
+	return "AdsMultiRequestItemReadWrite"
 }
 
 func (m *AdsMultiRequestItemReadWrite) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (itemIndexGroup)
-    lengthInBits += 32
+	// Simple field (itemIndexGroup)
+	lengthInBits += 32
 
-    // Simple field (itemIndexOffset)
-    lengthInBits += 32
+	// Simple field (itemIndexOffset)
+	lengthInBits += 32
 
-    // Simple field (itemReadLength)
-    lengthInBits += 32
+	// Simple field (itemReadLength)
+	lengthInBits += 32
 
-    // Simple field (itemWriteLength)
-    lengthInBits += 32
+	// Simple field (itemWriteLength)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsMultiRequestItemReadWrite) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsMultiRequestItemReadWriteParse(io *utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
-    if _itemIndexGroupErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
-    if _itemIndexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemReadLength)
-    itemReadLength, _itemReadLengthErr := io.ReadUint32(32)
-    if _itemReadLengthErr != nil {
-        return nil, errors.New("Error parsing 'itemReadLength' field " + _itemReadLengthErr.Error())
-    }
-
-    // Simple Field (itemWriteLength)
-    itemWriteLength, _itemWriteLengthErr := io.ReadUint32(32)
-    if _itemWriteLengthErr != nil {
-        return nil, errors.New("Error parsing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsMultiRequestItemReadWrite{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemReadLength: itemReadLength,
-        ItemWriteLength: itemWriteLength,
-        Parent: &AdsMultiRequestItem{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
+	if _itemIndexGroupErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+	}
+
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
+	if _itemIndexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+	}
+
+	// Simple Field (itemReadLength)
+	itemReadLength, _itemReadLengthErr := io.ReadUint32(32)
+	if _itemReadLengthErr != nil {
+		return nil, errors.New("Error parsing 'itemReadLength' field " + _itemReadLengthErr.Error())
+	}
+
+	// Simple Field (itemWriteLength)
+	itemWriteLength, _itemWriteLengthErr := io.ReadUint32(32)
+	if _itemWriteLengthErr != nil {
+		return nil, errors.New("Error parsing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsMultiRequestItemReadWrite{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemReadLength:  itemReadLength,
+		ItemWriteLength: itemWriteLength,
+		Parent:          &AdsMultiRequestItem{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsMultiRequestItemReadWrite) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup := uint32(m.ItemIndexGroup)
-    _itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
-    if _itemIndexGroupErr != nil {
-        return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset := uint32(m.ItemIndexOffset)
-    _itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
-    if _itemIndexOffsetErr != nil {
-        return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemReadLength)
-    itemReadLength := uint32(m.ItemReadLength)
-    _itemReadLengthErr := io.WriteUint32(32, (itemReadLength))
-    if _itemReadLengthErr != nil {
-        return errors.New("Error serializing 'itemReadLength' field " + _itemReadLengthErr.Error())
-    }
-
-    // Simple Field (itemWriteLength)
-    itemWriteLength := uint32(m.ItemWriteLength)
-    _itemWriteLengthErr := io.WriteUint32(32, (itemWriteLength))
-    if _itemWriteLengthErr != nil {
-        return errors.New("Error serializing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+		}
+
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+		}
+
+		// Simple Field (itemReadLength)
+		itemReadLength := uint32(m.ItemReadLength)
+		_itemReadLengthErr := io.WriteUint32(32, (itemReadLength))
+		if _itemReadLengthErr != nil {
+			return errors.New("Error serializing 'itemReadLength' field " + _itemReadLengthErr.Error())
+		}
+
+		// Simple Field (itemWriteLength)
+		itemWriteLength := uint32(m.ItemWriteLength)
+		_itemWriteLengthErr := io.WriteUint32(32, (itemWriteLength))
+		if _itemWriteLengthErr != nil {
+			return errors.New("Error serializing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsMultiRequestItemReadWrite) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "itemIndexGroup":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexGroup = data
-            case "itemIndexOffset":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexOffset = data
-            case "itemReadLength":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemReadLength = data
-            case "itemWriteLength":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemWriteLength = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "itemIndexGroup":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexGroup = data
+			case "itemIndexOffset":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexOffset = data
+			case "itemReadLength":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemReadLength = data
+			case "itemWriteLength":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemWriteLength = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsMultiRequestItemReadWrite) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemReadLength, xml.StartElement{Name: xml.Name{Local: "itemReadLength"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
index 0f8db34..e99f4df 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -19,202 +19,200 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsMultiRequestItemWrite struct {
-    ItemIndexGroup uint32
-    ItemIndexOffset uint32
-    ItemWriteLength uint32
-    Parent *AdsMultiRequestItem
-    IAdsMultiRequestItemWrite
+	ItemIndexGroup  uint32
+	ItemIndexOffset uint32
+	ItemWriteLength uint32
+	Parent          *AdsMultiRequestItem
+	IAdsMultiRequestItemWrite
 }
 
 // The corresponding interface
 type IAdsMultiRequestItemWrite interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsMultiRequestItemWrite) IndexGroup() uint32 {
-    return 61569L
+	return 61569
 }
 
-
 func (m *AdsMultiRequestItemWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemWriteLength uint32) *AdsMultiRequestItem {
-    child := &AdsMultiRequestItemWrite{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemWriteLength: itemWriteLength,
-        Parent: NewAdsMultiRequestItem(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsMultiRequestItemWrite{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemWriteLength: itemWriteLength,
+		Parent:          NewAdsMultiRequestItem(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsMultiRequestItemWrite(structType interface{}) *AdsMultiRequestItemWrite {
-    castFunc := func(typ interface{}) *AdsMultiRequestItemWrite {
-        if casted, ok := typ.(AdsMultiRequestItemWrite); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsMultiRequestItemWrite); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemWrite(casted.Child)
-        }
-        if casted, ok := typ.(*AdsMultiRequestItem); ok {
-            return CastAdsMultiRequestItemWrite(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsMultiRequestItemWrite {
+		if casted, ok := typ.(AdsMultiRequestItemWrite); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsMultiRequestItemWrite); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemWrite(casted.Child)
+		}
+		if casted, ok := typ.(*AdsMultiRequestItem); ok {
+			return CastAdsMultiRequestItemWrite(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsMultiRequestItemWrite) GetTypeName() string {
-    return "AdsMultiRequestItemWrite"
+	return "AdsMultiRequestItemWrite"
 }
 
 func (m *AdsMultiRequestItemWrite) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (itemIndexGroup)
-    lengthInBits += 32
+	// Simple field (itemIndexGroup)
+	lengthInBits += 32
 
-    // Simple field (itemIndexOffset)
-    lengthInBits += 32
+	// Simple field (itemIndexOffset)
+	lengthInBits += 32
 
-    // Simple field (itemWriteLength)
-    lengthInBits += 32
+	// Simple field (itemWriteLength)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsMultiRequestItemWrite) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsMultiRequestItemWriteParse(io *utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
-    if _itemIndexGroupErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
-    if _itemIndexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemWriteLength)
-    itemWriteLength, _itemWriteLengthErr := io.ReadUint32(32)
-    if _itemWriteLengthErr != nil {
-        return nil, errors.New("Error parsing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsMultiRequestItemWrite{
-        ItemIndexGroup: itemIndexGroup,
-        ItemIndexOffset: itemIndexOffset,
-        ItemWriteLength: itemWriteLength,
-        Parent: &AdsMultiRequestItem{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup, _itemIndexGroupErr := io.ReadUint32(32)
+	if _itemIndexGroupErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+	}
+
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset, _itemIndexOffsetErr := io.ReadUint32(32)
+	if _itemIndexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+	}
+
+	// Simple Field (itemWriteLength)
+	itemWriteLength, _itemWriteLengthErr := io.ReadUint32(32)
+	if _itemWriteLengthErr != nil {
+		return nil, errors.New("Error parsing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsMultiRequestItemWrite{
+		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexOffset: itemIndexOffset,
+		ItemWriteLength: itemWriteLength,
+		Parent:          &AdsMultiRequestItem{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsMultiRequestItemWrite) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (itemIndexGroup)
-    itemIndexGroup := uint32(m.ItemIndexGroup)
-    _itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
-    if _itemIndexGroupErr != nil {
-        return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
-    }
-
-    // Simple Field (itemIndexOffset)
-    itemIndexOffset := uint32(m.ItemIndexOffset)
-    _itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
-    if _itemIndexOffsetErr != nil {
-        return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
-    }
-
-    // Simple Field (itemWriteLength)
-    itemWriteLength := uint32(m.ItemWriteLength)
-    _itemWriteLengthErr := io.WriteUint32(32, (itemWriteLength))
-    if _itemWriteLengthErr != nil {
-        return errors.New("Error serializing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := io.WriteUint32(32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.New("Error serializing 'itemIndexGroup' field " + _itemIndexGroupErr.Error())
+		}
+
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := io.WriteUint32(32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.New("Error serializing 'itemIndexOffset' field " + _itemIndexOffsetErr.Error())
+		}
+
+		// Simple Field (itemWriteLength)
+		itemWriteLength := uint32(m.ItemWriteLength)
+		_itemWriteLengthErr := io.WriteUint32(32, (itemWriteLength))
+		if _itemWriteLengthErr != nil {
+			return errors.New("Error serializing 'itemWriteLength' field " + _itemWriteLengthErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsMultiRequestItemWrite) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "itemIndexGroup":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexGroup = data
-            case "itemIndexOffset":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemIndexOffset = data
-            case "itemWriteLength":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ItemWriteLength = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "itemIndexGroup":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexGroup = data
+			case "itemIndexOffset":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemIndexOffset = data
+			case "itemWriteLength":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ItemWriteLength = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsMultiRequestItemWrite) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.ItemIndexGroup, xml.StartElement{Name: xml.Name{Local: "itemIndexGroup"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemIndexOffset, xml.StartElement{Name: xml.Name{Local: "itemIndexOffset"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ItemWriteLength, xml.StartElement{Name: xml.Name{Local: "itemWriteLength"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index 36680e5..27346a7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -19,193 +19,192 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsNotificationSample struct {
-    NotificationHandle uint32
-    SampleSize uint32
-    Data []int8
-    IAdsNotificationSample
+	NotificationHandle uint32
+	SampleSize         uint32
+	Data               []int8
+	IAdsNotificationSample
 }
 
 // The corresponding interface
 type IAdsNotificationSample interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 func NewAdsNotificationSample(notificationHandle uint32, sampleSize uint32, data []int8) *AdsNotificationSample {
-    return &AdsNotificationSample{NotificationHandle: notificationHandle, SampleSize: sampleSize, Data: data}
+	return &AdsNotificationSample{NotificationHandle: notificationHandle, SampleSize: sampleSize, Data: data}
 }
 
 func CastAdsNotificationSample(structType interface{}) *AdsNotificationSample {
-    castFunc := func(typ interface{}) *AdsNotificationSample {
-        if casted, ok := typ.(AdsNotificationSample); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsNotificationSample); ok {
-            return casted
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsNotificationSample {
+		if casted, ok := typ.(AdsNotificationSample); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsNotificationSample); ok {
+			return casted
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsNotificationSample) GetTypeName() string {
-    return "AdsNotificationSample"
+	return "AdsNotificationSample"
 }
 
 func (m *AdsNotificationSample) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (notificationHandle)
-    lengthInBits += 32
+	// Simple field (notificationHandle)
+	lengthInBits += 32
 
-    // Simple field (sampleSize)
-    lengthInBits += 32
+	// Simple field (sampleSize)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsNotificationSample) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsNotificationSampleParse(io *utils.ReadBuffer) (*AdsNotificationSample, error) {
 
-    // Simple Field (notificationHandle)
-    notificationHandle, _notificationHandleErr := io.ReadUint32(32)
-    if _notificationHandleErr != nil {
-        return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-    // Simple Field (sampleSize)
-    sampleSize, _sampleSizeErr := io.ReadUint32(32)
-    if _sampleSizeErr != nil {
-        return nil, errors.New("Error parsing 'sampleSize' field " + _sampleSizeErr.Error())
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, sampleSize)
-    for curItem := uint16(0); curItem < uint16(sampleSize); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create the instance
-    return NewAdsNotificationSample(notificationHandle, sampleSize, data), nil
+	// Simple Field (notificationHandle)
+	notificationHandle, _notificationHandleErr := io.ReadUint32(32)
+	if _notificationHandleErr != nil {
+		return nil, errors.New("Error parsing 'notificationHandle' field " + _notificationHandleErr.Error())
+	}
+
+	// Simple Field (sampleSize)
+	sampleSize, _sampleSizeErr := io.ReadUint32(32)
+	if _sampleSizeErr != nil {
+		return nil, errors.New("Error parsing 'sampleSize' field " + _sampleSizeErr.Error())
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, sampleSize)
+	for curItem := uint16(0); curItem < uint16(sampleSize); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create the instance
+	return NewAdsNotificationSample(notificationHandle, sampleSize, data), nil
 }
 
 func (m *AdsNotificationSample) Serialize(io utils.WriteBuffer) error {
 
-    // Simple Field (notificationHandle)
-    notificationHandle := uint32(m.NotificationHandle)
-    _notificationHandleErr := io.WriteUint32(32, (notificationHandle))
-    if _notificationHandleErr != nil {
-        return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
-    }
-
-    // Simple Field (sampleSize)
-    sampleSize := uint32(m.SampleSize)
-    _sampleSizeErr := io.WriteUint32(32, (sampleSize))
-    if _sampleSizeErr != nil {
-        return errors.New("Error serializing 'sampleSize' field " + _sampleSizeErr.Error())
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-    return nil
+	// Simple Field (notificationHandle)
+	notificationHandle := uint32(m.NotificationHandle)
+	_notificationHandleErr := io.WriteUint32(32, (notificationHandle))
+	if _notificationHandleErr != nil {
+		return errors.New("Error serializing 'notificationHandle' field " + _notificationHandleErr.Error())
+	}
+
+	// Simple Field (sampleSize)
+	sampleSize := uint32(m.SampleSize)
+	_sampleSizeErr := io.WriteUint32(32, (sampleSize))
+	if _sampleSizeErr != nil {
+		return errors.New("Error serializing 'sampleSize' field " + _sampleSizeErr.Error())
+	}
+
+	// Array Field (data)
+	if m.Data != nil {
+		for _, _element := range m.Data {
+			_elementErr := io.WriteInt8(8, _element)
+			if _elementErr != nil {
+				return errors.New("Error serializing 'data' field " + _elementErr.Error())
+			}
+		}
+	}
+
+	return nil
 }
 
 func (m *AdsNotificationSample) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    for {
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "notificationHandle":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.NotificationHandle = data
-            case "sampleSize":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.SampleSize = data
-            case "data":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-    }
+	var token xml.Token
+	var err error
+	for {
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "notificationHandle":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.NotificationHandle = data
+			case "sampleSize":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.SampleSize = data
+			case "data":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+	}
 }
 
 func (m *AdsNotificationSample) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    className := "org.apache.plc4x.java.ads.readwrite.AdsNotificationSample"
-    if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
-            {Name: xml.Name{Local: "className"}, Value: className},
-        }}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.SampleSize, xml.StartElement{Name: xml.Name{Local: "sampleSize"}}); err != nil {
-        return err
-    }
-    _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
-    base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
-    if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
-        return err
-    }
-    return nil
+	className := "org.apache.plc4x.java.ads.readwrite.AdsNotificationSample"
+	if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+		{Name: xml.Name{Local: "className"}, Value: className},
+	}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.NotificationHandle, xml.StartElement{Name: xml.Name{Local: "notificationHandle"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.SampleSize, xml.StartElement{Name: xml.Name{Local: "sampleSize"}}); err != nil {
+		return err
+	}
+	_encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+	base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+	if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index 0de0d33..888f953 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -19,121 +19,119 @@
 package model
 
 import (
-    "encoding/xml"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadDeviceInfoRequest struct {
-    Parent *AdsData
-    IAdsReadDeviceInfoRequest
+	Parent *AdsData
+	IAdsReadDeviceInfoRequest
 }
 
 // The corresponding interface
 type IAdsReadDeviceInfoRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadDeviceInfoRequest) CommandId() CommandId {
-    return CommandId_ADS_READ_DEVICE_INFO
+	return CommandId_ADS_READ_DEVICE_INFO
 }
 
 func (m *AdsReadDeviceInfoRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsReadDeviceInfoRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadDeviceInfoRequest() *AdsData {
-    child := &AdsReadDeviceInfoRequest{
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadDeviceInfoRequest{
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadDeviceInfoRequest(structType interface{}) *AdsReadDeviceInfoRequest {
-    castFunc := func(typ interface{}) *AdsReadDeviceInfoRequest {
-        if casted, ok := typ.(AdsReadDeviceInfoRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadDeviceInfoRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadDeviceInfoRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadDeviceInfoRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadDeviceInfoRequest {
+		if casted, ok := typ.(AdsReadDeviceInfoRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadDeviceInfoRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadDeviceInfoRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadDeviceInfoRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadDeviceInfoRequest) GetTypeName() string {
-    return "AdsReadDeviceInfoRequest"
+	return "AdsReadDeviceInfoRequest"
 }
 
 func (m *AdsReadDeviceInfoRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadDeviceInfoRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadDeviceInfoRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Create a partially initialized instance
-    _child := &AdsReadDeviceInfoRequest{
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Create a partially initialized instance
+	_child := &AdsReadDeviceInfoRequest{
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadDeviceInfoRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
+	ser := func() error {
 
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadDeviceInfoRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadDeviceInfoRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    return nil
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 0802c81..e24735a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -19,280 +19,278 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadDeviceInfoResponse struct {
-    Result ReturnCode
-    MajorVersion uint8
-    MinorVersion uint8
-    Version uint16
-    Device []int8
-    Parent *AdsData
-    IAdsReadDeviceInfoResponse
+	Result       ReturnCode
+	MajorVersion uint8
+	MinorVersion uint8
+	Version      uint16
+	Device       []int8
+	Parent       *AdsData
+	IAdsReadDeviceInfoResponse
 }
 
 // The corresponding interface
 type IAdsReadDeviceInfoResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadDeviceInfoResponse) CommandId() CommandId {
-    return CommandId_ADS_READ_DEVICE_INFO
+	return CommandId_ADS_READ_DEVICE_INFO
 }
 
 func (m *AdsReadDeviceInfoResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsReadDeviceInfoResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadDeviceInfoResponse(result ReturnCode, majorVersion uint8, minorVersion uint8, version uint16, device []int8) *AdsData {
-    child := &AdsReadDeviceInfoResponse{
-        Result: result,
-        MajorVersion: majorVersion,
-        MinorVersion: minorVersion,
-        Version: version,
-        Device: device,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadDeviceInfoResponse{
+		Result:       result,
+		MajorVersion: majorVersion,
+		MinorVersion: minorVersion,
+		Version:      version,
+		Device:       device,
+		Parent:       NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadDeviceInfoResponse(structType interface{}) *AdsReadDeviceInfoResponse {
-    castFunc := func(typ interface{}) *AdsReadDeviceInfoResponse {
-        if casted, ok := typ.(AdsReadDeviceInfoResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadDeviceInfoResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadDeviceInfoResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadDeviceInfoResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadDeviceInfoResponse {
+		if casted, ok := typ.(AdsReadDeviceInfoResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadDeviceInfoResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadDeviceInfoResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadDeviceInfoResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadDeviceInfoResponse) GetTypeName() string {
-    return "AdsReadDeviceInfoResponse"
+	return "AdsReadDeviceInfoResponse"
 }
 
 func (m *AdsReadDeviceInfoResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    // Simple field (majorVersion)
-    lengthInBits += 8
+	// Simple field (majorVersion)
+	lengthInBits += 8
 
-    // Simple field (minorVersion)
-    lengthInBits += 8
+	// Simple field (minorVersion)
+	lengthInBits += 8
 
-    // Simple field (version)
-    lengthInBits += 16
+	// Simple field (version)
+	lengthInBits += 16
 
-    // Array field
-    if len(m.Device) > 0 {
-        lengthInBits += 8 * uint16(len(m.Device))
-    }
+	// Array field
+	if len(m.Device) > 0 {
+		lengthInBits += 8 * uint16(len(m.Device))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadDeviceInfoResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadDeviceInfoResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (majorVersion)
-    majorVersion, _majorVersionErr := io.ReadUint8(8)
-    if _majorVersionErr != nil {
-        return nil, errors.New("Error parsing 'majorVersion' field " + _majorVersionErr.Error())
-    }
-
-    // Simple Field (minorVersion)
-    minorVersion, _minorVersionErr := io.ReadUint8(8)
-    if _minorVersionErr != nil {
-        return nil, errors.New("Error parsing 'minorVersion' field " + _minorVersionErr.Error())
-    }
-
-    // Simple Field (version)
-    version, _versionErr := io.ReadUint16(16)
-    if _versionErr != nil {
-        return nil, errors.New("Error parsing 'version' field " + _versionErr.Error())
-    }
-
-    // Array field (device)
-    // Count array
-    device := make([]int8, uint16(16))
-    for curItem := uint16(0); curItem < uint16(uint16(16)); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'device' field " + _err.Error())
-        }
-        device[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadDeviceInfoResponse{
-        Result: result,
-        MajorVersion: majorVersion,
-        MinorVersion: minorVersion,
-        Version: version,
-        Device: device,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Simple Field (majorVersion)
+	majorVersion, _majorVersionErr := io.ReadUint8(8)
+	if _majorVersionErr != nil {
+		return nil, errors.New("Error parsing 'majorVersion' field " + _majorVersionErr.Error())
+	}
+
+	// Simple Field (minorVersion)
+	minorVersion, _minorVersionErr := io.ReadUint8(8)
+	if _minorVersionErr != nil {
+		return nil, errors.New("Error parsing 'minorVersion' field " + _minorVersionErr.Error())
+	}
+
+	// Simple Field (version)
+	version, _versionErr := io.ReadUint16(16)
+	if _versionErr != nil {
+		return nil, errors.New("Error parsing 'version' field " + _versionErr.Error())
+	}
+
+	// Array field (device)
+	// Count array
+	device := make([]int8, uint16(16))
+	for curItem := uint16(0); curItem < uint16(uint16(16)); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'device' field " + _err.Error())
+		}
+		device[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadDeviceInfoResponse{
+		Result:       result,
+		MajorVersion: majorVersion,
+		MinorVersion: minorVersion,
+		Version:      version,
+		Device:       device,
+		Parent:       &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadDeviceInfoResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (majorVersion)
-    majorVersion := uint8(m.MajorVersion)
-    _majorVersionErr := io.WriteUint8(8, (majorVersion))
-    if _majorVersionErr != nil {
-        return errors.New("Error serializing 'majorVersion' field " + _majorVersionErr.Error())
-    }
-
-    // Simple Field (minorVersion)
-    minorVersion := uint8(m.MinorVersion)
-    _minorVersionErr := io.WriteUint8(8, (minorVersion))
-    if _minorVersionErr != nil {
-        return errors.New("Error serializing 'minorVersion' field " + _minorVersionErr.Error())
-    }
-
-    // Simple Field (version)
-    version := uint16(m.Version)
-    _versionErr := io.WriteUint16(16, (version))
-    if _versionErr != nil {
-        return errors.New("Error serializing 'version' field " + _versionErr.Error())
-    }
-
-    // Array Field (device)
-    if m.Device != nil {
-        for _, _element := range m.Device {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'device' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		// Simple Field (majorVersion)
+		majorVersion := uint8(m.MajorVersion)
+		_majorVersionErr := io.WriteUint8(8, (majorVersion))
+		if _majorVersionErr != nil {
+			return errors.New("Error serializing 'majorVersion' field " + _majorVersionErr.Error())
+		}
+
+		// Simple Field (minorVersion)
+		minorVersion := uint8(m.MinorVersion)
+		_minorVersionErr := io.WriteUint8(8, (minorVersion))
+		if _minorVersionErr != nil {
+			return errors.New("Error serializing 'minorVersion' field " + _minorVersionErr.Error())
+		}
+
+		// Simple Field (version)
+		version := uint16(m.Version)
+		_versionErr := io.WriteUint16(16, (version))
+		if _versionErr != nil {
+			return errors.New("Error serializing 'version' field " + _versionErr.Error())
+		}
+
+		// Array Field (device)
+		if m.Device != nil {
+			for _, _element := range m.Device {
+				_elementErr := io.WriteInt8(8, _element)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'device' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadDeviceInfoResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            case "majorVersion":
-                var data uint8
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.MajorVersion = data
-            case "minorVersion":
-                var data uint8
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.MinorVersion = data
-            case "version":
-                var data uint16
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Version = data
-            case "device":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Device = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			case "majorVersion":
+				var data uint8
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.MajorVersion = data
+			case "minorVersion":
+				var data uint8
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.MinorVersion = data
+			case "version":
+				var data uint16
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Version = data
+			case "device":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Device = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadDeviceInfoResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.MajorVersion, xml.StartElement{Name: xml.Name{Local: "majorVersion"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.MinorVersion, xml.StartElement{Name: xml.Name{Local: "minorVersion"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Version, xml.StartElement{Name: xml.Name{Local: "version"}}); err != nil {
-        return err
-    }
-    _encodedDevice := make([]byte, base64.StdEncoding.EncodedLen(len(m.Device)))
-    base64.StdEncoding.Encode(_encodedDevice, utils.Int8ArrayToByteArray(m.Device))
-    if err := e.EncodeElement(_encodedDevice, xml.StartElement{Name: xml.Name{Local: "device"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.MajorVersion, xml.StartElement{Name: xml.Name{Local: "majorVersion"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.MinorVersion, xml.StartElement{Name: xml.Name{Local: "minorVersion"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Version, xml.StartElement{Name: xml.Name{Local: "version"}}); err != nil {
+		return err
+	}
+	_encodedDevice := make([]byte, base64.StdEncoding.EncodedLen(len(m.Device)))
+	base64.StdEncoding.Encode(_encodedDevice, utils.Int8ArrayToByteArray(m.Device))
+	if err := e.EncodeElement(_encodedDevice, xml.StartElement{Name: xml.Name{Local: "device"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
index 53a85e1..2c771b3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
@@ -19,206 +19,204 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadRequest struct {
-    IndexGroup uint32
-    IndexOffset uint32
-    Length uint32
-    Parent *AdsData
-    IAdsReadRequest
+	IndexGroup  uint32
+	IndexOffset uint32
+	Length      uint32
+	Parent      *AdsData
+	IAdsReadRequest
 }
 
 // The corresponding interface
 type IAdsReadRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadRequest) CommandId() CommandId {
-    return CommandId_ADS_READ
+	return CommandId_ADS_READ
 }
 
 func (m *AdsReadRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsReadRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadRequest(indexGroup uint32, indexOffset uint32, length uint32) *AdsData {
-    child := &AdsReadRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        Length: length,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		Length:      length,
+		Parent:      NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadRequest(structType interface{}) *AdsReadRequest {
-    castFunc := func(typ interface{}) *AdsReadRequest {
-        if casted, ok := typ.(AdsReadRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadRequest {
+		if casted, ok := typ.(AdsReadRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadRequest) GetTypeName() string {
-    return "AdsReadRequest"
+	return "AdsReadRequest"
 }
 
 func (m *AdsReadRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (indexGroup)
-    lengthInBits += 32
+	// Simple field (indexGroup)
+	lengthInBits += 32
 
-    // Simple field (indexOffset)
-    lengthInBits += 32
+	// Simple field (indexOffset)
+	lengthInBits += 32
 
-    // Simple field (length)
-    lengthInBits += 32
+	// Simple field (length)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (indexGroup)
-    indexGroup, _indexGroupErr := io.ReadUint32(32)
-    if _indexGroupErr != nil {
-        return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset, _indexOffsetErr := io.ReadUint32(32)
-    if _indexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Simple Field (length)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        Length: length,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (indexGroup)
+	indexGroup, _indexGroupErr := io.ReadUint32(32)
+	if _indexGroupErr != nil {
+		return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
+	}
+
+	// Simple Field (indexOffset)
+	indexOffset, _indexOffsetErr := io.ReadUint32(32)
+	if _indexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
+	}
+
+	// Simple Field (length)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		Length:      length,
+		Parent:      &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (indexGroup)
-    indexGroup := uint32(m.IndexGroup)
-    _indexGroupErr := io.WriteUint32(32, (indexGroup))
-    if _indexGroupErr != nil {
-        return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset := uint32(m.IndexOffset)
-    _indexOffsetErr := io.WriteUint32(32, (indexOffset))
-    if _indexOffsetErr != nil {
-        return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Simple Field (length)
-    length := uint32(m.Length)
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := io.WriteUint32(32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
+		}
+
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := io.WriteUint32(32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
+		}
+
+		// Simple Field (length)
+		length := uint32(m.Length)
+		_lengthErr := io.WriteUint32(32, (length))
+		if _lengthErr != nil {
+			return errors.New("Error serializing 'length' field " + _lengthErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "indexGroup":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.IndexGroup = data
-            case "indexOffset":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.IndexOffset = data
-            case "length":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Length = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "indexGroup":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.IndexGroup = data
+			case "indexOffset":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.IndexOffset = data
+			case "length":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Length = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Length, xml.StartElement{Name: xml.Name{Local: "length"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index 5b121bb..27e9173 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -19,212 +19,210 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadResponse struct {
-    Result ReturnCode
-    Data []int8
-    Parent *AdsData
-    IAdsReadResponse
+	Result ReturnCode
+	Data   []int8
+	Parent *AdsData
+	IAdsReadResponse
 }
 
 // The corresponding interface
 type IAdsReadResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadResponse) CommandId() CommandId {
-    return CommandId_ADS_READ
+	return CommandId_ADS_READ
 }
 
 func (m *AdsReadResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsReadResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadResponse(result ReturnCode, data []int8) *AdsData {
-    child := &AdsReadResponse{
-        Result: result,
-        Data: data,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadResponse{
+		Result: result,
+		Data:   data,
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadResponse(structType interface{}) *AdsReadResponse {
-    castFunc := func(typ interface{}) *AdsReadResponse {
-        if casted, ok := typ.(AdsReadResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadResponse {
+		if casted, ok := typ.(AdsReadResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadResponse) GetTypeName() string {
-    return "AdsReadResponse"
+	return "AdsReadResponse"
 }
 
 func (m *AdsReadResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    // Implicit Field (length)
-    lengthInBits += 32
+	// Implicit Field (length)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, length)
-    for curItem := uint16(0); curItem < uint16(length); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadResponse{
-        Result: result,
-        Data: data,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, length)
+	for curItem := uint16(0); curItem < uint16(length); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadResponse{
+		Result: result,
+		Data:   data,
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length := uint32(uint32(len(m.Data)))
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := io.WriteUint32(32, (length))
+		if _lengthErr != nil {
+			return errors.New("Error serializing 'length' field " + _lengthErr.Error())
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			for _, _element := range m.Data {
+				_elementErr := io.WriteInt8(8, _element)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'data' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            case "data":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			case "data":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
-    base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
-    if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	_encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+	base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+	if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
index 5768271..a9873de 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
@@ -19,121 +19,119 @@
 package model
 
 import (
-    "encoding/xml"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadStateRequest struct {
-    Parent *AdsData
-    IAdsReadStateRequest
+	Parent *AdsData
+	IAdsReadStateRequest
 }
 
 // The corresponding interface
 type IAdsReadStateRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadStateRequest) CommandId() CommandId {
-    return CommandId_ADS_READ_STATE
+	return CommandId_ADS_READ_STATE
 }
 
 func (m *AdsReadStateRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsReadStateRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadStateRequest() *AdsData {
-    child := &AdsReadStateRequest{
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadStateRequest{
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadStateRequest(structType interface{}) *AdsReadStateRequest {
-    castFunc := func(typ interface{}) *AdsReadStateRequest {
-        if casted, ok := typ.(AdsReadStateRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadStateRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadStateRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadStateRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadStateRequest {
+		if casted, ok := typ.(AdsReadStateRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadStateRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadStateRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadStateRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadStateRequest) GetTypeName() string {
-    return "AdsReadStateRequest"
+	return "AdsReadStateRequest"
 }
 
 func (m *AdsReadStateRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadStateRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadStateRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Create a partially initialized instance
-    _child := &AdsReadStateRequest{
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Create a partially initialized instance
+	_child := &AdsReadStateRequest{
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadStateRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
+	ser := func() error {
 
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadStateRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadStateRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    return nil
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
index 05fcec4..c467e38 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
@@ -19,206 +19,204 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadStateResponse struct {
-    Result ReturnCode
-    AdsState uint16
-    DeviceState uint16
-    Parent *AdsData
-    IAdsReadStateResponse
+	Result      ReturnCode
+	AdsState    uint16
+	DeviceState uint16
+	Parent      *AdsData
+	IAdsReadStateResponse
 }
 
 // The corresponding interface
 type IAdsReadStateResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadStateResponse) CommandId() CommandId {
-    return CommandId_ADS_READ_STATE
+	return CommandId_ADS_READ_STATE
 }
 
 func (m *AdsReadStateResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsReadStateResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadStateResponse(result ReturnCode, adsState uint16, deviceState uint16) *AdsData {
-    child := &AdsReadStateResponse{
-        Result: result,
-        AdsState: adsState,
-        DeviceState: deviceState,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadStateResponse{
+		Result:      result,
+		AdsState:    adsState,
+		DeviceState: deviceState,
+		Parent:      NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadStateResponse(structType interface{}) *AdsReadStateResponse {
-    castFunc := func(typ interface{}) *AdsReadStateResponse {
-        if casted, ok := typ.(AdsReadStateResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadStateResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadStateResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadStateResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadStateResponse {
+		if casted, ok := typ.(AdsReadStateResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadStateResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadStateResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadStateResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadStateResponse) GetTypeName() string {
-    return "AdsReadStateResponse"
+	return "AdsReadStateResponse"
 }
 
 func (m *AdsReadStateResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    // Simple field (adsState)
-    lengthInBits += 16
+	// Simple field (adsState)
+	lengthInBits += 16
 
-    // Simple field (deviceState)
-    lengthInBits += 16
+	// Simple field (deviceState)
+	lengthInBits += 16
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadStateResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadStateResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (adsState)
-    adsState, _adsStateErr := io.ReadUint16(16)
-    if _adsStateErr != nil {
-        return nil, errors.New("Error parsing 'adsState' field " + _adsStateErr.Error())
-    }
-
-    // Simple Field (deviceState)
-    deviceState, _deviceStateErr := io.ReadUint16(16)
-    if _deviceStateErr != nil {
-        return nil, errors.New("Error parsing 'deviceState' field " + _deviceStateErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadStateResponse{
-        Result: result,
-        AdsState: adsState,
-        DeviceState: deviceState,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Simple Field (adsState)
+	adsState, _adsStateErr := io.ReadUint16(16)
+	if _adsStateErr != nil {
+		return nil, errors.New("Error parsing 'adsState' field " + _adsStateErr.Error())
+	}
+
+	// Simple Field (deviceState)
+	deviceState, _deviceStateErr := io.ReadUint16(16)
+	if _deviceStateErr != nil {
+		return nil, errors.New("Error parsing 'deviceState' field " + _deviceStateErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadStateResponse{
+		Result:      result,
+		AdsState:    adsState,
+		DeviceState: deviceState,
+		Parent:      &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadStateResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-    // Simple Field (adsState)
-    adsState := uint16(m.AdsState)
-    _adsStateErr := io.WriteUint16(16, (adsState))
-    if _adsStateErr != nil {
-        return errors.New("Error serializing 'adsState' field " + _adsStateErr.Error())
-    }
-
-    // Simple Field (deviceState)
-    deviceState := uint16(m.DeviceState)
-    _deviceStateErr := io.WriteUint16(16, (deviceState))
-    if _deviceStateErr != nil {
-        return errors.New("Error serializing 'deviceState' field " + _deviceStateErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		// Simple Field (adsState)
+		adsState := uint16(m.AdsState)
+		_adsStateErr := io.WriteUint16(16, (adsState))
+		if _adsStateErr != nil {
+			return errors.New("Error serializing 'adsState' field " + _adsStateErr.Error())
+		}
+
+		// Simple Field (deviceState)
+		deviceState := uint16(m.DeviceState)
+		_deviceStateErr := io.WriteUint16(16, (deviceState))
+		if _deviceStateErr != nil {
+			return errors.New("Error serializing 'deviceState' field " + _deviceStateErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadStateResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            case "adsState":
-                var data uint16
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.AdsState = data
-            case "deviceState":
-                var data uint16
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.DeviceState = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			case "adsState":
+				var data uint16
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.AdsState = data
+			case "deviceState":
+				var data uint16
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.DeviceState = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadStateResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.AdsState, xml.StartElement{Name: xml.Name{Local: "adsState"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.DeviceState, xml.StartElement{Name: xml.Name{Local: "deviceState"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.AdsState, xml.StartElement{Name: xml.Name{Local: "adsState"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.DeviceState, xml.StartElement{Name: xml.Name{Local: "deviceState"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index fc4fd7a..b54dd48 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -19,316 +19,314 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadWriteRequest struct {
-    IndexGroup uint32
-    IndexOffset uint32
-    ReadLength uint32
-    Items []*AdsMultiRequestItem
-    Data []int8
-    Parent *AdsData
-    IAdsReadWriteRequest
+	IndexGroup  uint32
+	IndexOffset uint32
+	ReadLength  uint32
+	Items       []*AdsMultiRequestItem
+	Data        []int8
+	Parent      *AdsData
+	IAdsReadWriteRequest
 }
 
 // The corresponding interface
 type IAdsReadWriteRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadWriteRequest) CommandId() CommandId {
-    return CommandId_ADS_READ_WRITE
+	return CommandId_ADS_READ_WRITE
 }
 
 func (m *AdsReadWriteRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsReadWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteRequest(indexGroup uint32, indexOffset uint32, readLength uint32, items []*AdsMultiRequestItem, data []int8) *AdsData {
-    child := &AdsReadWriteRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        ReadLength: readLength,
-        Items: items,
-        Data: data,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadWriteRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		ReadLength:  readLength,
+		Items:       items,
+		Data:        data,
+		Parent:      NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadWriteRequest(structType interface{}) *AdsReadWriteRequest {
-    castFunc := func(typ interface{}) *AdsReadWriteRequest {
-        if casted, ok := typ.(AdsReadWriteRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadWriteRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadWriteRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadWriteRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadWriteRequest {
+		if casted, ok := typ.(AdsReadWriteRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadWriteRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadWriteRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadWriteRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadWriteRequest) GetTypeName() string {
-    return "AdsReadWriteRequest"
+	return "AdsReadWriteRequest"
 }
 
 func (m *AdsReadWriteRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (indexGroup)
-    lengthInBits += 32
+	// Simple field (indexGroup)
+	lengthInBits += 32
 
-    // Simple field (indexOffset)
-    lengthInBits += 32
+	// Simple field (indexOffset)
+	lengthInBits += 32
 
-    // Simple field (readLength)
-    lengthInBits += 32
+	// Simple field (readLength)
+	lengthInBits += 32
 
-    // Implicit Field (writeLength)
-    lengthInBits += 32
+	// Implicit Field (writeLength)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Items) > 0 {
-        for _, element := range m.Items {
-            lengthInBits += element.LengthInBits()
-        }
-    }
+	// Array field
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
+			lengthInBits += element.LengthInBits()
+		}
+	}
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadWriteRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadWriteRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (indexGroup)
-    indexGroup, _indexGroupErr := io.ReadUint32(32)
-    if _indexGroupErr != nil {
-        return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset, _indexOffsetErr := io.ReadUint32(32)
-    if _indexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Simple Field (readLength)
-    readLength, _readLengthErr := io.ReadUint32(32)
-    if _readLengthErr != nil {
-        return nil, errors.New("Error parsing 'readLength' field " + _readLengthErr.Error())
-    }
-
-    // Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    writeLength, _writeLengthErr := io.ReadUint32(32)
-    if _writeLengthErr != nil {
-        return nil, errors.New("Error parsing 'writeLength' field " + _writeLengthErr.Error())
-    }
-
-    // Array field (items)
-    // Count array
-    items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ.value)))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE.value))))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))))), uint16(indexOffset), uint16(uint16(0))))
-    for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ.value)))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE.value))))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))))), uint16(indexOffset), uint16(uint16(0)))); curItem++ {
-        _item, _err := AdsMultiRequestItemParse(io, indexGroup)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'items' field " + _err.Error())
-        }
-        items[curItem] = _item
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, uint16(writeLength) - uint16(uint16(uint16(uint16(len(items))) * uint16(uint16(12)))))
-    for curItem := uint16(0); curItem < uint16(uint16(writeLength) - uint16(uint16(uint16(uint16(len(items))) * uint16(uint16(12))))); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadWriteRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        ReadLength: readLength,
-        Items: items,
-        Data: data,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (indexGroup)
+	indexGroup, _indexGroupErr := io.ReadUint32(32)
+	if _indexGroupErr != nil {
+		return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
+	}
+
+	// Simple Field (indexOffset)
+	indexOffset, _indexOffsetErr := io.ReadUint32(32)
+	if _indexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
+	}
+
+	// Simple Field (readLength)
+	readLength, _readLengthErr := io.ReadUint32(32)
+	if _readLengthErr != nil {
+		return nil, errors.New("Error parsing 'readLength' field " + _readLengthErr.Error())
+	}
+
+	// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	writeLength, _writeLengthErr := io.ReadUint32(32)
+	if _writeLengthErr != nil {
+		return nil, errors.New("Error parsing 'writeLength' field " + _writeLengthErr.Error())
+	}
+
+	// Array field (items)
+	// Count array
+	items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ.value)))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE.value))))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))))), uint16(indexOffset), uint16(uint16(0))))
+	for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ.value)))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE.value))))) || bool(bool(bool((indexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))))), uint16(indexOffset), uint16(uint16(0)))); curItem++ {
+		_item, _err := AdsMultiRequestItemParse(io, indexGroup)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'items' field " + _err.Error())
+		}
+		items[curItem] = _item
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12)))))
+	for curItem := uint16(0); curItem < uint16(uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12))))); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadWriteRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		ReadLength:  readLength,
+		Items:       items,
+		Data:        data,
+		Parent:      &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadWriteRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (indexGroup)
-    indexGroup := uint32(m.IndexGroup)
-    _indexGroupErr := io.WriteUint32(32, (indexGroup))
-    if _indexGroupErr != nil {
-        return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset := uint32(m.IndexOffset)
-    _indexOffsetErr := io.WriteUint32(32, (indexOffset))
-    if _indexOffsetErr != nil {
-        return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Simple Field (readLength)
-    readLength := uint32(m.ReadLength)
-    _readLengthErr := io.WriteUint32(32, (readLength))
-    if _readLengthErr != nil {
-        return errors.New("Error serializing 'readLength' field " + _readLengthErr.Error())
-    }
-
-    // Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items))) * uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))), uint16(uint32(16)), uint16(uint32(12))))))) + uint32(uint32(len(m.Data))))
-    _writeLengthErr := io.WriteUint32(32, (writeLength))
-    if _writeLengthErr != nil {
-        return errors.New("Error serializing 'writeLength' field " + _writeLengthErr.Error())
-    }
-
-    // Array Field (items)
-    if m.Items != nil {
-        for _, _element := range m.Items {
-            _elementErr := _element.Serialize(io)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'items' field " + _elementErr.Error())
-            }
-        }
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := io.WriteUint32(32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
+		}
+
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := io.WriteUint32(32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
+		}
+
+		// Simple Field (readLength)
+		readLength := uint32(m.ReadLength)
+		_readLengthErr := io.WriteUint32(32, (readLength))
+		if _readLengthErr != nil {
+			return errors.New("Error serializing 'readLength' field " + _readLengthErr.Error())
+		}
+
+		// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items)))*uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE.value))), uint16(uint32(16)), uint16(uint32(12))))))) + uint32(uint32(len(m.Data))))
+		_writeLengthErr := io.WriteUint32(32, (writeLength))
+		if _writeLengthErr != nil {
+			return errors.New("Error serializing 'writeLength' field " + _writeLengthErr.Error())
+		}
+
+		// Array Field (items)
+		if m.Items != nil {
+			for _, _element := range m.Items {
+				_elementErr := _element.Serialize(io)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'items' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			for _, _element := range m.Data {
+				_elementErr := io.WriteInt8(8, _element)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'data' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadWriteRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "indexGroup":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.IndexGroup = data
-            case "indexOffset":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.IndexOffset = data
-            case "readLength":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.ReadLength = data
-            case "items":
-                var _values []*AdsMultiRequestItem
-                var dt *AdsMultiRequestItem
-                if err := d.DecodeElement(&dt, &tok); err != nil {
-                    return err
-                }
-                _values = append(_values, dt)
-                m.Items = _values
-            case "data":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "indexGroup":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.IndexGroup = data
+			case "indexOffset":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.IndexOffset = data
+			case "readLength":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.ReadLength = data
+			case "items":
+				var _values []*AdsMultiRequestItem
+				var dt *AdsMultiRequestItem
+				if err := d.DecodeElement(&dt, &tok); err != nil {
+					return err
+				}
+				_values = append(_values, dt)
+				m.Items = _values
+			case "data":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadWriteRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.ReadLength, xml.StartElement{Name: xml.Name{Local: "readLength"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Items, xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "items"}}); err != nil {
-        return err
-    }
-    _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
-    base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
-    if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.IndexGroup, xml.StartElement{Name: xml.Name{Local: "indexGroup"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.IndexOffset, xml.StartElement{Name: xml.Name{Local: "indexOffset"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.ReadLength, xml.StartElement{Name: xml.Name{Local: "readLength"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Items, xml.StartElement{Name: xml.Name{Local: "items"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "items"}}); err != nil {
+		return err
+	}
+	_encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+	base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+	if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index 479173c..2f2758a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -19,212 +19,210 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsReadWriteResponse struct {
-    Result ReturnCode
-    Data []int8
-    Parent *AdsData
-    IAdsReadWriteResponse
+	Result ReturnCode
+	Data   []int8
+	Parent *AdsData
+	IAdsReadWriteResponse
 }
 
 // The corresponding interface
 type IAdsReadWriteResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsReadWriteResponse) CommandId() CommandId {
-    return CommandId_ADS_READ_WRITE
+	return CommandId_ADS_READ_WRITE
 }
 
 func (m *AdsReadWriteResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsReadWriteResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteResponse(result ReturnCode, data []int8) *AdsData {
-    child := &AdsReadWriteResponse{
-        Result: result,
-        Data: data,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsReadWriteResponse{
+		Result: result,
+		Data:   data,
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsReadWriteResponse(structType interface{}) *AdsReadWriteResponse {
-    castFunc := func(typ interface{}) *AdsReadWriteResponse {
-        if casted, ok := typ.(AdsReadWriteResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsReadWriteResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsReadWriteResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsReadWriteResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsReadWriteResponse {
+		if casted, ok := typ.(AdsReadWriteResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsReadWriteResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsReadWriteResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsReadWriteResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsReadWriteResponse) GetTypeName() string {
-    return "AdsReadWriteResponse"
+	return "AdsReadWriteResponse"
 }
 
 func (m *AdsReadWriteResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    // Implicit Field (length)
-    lengthInBits += 32
+	// Implicit Field (length)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsReadWriteResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsReadWriteResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, length)
-    for curItem := uint16(0); curItem < uint16(length); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsReadWriteResponse{
-        Result: result,
-        Data: data,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, length)
+	for curItem := uint16(0); curItem < uint16(length); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsReadWriteResponse{
+		Result: result,
+		Data:   data,
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsReadWriteResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length := uint32(uint32(len(m.Data)))
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := io.WriteUint32(32, (length))
+		if _lengthErr != nil {
+			return errors.New("Error serializing 'length' field " + _lengthErr.Error())
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			for _, _element := range m.Data {
+				_elementErr := io.WriteInt8(8, _element)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'data' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsReadWriteResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            case "data":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			case "data":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsReadWriteResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
-    base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
-    if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	_encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+	base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+	if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index 771a44c..1212ad3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -19,193 +19,192 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsStampHeader struct {
-    Timestamp uint64
-    Samples uint32
-    AdsNotificationSamples []*AdsNotificationSample
-    IAdsStampHeader
+	Timestamp              uint64
+	Samples                uint32
+	AdsNotificationSamples []*AdsNotificationSample
+	IAdsStampHeader
 }
 
 // The corresponding interface
 type IAdsStampHeader interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 func NewAdsStampHeader(timestamp uint64, samples uint32, adsNotificationSamples []*AdsNotificationSample) *AdsStampHeader {
-    return &AdsStampHeader{Timestamp: timestamp, Samples: samples, AdsNotificationSamples: adsNotificationSamples}
+	return &AdsStampHeader{Timestamp: timestamp, Samples: samples, AdsNotificationSamples: adsNotificationSamples}
 }
 
 func CastAdsStampHeader(structType interface{}) *AdsStampHeader {
-    castFunc := func(typ interface{}) *AdsStampHeader {
-        if casted, ok := typ.(AdsStampHeader); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsStampHeader); ok {
-            return casted
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsStampHeader {
+		if casted, ok := typ.(AdsStampHeader); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsStampHeader); ok {
+			return casted
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsStampHeader) GetTypeName() string {
-    return "AdsStampHeader"
+	return "AdsStampHeader"
 }
 
 func (m *AdsStampHeader) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (timestamp)
-    lengthInBits += 64
+	// Simple field (timestamp)
+	lengthInBits += 64
 
-    // Simple field (samples)
-    lengthInBits += 32
+	// Simple field (samples)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.AdsNotificationSamples) > 0 {
-        for _, element := range m.AdsNotificationSamples {
-            lengthInBits += element.LengthInBits()
-        }
-    }
+	// Array field
+	if len(m.AdsNotificationSamples) > 0 {
+		for _, element := range m.AdsNotificationSamples {
+			lengthInBits += element.LengthInBits()
+		}
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsStampHeader) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsStampHeaderParse(io *utils.ReadBuffer) (*AdsStampHeader, error) {
 
-    // Simple Field (timestamp)
-    timestamp, _timestampErr := io.ReadUint64(64)
-    if _timestampErr != nil {
-        return nil, errors.New("Error parsing 'timestamp' field " + _timestampErr.Error())
-    }
-
-    // Simple Field (samples)
-    samples, _samplesErr := io.ReadUint32(32)
-    if _samplesErr != nil {
-        return nil, errors.New("Error parsing 'samples' field " + _samplesErr.Error())
-    }
-
-    // Array field (adsNotificationSamples)
-    // Count array
-    adsNotificationSamples := make([]*AdsNotificationSample, samples)
-    for curItem := uint16(0); curItem < uint16(samples); curItem++ {
-        _item, _err := AdsNotificationSampleParse(io)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'adsNotificationSamples' field " + _err.Error())
-        }
-        adsNotificationSamples[curItem] = _item
-    }
-
-    // Create the instance
-    return NewAdsStampHeader(timestamp, samples, adsNotificationSamples), nil
+	// Simple Field (timestamp)
+	timestamp, _timestampErr := io.ReadUint64(64)
+	if _timestampErr != nil {
+		return nil, errors.New("Error parsing 'timestamp' field " + _timestampErr.Error())
+	}
+
+	// Simple Field (samples)
+	samples, _samplesErr := io.ReadUint32(32)
+	if _samplesErr != nil {
+		return nil, errors.New("Error parsing 'samples' field " + _samplesErr.Error())
+	}
+
+	// Array field (adsNotificationSamples)
+	// Count array
+	adsNotificationSamples := make([]*AdsNotificationSample, samples)
+	for curItem := uint16(0); curItem < uint16(samples); curItem++ {
+		_item, _err := AdsNotificationSampleParse(io)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'adsNotificationSamples' field " + _err.Error())
+		}
+		adsNotificationSamples[curItem] = _item
+	}
+
+	// Create the instance
+	return NewAdsStampHeader(timestamp, samples, adsNotificationSamples), nil
 }
 
 func (m *AdsStampHeader) Serialize(io utils.WriteBuffer) error {
 
-    // Simple Field (timestamp)
-    timestamp := uint64(m.Timestamp)
-    _timestampErr := io.WriteUint64(64, (timestamp))
-    if _timestampErr != nil {
-        return errors.New("Error serializing 'timestamp' field " + _timestampErr.Error())
-    }
-
-    // Simple Field (samples)
-    samples := uint32(m.Samples)
-    _samplesErr := io.WriteUint32(32, (samples))
-    if _samplesErr != nil {
-        return errors.New("Error serializing 'samples' field " + _samplesErr.Error())
-    }
-
-    // Array Field (adsNotificationSamples)
-    if m.AdsNotificationSamples != nil {
-        for _, _element := range m.AdsNotificationSamples {
-            _elementErr := _element.Serialize(io)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'adsNotificationSamples' field " + _elementErr.Error())
-            }
-        }
-    }
-
-    return nil
+	// Simple Field (timestamp)
+	timestamp := uint64(m.Timestamp)
+	_timestampErr := io.WriteUint64(64, (timestamp))
+	if _timestampErr != nil {
+		return errors.New("Error serializing 'timestamp' field " + _timestampErr.Error())
+	}
+
+	// Simple Field (samples)
+	samples := uint32(m.Samples)
+	_samplesErr := io.WriteUint32(32, (samples))
+	if _samplesErr != nil {
+		return errors.New("Error serializing 'samples' field " + _samplesErr.Error())
+	}
+
+	// Array Field (adsNotificationSamples)
+	if m.AdsNotificationSamples != nil {
+		for _, _element := range m.AdsNotificationSamples {
+			_elementErr := _element.Serialize(io)
+			if _elementErr != nil {
+				return errors.New("Error serializing 'adsNotificationSamples' field " + _elementErr.Error())
+			}
+		}
+	}
+
+	return nil
 }
 
 func (m *AdsStampHeader) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    for {
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "timestamp":
-                var data uint64
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Timestamp = data
-            case "samples":
-                var data uint32
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Samples = data
-            case "adsNotificationSamples":
-                var data []*AdsNotificationSample
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.AdsNotificationSamples = data
-            }
-        }
-    }
+	var token xml.Token
+	var err error
+	for {
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "timestamp":
+				var data uint64
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Timestamp = data
+			case "samples":
+				var data uint32
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Samples = data
+			case "adsNotificationSamples":
+				var data []*AdsNotificationSample
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.AdsNotificationSamples = data
+			}
+		}
+	}
 }
 
 func (m *AdsStampHeader) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    className := "org.apache.plc4x.java.ads.readwrite.AdsStampHeader"
-    if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
-            {Name: xml.Name{Local: "className"}, Value: className},
-        }}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Timestamp, xml.StartElement{Name: xml.Name{Local: "timestamp"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.Samples, xml.StartElement{Name: xml.Name{Local: "samples"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.AdsNotificationSamples, xml.StartElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
-        return err
-    }
-    return nil
+	className := "org.apache.plc4x.java.ads.readwrite.AdsStampHeader"
+	if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+		{Name: xml.Name{Local: "className"}, Value: className},
+	}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Timestamp, xml.StartElement{Name: xml.Name{Local: "timestamp"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.Samples, xml.StartElement{Name: xml.Name{Local: "samples"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.AdsNotificationSamples, xml.StartElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "adsNotificationSamples"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index e3dccbb..312d15c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -19,240 +19,238 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsWriteControlRequest struct {
-    AdsState uint16
-    DeviceState uint16
-    Data []int8
-    Parent *AdsData
-    IAdsWriteControlRequest
+	AdsState    uint16
+	DeviceState uint16
+	Data        []int8
+	Parent      *AdsData
+	IAdsWriteControlRequest
 }
 
 // The corresponding interface
 type IAdsWriteControlRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsWriteControlRequest) CommandId() CommandId {
-    return CommandId_ADS_WRITE_CONTROL
+	return CommandId_ADS_WRITE_CONTROL
 }
 
 func (m *AdsWriteControlRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsWriteControlRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteControlRequest(adsState uint16, deviceState uint16, data []int8) *AdsData {
-    child := &AdsWriteControlRequest{
-        AdsState: adsState,
-        DeviceState: deviceState,
-        Data: data,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsWriteControlRequest{
+		AdsState:    adsState,
+		DeviceState: deviceState,
+		Data:        data,
+		Parent:      NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsWriteControlRequest(structType interface{}) *AdsWriteControlRequest {
-    castFunc := func(typ interface{}) *AdsWriteControlRequest {
-        if casted, ok := typ.(AdsWriteControlRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsWriteControlRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsWriteControlRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsWriteControlRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsWriteControlRequest {
+		if casted, ok := typ.(AdsWriteControlRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsWriteControlRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsWriteControlRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsWriteControlRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsWriteControlRequest) GetTypeName() string {
-    return "AdsWriteControlRequest"
+	return "AdsWriteControlRequest"
 }
 
 func (m *AdsWriteControlRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (adsState)
-    lengthInBits += 16
+	// Simple field (adsState)
+	lengthInBits += 16
 
-    // Simple field (deviceState)
-    lengthInBits += 16
+	// Simple field (deviceState)
+	lengthInBits += 16
 
-    // Implicit Field (length)
-    lengthInBits += 32
+	// Implicit Field (length)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsWriteControlRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsWriteControlRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (adsState)
-    adsState, _adsStateErr := io.ReadUint16(16)
-    if _adsStateErr != nil {
-        return nil, errors.New("Error parsing 'adsState' field " + _adsStateErr.Error())
-    }
-
-    // Simple Field (deviceState)
-    deviceState, _deviceStateErr := io.ReadUint16(16)
-    if _deviceStateErr != nil {
-        return nil, errors.New("Error parsing 'deviceState' field " + _deviceStateErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, length)
-    for curItem := uint16(0); curItem < uint16(length); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsWriteControlRequest{
-        AdsState: adsState,
-        DeviceState: deviceState,
-        Data: data,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (adsState)
+	adsState, _adsStateErr := io.ReadUint16(16)
+	if _adsStateErr != nil {
+		return nil, errors.New("Error parsing 'adsState' field " + _adsStateErr.Error())
+	}
+
+	// Simple Field (deviceState)
+	deviceState, _deviceStateErr := io.ReadUint16(16)
+	if _deviceStateErr != nil {
+		return nil, errors.New("Error parsing 'deviceState' field " + _deviceStateErr.Error())
+	}
+
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, length)
+	for curItem := uint16(0); curItem < uint16(length); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsWriteControlRequest{
+		AdsState:    adsState,
+		DeviceState: deviceState,
+		Data:        data,
+		Parent:      &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsWriteControlRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (adsState)
-    adsState := uint16(m.AdsState)
-    _adsStateErr := io.WriteUint16(16, (adsState))
-    if _adsStateErr != nil {
-        return errors.New("Error serializing 'adsState' field " + _adsStateErr.Error())
-    }
-
-    // Simple Field (deviceState)
-    deviceState := uint16(m.DeviceState)
-    _deviceStateErr := io.WriteUint16(16, (deviceState))
-    if _deviceStateErr != nil {
-        return errors.New("Error serializing 'deviceState' field " + _deviceStateErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length := uint32(uint32(len(m.Data)))
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (adsState)
+		adsState := uint16(m.AdsState)
+		_adsStateErr := io.WriteUint16(16, (adsState))
+		if _adsStateErr != nil {
+			return errors.New("Error serializing 'adsState' field " + _adsStateErr.Error())
+		}
+
+		// Simple Field (deviceState)
+		deviceState := uint16(m.DeviceState)
+		_deviceStateErr := io.WriteUint16(16, (deviceState))
+		if _deviceStateErr != nil {
+			return errors.New("Error serializing 'deviceState' field " + _deviceStateErr.Error())
+		}
+
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := io.WriteUint32(32, (length))
+		if _lengthErr != nil {
+			return errors.New("Error serializing 'length' field " + _lengthErr.Error())
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			for _, _element := range m.Data {
+				_elementErr := io.WriteInt8(8, _element)
+				if _elementErr != nil {
+					return errors.New("Error serializing 'data' field " + _elementErr.Error())
+				}
+			}
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsWriteControlRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "adsState":
-                var data uint16
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.AdsState = data
-            case "deviceState":
-                var data uint16
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.DeviceState = data
-            case "data":
-                var _encoded string
-                if err := d.DecodeElement(&_encoded, &tok); err != nil {
-                    return err
-                }
-                _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
-                _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
-                if err != nil {
-                    return err
-                }
-                m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "adsState":
+				var data uint16
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.AdsState = data
+			case "deviceState":
+				var data uint16
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.DeviceState = data
+			case "data":
+				var _encoded string
+				if err := d.DecodeElement(&_encoded, &tok); err != nil {
+					return err
+				}
+				_decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+				_len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+				if err != nil {
+					return err
+				}
+				m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsWriteControlRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.AdsState, xml.StartElement{Name: xml.Name{Local: "adsState"}}); err != nil {
-        return err
-    }
-    if err := e.EncodeElement(m.DeviceState, xml.StartElement{Name: xml.Name{Local: "deviceState"}}); err != nil {
-        return err
-    }
-    _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
-    base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
-    if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.AdsState, xml.StartElement{Name: xml.Name{Local: "adsState"}}); err != nil {
+		return err
+	}
+	if err := e.EncodeElement(m.DeviceState, xml.StartElement{Name: xml.Name{Local: "deviceState"}}); err != nil {
+		return err
+	}
+	_encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+	base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+	if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
index ae79618..78b95fa 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
@@ -19,150 +19,148 @@
 package model
 
 import (
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsWriteControlResponse struct {
-    Result ReturnCode
-    Parent *AdsData
-    IAdsWriteControlResponse
+	Result ReturnCode
+	Parent *AdsData
+	IAdsWriteControlResponse
 }
 
 // The corresponding interface
 type IAdsWriteControlResponse interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsWriteControlResponse) CommandId() CommandId {
-    return CommandId_ADS_WRITE_CONTROL
+	return CommandId_ADS_WRITE_CONTROL
 }
 
 func (m *AdsWriteControlResponse) Response() bool {
-    return true
+	return true
 }
 
-
 func (m *AdsWriteControlResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteControlResponse(result ReturnCode) *AdsData {
-    child := &AdsWriteControlResponse{
-        Result: result,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsWriteControlResponse{
+		Result: result,
+		Parent: NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsWriteControlResponse(structType interface{}) *AdsWriteControlResponse {
-    castFunc := func(typ interface{}) *AdsWriteControlResponse {
-        if casted, ok := typ.(AdsWriteControlResponse); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsWriteControlResponse); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsWriteControlResponse(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsWriteControlResponse(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsWriteControlResponse {
+		if casted, ok := typ.(AdsWriteControlResponse); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsWriteControlResponse); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsWriteControlResponse(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsWriteControlResponse(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsWriteControlResponse) GetTypeName() string {
-    return "AdsWriteControlResponse"
+	return "AdsWriteControlResponse"
 }
 
 func (m *AdsWriteControlResponse) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Enum Field (result)
-    lengthInBits += 32
+	// Enum Field (result)
+	lengthInBits += 32
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsWriteControlResponse) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsWriteControlResponseParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Enum field (result)
-    result, _resultErr := ReturnCodeParse(io)
-    if _resultErr != nil {
-        return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsWriteControlResponse{
-        Result: result,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Enum field (result)
+	result, _resultErr := ReturnCodeParse(io)
+	if _resultErr != nil {
+		return nil, errors.New("Error parsing 'result' field " + _resultErr.Error())
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsWriteControlResponse{
+		Result: result,
+		Parent: &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsWriteControlResponse) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Enum field (result)
-    result := CastReturnCode(m.Result)
-    _resultErr := result.Serialize(io)
-    if _resultErr != nil {
-        return errors.New("Error serializing 'result' field " + _resultErr.Error())
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Enum field (result)
+		result := CastReturnCode(m.Result)
+		_resultErr := result.Serialize(io)
+		if _resultErr != nil {
+			return errors.New("Error serializing 'result' field " + _resultErr.Error())
+		}
+
+		return nil
+	}
+	return m.Parent.SerializeParent(io, m, ser)
 }
 
 func (m *AdsWriteControlResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
-    var token xml.Token
-    var err error
-    token = start
-    for {
-        switch token.(type) {
-        case xml.StartElement:
-            tok := token.(xml.StartElement)
-            switch tok.Name.Local {
-            case "result":
-                var data ReturnCode
-                if err := d.DecodeElement(&data, &tok); err != nil {
-                    return err
-                }
-                m.Result = data
-            }
-        }
-        token, err = d.Token()
-        if err != nil {
-            if err == io.EOF {
-                return nil
-            }
-            return err
-        }
-    }
+	var token xml.Token
+	var err error
+	token = start
+	for {
+		switch token.(type) {
+		case xml.StartElement:
+			tok := token.(xml.StartElement)
+			switch tok.Name.Local {
+			case "result":
+				var data ReturnCode
+				if err := d.DecodeElement(&data, &tok); err != nil {
+					return err
+				}
+				m.Result = data
+			}
+		}
+		token, err = d.Token()
+		if err != nil {
+			if err == io.EOF {
+				return nil
+			}
+			return err
+		}
+	}
 }
 
 func (m *AdsWriteControlResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-    if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
-        return err
-    }
-    return nil
+	if err := e.EncodeElement(m.Result, xml.StartElement{Name: xml.Name{Local: "result"}}); err != nil {
+		return err
+	}
+	return nil
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index 299b410..e0a595d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -19,240 +19,238 @@
 package model
 
 import (
-    "encoding/base64"
-    "encoding/xml"
-    "errors"
-    "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-    "io"
+	"encoding/base64"
+	"encoding/xml"
+	"errors"
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"io"
 )
 
 // The data-structure of this message
 type AdsWriteRequest struct {
-    IndexGroup uint32
-    IndexOffset uint32
-    Data []int8
-    Parent *AdsData
-    IAdsWriteRequest
+	IndexGroup  uint32
+	IndexOffset uint32
+	Data        []int8
+	Parent      *AdsData
+	IAdsWriteRequest
 }
 
 // The corresponding interface
 type IAdsWriteRequest interface {
-    LengthInBytes() uint16
-    LengthInBits() uint16
-    Serialize(io utils.WriteBuffer) error
-    xml.Marshaler
+	LengthInBytes() uint16
+	LengthInBits() uint16
+	Serialize(io utils.WriteBuffer) error
+	xml.Marshaler
 }
 
 ///////////////////////////////////////////////////////////
 // Accessors for discriminator values.
 ///////////////////////////////////////////////////////////
 func (m *AdsWriteRequest) CommandId() CommandId {
-    return CommandId_ADS_WRITE
+	return CommandId_ADS_WRITE
 }
 
 func (m *AdsWriteRequest) Response() bool {
-    return false
+	return false
 }
 
-
 func (m *AdsWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteRequest(indexGroup uint32, indexOffset uint32, data []int8) *AdsData {
-    child := &AdsWriteRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        Data: data,
-        Parent: NewAdsData(),
-    }
-    child.Parent.Child = child
-    return child.Parent
+	child := &AdsWriteRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		Data:        data,
+		Parent:      NewAdsData(),
+	}
+	child.Parent.Child = child
+	return child.Parent
 }
 
 func CastAdsWriteRequest(structType interface{}) *AdsWriteRequest {
-    castFunc := func(typ interface{}) *AdsWriteRequest {
-        if casted, ok := typ.(AdsWriteRequest); ok {
-            return &casted
-        }
-        if casted, ok := typ.(*AdsWriteRequest); ok {
-            return casted
-        }
-        if casted, ok := typ.(AdsData); ok {
-            return CastAdsWriteRequest(casted.Child)
-        }
-        if casted, ok := typ.(*AdsData); ok {
-            return CastAdsWriteRequest(casted.Child)
-        }
-        return nil
-    }
-    return castFunc(structType)
+	castFunc := func(typ interface{}) *AdsWriteRequest {
+		if casted, ok := typ.(AdsWriteRequest); ok {
+			return &casted
+		}
+		if casted, ok := typ.(*AdsWriteRequest); ok {
+			return casted
+		}
+		if casted, ok := typ.(AdsData); ok {
+			return CastAdsWriteRequest(casted.Child)
+		}
+		if casted, ok := typ.(*AdsData); ok {
+			return CastAdsWriteRequest(casted.Child)
+		}
+		return nil
+	}
+	return castFunc(structType)
 }
 
 func (m *AdsWriteRequest) GetTypeName() string {
-    return "AdsWriteRequest"
+	return "AdsWriteRequest"
 }
 
 func (m *AdsWriteRequest) LengthInBits() uint16 {
-    lengthInBits := uint16(0)
+	lengthInBits := uint16(0)
 
-    // Simple field (indexGroup)
-    lengthInBits += 32
+	// Simple field (indexGroup)
+	lengthInBits += 32
 
-    // Simple field (indexOffset)
-    lengthInBits += 32
+	// Simple field (indexOffset)
+	lengthInBits += 32
 
-    // Implicit Field (length)
-    lengthInBits += 32
+	// Implicit Field (length)
+	lengthInBits += 32
 
-    // Array field
-    if len(m.Data) > 0 {
-        lengthInBits += 8 * uint16(len(m.Data))
-    }
+	// Array field
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
+	}
 
-    return lengthInBits
+	return lengthInBits
 }
 
 func (m *AdsWriteRequest) LengthInBytes() uint16 {
-    return m.LengthInBits() / 8
+	return m.LengthInBits() / 8
 }
 
 func AdsWriteRequestParse(io *utils.ReadBuffer) (*AdsData, error) {
 
-    // Simple Field (indexGroup)
-    indexGroup, _indexGroupErr := io.ReadUint32(32)
-    if _indexGroupErr != nil {
-        return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset, _indexOffsetErr := io.ReadUint32(32)
-    if _indexOffsetErr != nil {
-        return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length, _lengthErr := io.ReadUint32(32)
-    if _lengthErr != nil {
-        return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array field (data)
-    // Count array
-    data := make([]int8, length)
-    for curItem := uint16(0); curItem < uint16(length); curItem++ {
-        _item, _err := io.ReadInt8(8)
-        if _err != nil {
-            return nil, errors.New("Error parsing 'data' field " + _err.Error())
-        }
-        data[curItem] = _item
-    }
-
-    // Create a partially initialized instance
-    _child := &AdsWriteRequest{
-        IndexGroup: indexGroup,
-        IndexOffset: indexOffset,
-        Data: data,
-        Parent: &AdsData{},
-    }
-    _child.Parent.Child = _child
-    return _child.Parent, nil
+	// Simple Field (indexGroup)
+	indexGroup, _indexGroupErr := io.ReadUint32(32)
+	if _indexGroupErr != nil {
+		return nil, errors.New("Error parsing 'indexGroup' field " + _indexGroupErr.Error())
+	}
+
+	// Simple Field (indexOffset)
+	indexOffset, _indexOffsetErr := io.ReadUint32(32)
+	if _indexOffsetErr != nil {
+		return nil, errors.New("Error parsing 'indexOffset' field " + _indexOffsetErr.Error())
+	}
+
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length, _lengthErr := io.ReadUint32(32)
+	if _lengthErr != nil {
+		return nil, errors.New("Error parsing 'length' field " + _lengthErr.Error())
+	}
+
+	// Array field (data)
+	// Count array
+	data := make([]int8, length)
+	for curItem := uint16(0); curItem < uint16(length); curItem++ {
+		_item, _err := io.ReadInt8(8)
+		if _err != nil {
+			return nil, errors.New("Error parsing 'data' field " + _err.Error())
+		}
+		data[curItem] = _item
+	}
+
+	// Create a partially initialized instance
+	_child := &AdsWriteRequest{
+		IndexGroup:  indexGroup,
+		IndexOffset: indexOffset,
+		Data:        data,
+		Parent:      &AdsData{},
+	}
+	_child.Parent.Child = _child
+	return _child.Parent, nil
 }
 
 func (m *AdsWriteRequest) Serialize(io utils.WriteBuffer) error {
-    ser := func() error {
-
-    // Simple Field (indexGroup)
-    indexGroup := uint32(m.IndexGroup)
-    _indexGroupErr := io.WriteUint32(32, (indexGroup))
-    if _indexGroupErr != nil {
-        return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
-    }
-
-    // Simple Field (indexOffset)
-    indexOffset := uint32(m.IndexOffset)
-    _indexOffsetErr := io.WriteUint32(32, (indexOffset))
-    if _indexOffsetErr != nil {
-        return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
-    }
-
-    // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-    length := uint32(uint32(len(m.Data)))
-    _lengthErr := io.WriteUint32(32, (length))
-    if _lengthErr != nil {
-        return errors.New("Error serializing 'length' field " + _lengthErr.Error())
-    }
-
-    // Array Field (data)
-    if m.Data != nil {
-        for _, _element := range m.Data {
-            _elementErr := io.WriteInt8(8, _element)
-            if _elementErr != nil {
-                return errors.New("Error serializing 'data' field " + _elementErr.Error())
-            }
-        }
-    }
-
-        return nil
-    }
-    return m.Parent.SerializeParent(io, m, ser)
+	ser := func() error {
+
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := io.WriteUint32(32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.New("Error serializing 'indexGroup' field " + _indexGroupErr.Error())
+		}
+
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := io.WriteUint32(32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.New("Error serializing 'indexOffset' field " + _indexOffsetErr.Error())
+		}
... 194694 lines suppressed ...