You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2023/02/18 17:11:10 UTC

[plc4x] branch fix/cdutz/reenable-golang-driver-testsuites updated: chore(driver/eip): Continued trying to get the updated EIP driver working in GO

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

cdutz pushed a commit to branch fix/cdutz/reenable-golang-driver-testsuites
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/fix/cdutz/reenable-golang-driver-testsuites by this push:
     new e53dbf845e chore(driver/eip): Continued trying to get the updated EIP driver working in GO
e53dbf845e is described below

commit e53dbf845eeea0ee32ff9ac0a9a958e088763d30
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sat Feb 18 18:10:54 2023 +0100

    chore(driver/eip): Continued trying to get the updated EIP driver working in GO
---
 .../language/go/GoLanguageTemplateHelper.java      |    46 +-
 .../templates/go/complex-type-template.go.ftlh     |     4 +-
 .../templates/go/data-io-template.go.ftlh          |     4 +-
 .../references/DefaultByteOrderTypeReference.java  |    26 +
 .../testing/protocols/eip/DriverTestsuite.xml      |   425 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |   434 +-
 .../eip/ParserSerializerTestsuiteLittle.xml        |  1499 ++
 plc4go/internal/cbus/tagtype_string.go             |    17 +
 plc4go/internal/modbus/tagtype_string.go           |    17 +
 plc4go/internal/s7/tagtype_string.go               |    17 +
 .../protocols/abeth/readwrite/XmlParserHelper.go   |    34 +-
 .../model/CIPEncapsulationConnectionRequest.go     |    31 +-
 .../model/CIPEncapsulationConnectionResponse.go    |    31 +-
 .../readwrite/model/CIPEncapsulationPacket.go      |    72 +-
 .../readwrite/model/CIPEncapsulationReadRequest.go |    62 +-
 .../model/CIPEncapsulationReadResponse.go          |    63 +-
 .../readwrite/model/DF1CommandRequestMessage.go    |    62 +-
 ...mandResponseMessageProtectedTypedLogicalRead.go |    63 +-
 .../abeth/readwrite/model/DF1RequestCommand.go     |    31 +-
 .../abeth/readwrite/model/DF1RequestMessage.go     |    60 +-
 .../model/DF1RequestProtectedTypedLogicalRead.go   |   141 +-
 .../abeth/readwrite/model/DF1ResponseMessage.go    |    63 +-
 .../abeth/readwrite/model/plc4x_common.go          |     3 +-
 .../ads/discovery/readwrite/XmlParserHelper.go     |    28 +-
 .../ads/discovery/readwrite/model/AdsDiscovery.go  |    57 +-
 .../discovery/readwrite/model/AdsDiscoveryBlock.go |    63 +-
 .../readwrite/model/AdsDiscoveryBlockAmsNetId.go   |    71 +-
 .../model/AdsDiscoveryBlockFingerprint.go          |    59 +-
 .../readwrite/model/AdsDiscoveryBlockHostName.go   |    61 +-
 .../readwrite/model/AdsDiscoveryBlockOsData.go     |    59 +-
 .../readwrite/model/AdsDiscoveryBlockPassword.go   |    61 +-
 .../readwrite/model/AdsDiscoveryBlockRouteName.go  |    61 +-
 .../readwrite/model/AdsDiscoveryBlockStatus.go     |    71 +-
 .../readwrite/model/AdsDiscoveryBlockType.go       |    61 +-
 .../readwrite/model/AdsDiscoveryBlockUserName.go   |    61 +-
 .../readwrite/model/AdsDiscoveryBlockVersion.go    |    59 +-
 .../readwrite/model/AdsDiscoveryConstants.go       |    22 +-
 .../discovery/readwrite/model/AdsPortNumbers.go    |    79 +-
 .../ads/discovery/readwrite/model/AmsNetId.go      |    69 +-
 .../ads/discovery/readwrite/model/AmsString.go     |    37 +-
 .../ads/discovery/readwrite/model/Operation.go     |    55 +-
 .../ads/discovery/readwrite/model/Status.go        |    23 +-
 .../ads/discovery/readwrite/model/plc4x_common.go  |     3 +-
 plc4go/protocols/ads/readwrite/ParserHelper.go     |     2 +-
 plc4go/protocols/ads/readwrite/XmlParserHelper.go  |    94 +-
 .../model/AdsAddDeviceNotificationRequest.go       |   237 +-
 .../model/AdsAddDeviceNotificationResponse.go      |    85 +-
 .../protocols/ads/readwrite/model/AdsConstants.go  |    22 +-
 .../protocols/ads/readwrite/model/AdsDataType.go   |   578 +-
 .../ads/readwrite/model/AdsDataTypeArrayInfo.go    |    37 +-
 .../readwrite/model/AdsDataTypeTableChildEntry.go  |   147 +-
 .../ads/readwrite/model/AdsDataTypeTableEntry.go   |   147 +-
 .../model/AdsDeleteDeviceNotificationRequest.go    |    55 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |    67 +-
 .../model/AdsDeviceNotificationRequest.go          |   119 +-
 .../model/AdsDeviceNotificationResponse.go         |    36 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |    36 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |    36 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |    31 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |    97 +-
 .../model/AdsMultiRequestItemReadWrite.go          |   119 +-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |    97 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |    41 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |    36 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |   141 +-
 .../ads/readwrite/model/AdsReadRequest.go          |    99 +-
 .../ads/readwrite/model/AdsReadResponse.go         |    95 +-
 .../ads/readwrite/model/AdsReadStateRequest.go     |    36 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |   107 +-
 .../ads/readwrite/model/AdsReadWriteRequest.go     |   173 +-
 .../ads/readwrite/model/AdsReadWriteResponse.go    |    95 +-
 .../ads/readwrite/model/AdsStampHeader.go          |    47 +-
 .../ads/readwrite/model/AdsSymbolTableEntry.go     |   205 +-
 .../protocols/ads/readwrite/model/AdsTableSizes.go |    69 +-
 .../protocols/ads/readwrite/model/AdsTransMode.go  |    49 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |   105 +-
 .../ads/readwrite/model/AdsWriteControlResponse.go |    67 +-
 .../ads/readwrite/model/AdsWriteRequest.go         |   105 +-
 .../ads/readwrite/model/AdsWriteResponse.go        |    67 +-
 plc4go/protocols/ads/readwrite/model/AmsNetId.go   |    69 +-
 plc4go/protocols/ads/readwrite/model/AmsPacket.go  |   150 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |    69 +-
 .../ads/readwrite/model/AmsSerialFrame.go          |    75 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |    69 +-
 .../protocols/ads/readwrite/model/AmsTCPPacket.go  |    33 +-
 plc4go/protocols/ads/readwrite/model/CommandId.go  |    67 +-
 plc4go/protocols/ads/readwrite/model/DataItem.go   |   775 +-
 .../ads/readwrite/model/DefaultAmsPorts.go         |   337 +-
 .../protocols/ads/readwrite/model/ErrorResponse.go |    36 +-
 .../protocols/ads/readwrite/model/PlcValueType.go  |   191 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |   229 +-
 plc4go/protocols/ads/readwrite/model/ReturnCode.go |   739 +-
 .../protocols/ads/readwrite/model/plc4x_common.go  |     3 +-
 .../protocols/bacnetip/readwrite/ParserHelper.go   |   226 +-
 .../bacnetip/readwrite/XmlParserHelper.go          |  3160 +--
 plc4go/protocols/bacnetip/readwrite/model/APDU.go  |    46 +-
 .../bacnetip/readwrite/model/APDUAbort.go          |   130 +-
 .../bacnetip/readwrite/model/APDUComplexAck.go     |   280 +-
 .../readwrite/model/APDUConfirmedRequest.go        |   362 +-
 .../bacnetip/readwrite/model/APDUError.go          |   138 +-
 .../bacnetip/readwrite/model/APDUReject.go         |   108 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |   162 +-
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |   108 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |    84 +-
 .../bacnetip/readwrite/model/APDUUnknown.go        |    64 +-
 .../protocols/bacnetip/readwrite/model/ApduType.go |   103 +-
 .../bacnetip/readwrite/model/BACnetAbortReason.go  |    85 +-
 .../readwrite/model/BACnetAbortReasonTagged.go     |    40 +-
 .../BACnetAccessAuthenticationFactorDisable.go     |    51 +-
 ...ACnetAccessAuthenticationFactorDisableTagged.go |    54 +-
 .../model/BACnetAccessCredentialDisable.go         |    39 +-
 .../model/BACnetAccessCredentialDisableReason.go   |    73 +-
 .../BACnetAccessCredentialDisableReasonTagged.go   |    54 +-
 .../model/BACnetAccessCredentialDisableTagged.go   |    54 +-
 .../bacnetip/readwrite/model/BACnetAccessEvent.go  |   335 +-
 .../readwrite/model/BACnetAccessEventTagged.go     |    54 +-
 .../readwrite/model/BACnetAccessPassbackMode.go    |    23 +-
 .../model/BACnetAccessPassbackModeTagged.go        |    44 +-
 .../bacnetip/readwrite/model/BACnetAccessRule.go   |    51 +-
 .../model/BACnetAccessRuleLocationSpecifier.go     |    19 +-
 .../BACnetAccessRuleLocationSpecifierTagged.go     |    44 +-
 .../model/BACnetAccessRuleTimeRangeSpecifier.go    |    19 +-
 .../BACnetAccessRuleTimeRangeSpecifierTagged.go    |    44 +-
 .../readwrite/model/BACnetAccessThreatLevel.go     |    27 +-
 .../readwrite/model/BACnetAccessUserType.go        |    33 +-
 .../readwrite/model/BACnetAccessUserTypeTagged.go  |    54 +-
 .../model/BACnetAccessZoneOccupancyState.go        |    57 +-
 .../model/BACnetAccessZoneOccupancyStateTagged.go  |    54 +-
 .../readwrite/model/BACnetAccumulatorRecord.go     |    45 +-
 .../BACnetAccumulatorRecordAccumulatorStatus.go    |    37 +-
 ...CnetAccumulatorRecordAccumulatorStatusTagged.go |    44 +-
 .../bacnetip/readwrite/model/BACnetAction.go       |    19 +-
 .../readwrite/model/BACnetActionCommand.go         |    85 +-
 .../bacnetip/readwrite/model/BACnetActionList.go   |    43 +-
 .../bacnetip/readwrite/model/BACnetActionTagged.go |    44 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |    37 +-
 .../readwrite/model/BACnetAddressBinding.go        |    33 +-
 .../readwrite/model/BACnetAddressEnclosed.go       |    42 +-
 .../readwrite/model/BACnetApplicationTag.go        |    70 +-
 .../model/BACnetApplicationTagBitString.go         |    57 +-
 .../readwrite/model/BACnetApplicationTagBoolean.go |    65 +-
 .../model/BACnetApplicationTagCharacterString.go   |    65 +-
 .../readwrite/model/BACnetApplicationTagDate.go    |    57 +-
 .../readwrite/model/BACnetApplicationTagDouble.go  |    65 +-
 .../model/BACnetApplicationTagEnumerated.go        |    65 +-
 .../readwrite/model/BACnetApplicationTagNull.go    |    26 +-
 .../model/BACnetApplicationTagObjectIdentifier.go  |    73 +-
 .../model/BACnetApplicationTagOctetString.go       |    57 +-
 .../readwrite/model/BACnetApplicationTagReal.go    |    65 +-
 .../model/BACnetApplicationTagSignedInteger.go     |    65 +-
 .../readwrite/model/BACnetApplicationTagTime.go    |    57 +-
 .../model/BACnetApplicationTagUnsignedInteger.go   |    65 +-
 .../readwrite/model/BACnetAssignedAccessRights.go  |    33 +-
 .../readwrite/model/BACnetAssignedLandingCalls.go  |    27 +-
 .../BACnetAssignedLandingCallsLandingCallsList.go  |    46 +-
 ...netAssignedLandingCallsLandingCallsListEntry.go |    33 +-
 .../readwrite/model/BACnetAuthenticationFactor.go  |    39 +-
 .../model/BACnetAuthenticationFactorEnclosed.go    |    42 +-
 .../model/BACnetAuthenticationFactorFormat.go      |    43 +-
 .../model/BACnetAuthenticationFactorType.go        |   157 +-
 .../model/BACnetAuthenticationFactorTypeTagged.go  |    44 +-
 .../readwrite/model/BACnetAuthenticationPolicy.go  |    39 +-
 .../model/BACnetAuthenticationPolicyList.go        |    46 +-
 .../model/BACnetAuthenticationPolicyListEntry.go   |    33 +-
 .../readwrite/model/BACnetAuthenticationStatus.go  |    49 +-
 .../model/BACnetAuthenticationStatusTagged.go      |    44 +-
 .../model/BACnetAuthorizationExemption.go          |    57 +-
 .../model/BACnetAuthorizationExemptionTagged.go    |    54 +-
 .../readwrite/model/BACnetAuthorizationMode.go     |    51 +-
 .../model/BACnetAuthorizationModeTagged.go         |    54 +-
 .../bacnetip/readwrite/model/BACnetBDTEntry.go     |    35 +-
 .../bacnetip/readwrite/model/BACnetBackupState.go  |    49 +-
 .../readwrite/model/BACnetBackupStateTagged.go     |    44 +-
 .../readwrite/model/BACnetBinaryLightingPV.go      |    51 +-
 .../model/BACnetBinaryLightingPVTagged.go          |    54 +-
 .../bacnetip/readwrite/model/BACnetBinaryPV.go     |    19 +-
 .../readwrite/model/BACnetBinaryPVTagged.go        |    44 +-
 .../model/BACnetCOVMultipleSubscription.go         |    51 +-
 ...bscriptionListOfCovSubscriptionSpecification.go |    46 +-
 ...ptionListOfCovSubscriptionSpecificationEntry.go |    33 +-
 ...riptionSpecificationEntryListOfCovReferences.go |    46 +-
 ...onSpecificationEntryListOfCovReferencesEntry.go |    41 +-
 .../readwrite/model/BACnetCOVSubscription.go       |    53 +-
 .../readwrite/model/BACnetCalendarEntry.go         |    56 +-
 .../readwrite/model/BACnetCalendarEntryDate.go     |    57 +-
 .../model/BACnetCalendarEntryDateRange.go          |    57 +-
 .../readwrite/model/BACnetCalendarEntryEnclosed.go |    42 +-
 .../readwrite/model/BACnetCalendarEntryWeekNDay.go |    57 +-
 .../bacnetip/readwrite/model/BACnetChannelValue.go |   100 +-
 .../readwrite/model/BACnetChannelValueBitString.go |    57 +-
 .../readwrite/model/BACnetChannelValueBoolean.go   |    57 +-
 .../model/BACnetChannelValueCharacterString.go     |    53 +-
 .../readwrite/model/BACnetChannelValueDate.go      |    57 +-
 .../readwrite/model/BACnetChannelValueDouble.go    |    57 +-
 .../model/BACnetChannelValueEnumerated.go          |    57 +-
 .../readwrite/model/BACnetChannelValueInteger.go   |    57 +-
 .../model/BACnetChannelValueLightingCommand.go     |    53 +-
 .../readwrite/model/BACnetChannelValueNull.go      |    57 +-
 .../model/BACnetChannelValueObjectidentifier.go    |    53 +-
 .../model/BACnetChannelValueOctetString.go         |    57 +-
 .../readwrite/model/BACnetChannelValueReal.go      |    57 +-
 .../readwrite/model/BACnetChannelValueTime.go      |    57 +-
 .../readwrite/model/BACnetChannelValueUnsigned.go  |    57 +-
 .../readwrite/model/BACnetCharacterEncoding.go     |    43 +-
 .../bacnetip/readwrite/model/BACnetClientCOV.go    |    50 +-
 .../readwrite/model/BACnetClientCOVNone.go         |    53 +-
 .../readwrite/model/BACnetClientCOVObject.go       |    57 +-
 .../bacnetip/readwrite/model/BACnetClosingTag.go   |    36 +-
 .../model/BACnetConfirmedServiceChoice.go          |   199 +-
 .../model/BACnetConfirmedServiceRequest.go         |    97 +-
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |   205 +-
 .../BACnetConfirmedServiceRequestAddListElement.go |   159 +-
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |    87 +-
 ...tConfirmedServiceRequestAtomicReadFileRecord.go |    83 +-
 ...tConfirmedServiceRequestAtomicReadFileStream.go |    79 +-
 ...edServiceRequestAtomicReadFileStreamOrRecord.go |    58 +-
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |   187 +-
 .../BACnetConfirmedServiceRequestAuthenticate.go   |    44 +-
 ...firmedServiceRequestConfirmedCOVNotification.go |   177 +-
 ...rviceRequestConfirmedCOVNotificationMultiple.go |   183 +-
 ...rmedServiceRequestConfirmedEventNotification.go |   439 +-
 ...firmedServiceRequestConfirmedPrivateTransfer.go |   123 +-
 ...tConfirmedServiceRequestConfirmedTextMessage.go |   153 +-
 ...rviceRequestConfirmedTextMessageMessageClass.go |    55 +-
 ...estConfirmedTextMessageMessageClassCharacter.go |    50 +-
 ...questConfirmedTextMessageMessageClassNumeric.go |    50 +-
 ...ceRequestConfirmedTextMessageMessagePriority.go |    17 +-
 ...estConfirmedTextMessageMessagePriorityTagged.go |    44 +-
 .../BACnetConfirmedServiceRequestCreateObject.go   |    93 +-
 ...medServiceRequestCreateObjectObjectSpecifier.go |    62 +-
 .../BACnetConfirmedServiceRequestDeleteObject.go   |    57 +-
 ...rmedServiceRequestDeviceCommunicationControl.go |   131 +-
 ...questDeviceCommunicationControlEnableDisable.go |    25 +-
 ...eviceCommunicationControlEnableDisableTagged.go |    44 +-
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |   243 +-
 ...estGetEnrollmentSummaryAcknowledgementFilter.go |    25 +-
 ...EnrollmentSummaryAcknowledgementFilterTagged.go |    44 +-
 ...eRequestGetEnrollmentSummaryEventStateFilter.go |    37 +-
 ...stGetEnrollmentSummaryEventStateFilterTagged.go |    44 +-
 ...iceRequestGetEnrollmentSummaryPriorityFilter.go |    48 +-
 ...etConfirmedServiceRequestGetEventInformation.go |    65 +-
 ...etConfirmedServiceRequestLifeSafetyOperation.go |   153 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   123 +-
 ...nfirmedServiceRequestReadPropertyConditional.go |    44 +-
 ...tConfirmedServiceRequestReadPropertyMultiple.go |    70 +-
 .../BACnetConfirmedServiceRequestReadRange.go      |   157 +-
 .../BACnetConfirmedServiceRequestReadRangeRange.go |    62 +-
 ...firmedServiceRequestReadRangeRangeByPosition.go |    83 +-
 ...ServiceRequestReadRangeRangeBySequenceNumber.go |    85 +-
 ...tConfirmedServiceRequestReadRangeRangeByTime.go |    83 +-
 ...netConfirmedServiceRequestReinitializeDevice.go |    93 +-
 ...ReinitializeDeviceReinitializedStateOfDevice.go |    61 +-
 ...ializeDeviceReinitializedStateOfDeviceTagged.go |    44 +-
 ...CnetConfirmedServiceRequestRemoveListElement.go |   159 +-
 .../BACnetConfirmedServiceRequestRequestKey.go     |    44 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |   159 +-
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |   219 +-
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |   191 +-
 ...yMultipleListOfCovSubscriptionSpecifications.go |    49 +-
 ...tipleListOfCovSubscriptionSpecificationsList.go |    46 +-
 ...ListOfCovSubscriptionSpecificationsReference.go |    41 +-
 .../model/BACnetConfirmedServiceRequestUnknown.go  |    44 +-
 .../model/BACnetConfirmedServiceRequestVTClose.go  |    68 +-
 .../model/BACnetConfirmedServiceRequestVTData.go   |   117 +-
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |    87 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |   187 +-
 ...ConfirmedServiceRequestWritePropertyMultiple.go |    70 +-
 .../readwrite/model/BACnetConstructedData.go       |  1369 +-
 .../model/BACnetConstructedDataAPDULength.go       |    72 +-
 .../BACnetConstructedDataAPDUSegmentTimeout.go     |    72 +-
 .../model/BACnetConstructedDataAPDUTimeout.go      |    72 +-
 .../model/BACnetConstructedDataAbsenteeLimit.go    |    72 +-
 .../model/BACnetConstructedDataAcceptedModes.go    |    76 +-
 .../BACnetConstructedDataAccessAlarmEvents.go      |    76 +-
 .../BACnetConstructedDataAccessCredentialAll.go    |    37 +-
 .../BACnetConstructedDataAccessDoorAlarmValues.go  |    76 +-
 .../model/BACnetConstructedDataAccessDoorAll.go    |    37 +-
 .../BACnetConstructedDataAccessDoorFaultValues.go  |    76 +-
 .../BACnetConstructedDataAccessDoorPresentValue.go |    72 +-
 ...etConstructedDataAccessDoorRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataAccessDoors.go      |   118 +-
 .../model/BACnetConstructedDataAccessEvent.go      |    72 +-
 ...nstructedDataAccessEventAuthenticationFactor.go |    70 +-
 .../BACnetConstructedDataAccessEventCredential.go  |    72 +-
 .../model/BACnetConstructedDataAccessEventTag.go   |    72 +-
 .../model/BACnetConstructedDataAccessEventTime.go  |    72 +-
 .../model/BACnetConstructedDataAccessPointAll.go   |    37 +-
 .../model/BACnetConstructedDataAccessRightsAll.go  |    37 +-
 ...BACnetConstructedDataAccessTransactionEvents.go |    74 +-
 .../model/BACnetConstructedDataAccessUserAll.go    |    37 +-
 .../BACnetConstructedDataAccessZoneAdjustValue.go  |    72 +-
 .../BACnetConstructedDataAccessZoneAlarmValues.go  |    76 +-
 .../model/BACnetConstructedDataAccessZoneAll.go    |    37 +-
 .../model/BACnetConstructedDataAccompaniment.go    |    72 +-
 .../BACnetConstructedDataAccompanimentTime.go      |    72 +-
 .../model/BACnetConstructedDataAccumulatorAll.go   |    37 +-
 ...CnetConstructedDataAccumulatorFaultHighLimit.go |    72 +-
 ...ACnetConstructedDataAccumulatorFaultLowLimit.go |    72 +-
 .../BACnetConstructedDataAccumulatorHighLimit.go   |    72 +-
 .../BACnetConstructedDataAccumulatorLowLimit.go    |    72 +-
 ...BACnetConstructedDataAccumulatorMaxPresValue.go |    72 +-
 ...BACnetConstructedDataAccumulatorMinPresValue.go |    72 +-
 .../model/BACnetConstructedDataAckRequired.go      |    72 +-
 .../model/BACnetConstructedDataAckedTransitions.go |    72 +-
 .../readwrite/model/BACnetConstructedDataAction.go |   118 +-
 .../model/BACnetConstructedDataActionText.go       |   118 +-
 .../model/BACnetConstructedDataActivationTime.go   |    72 +-
 ...netConstructedDataActiveAuthenticationPolicy.go |    70 +-
 ...onstructedDataActiveCOVMultipleSubscriptions.go |    74 +-
 .../BACnetConstructedDataActiveCOVSubscriptions.go |    74 +-
 .../model/BACnetConstructedDataActiveText.go       |    72 +-
 .../model/BACnetConstructedDataActiveVTSessions.go |    76 +-
 .../model/BACnetConstructedDataActualShedLevel.go  |    72 +-
 .../model/BACnetConstructedDataAdjustValue.go      |    72 +-
 .../model/BACnetConstructedDataAlarmValue.go       |    72 +-
 .../model/BACnetConstructedDataAlarmValues.go      |   118 +-
 .../BACnetConstructedDataAlertEnrollmentAll.go     |    37 +-
 ...etConstructedDataAlertEnrollmentPresentValue.go |    72 +-
 .../model/BACnetConstructedDataAlignIntervals.go   |    72 +-
 .../BACnetConstructedDataAllWritesSuccessful.go    |    72 +-
 .../BACnetConstructedDataAllowGroupDelayInhibit.go |    70 +-
 .../model/BACnetConstructedDataAnalogInputAll.go   |    37 +-
 ...CnetConstructedDataAnalogInputFaultHighLimit.go |    72 +-
 ...ACnetConstructedDataAnalogInputFaultLowLimit.go |    72 +-
 ...CnetConstructedDataAnalogInputInterfaceValue.go |    72 +-
 ...BACnetConstructedDataAnalogInputMaxPresValue.go |    72 +-
 ...BACnetConstructedDataAnalogInputPresentValue.go |    72 +-
 .../model/BACnetConstructedDataAnalogOutputAll.go  |    37 +-
 ...netConstructedDataAnalogOutputInterfaceValue.go |    72 +-
 ...ACnetConstructedDataAnalogOutputMaxPresValue.go |    72 +-
 ...ACnetConstructedDataAnalogOutputPresentValue.go |    72 +-
 ...ConstructedDataAnalogOutputRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataAnalogValueAll.go   |    37 +-
 ...CnetConstructedDataAnalogValueFaultHighLimit.go |    72 +-
 ...ACnetConstructedDataAnalogValueFaultLowLimit.go |    72 +-
 ...BACnetConstructedDataAnalogValueMaxPresValue.go |    72 +-
 ...BACnetConstructedDataAnalogValuePresentValue.go |    72 +-
 ...tConstructedDataAnalogValueRelinquishDefault.go |    72 +-
 ...netConstructedDataApplicationSoftwareVersion.go |    70 +-
 .../model/BACnetConstructedDataArchive.go          |    72 +-
 .../BACnetConstructedDataAssignedAccessRights.go   |   116 +-
 .../BACnetConstructedDataAssignedLandingCalls.go   |   116 +-
 .../model/BACnetConstructedDataAttemptedSamples.go |    72 +-
 .../BACnetConstructedDataAuthenticationFactors.go  |   118 +-
 ...ACnetConstructedDataAuthenticationPolicyList.go |   116 +-
 ...CnetConstructedDataAuthenticationPolicyNames.go |   116 +-
 .../BACnetConstructedDataAuthenticationStatus.go   |    72 +-
 ...BACnetConstructedDataAuthorizationExemptions.go |    74 +-
 .../BACnetConstructedDataAuthorizationMode.go      |    72 +-
 .../BACnetConstructedDataAutoSlaveDiscovery.go     |    72 +-
 .../model/BACnetConstructedDataAverageValue.go     |    72 +-
 .../model/BACnetConstructedDataAveragingAll.go     |    37 +-
 .../BACnetConstructedDataBACnetIPGlobalAddress.go  |    72 +-
 .../model/BACnetConstructedDataBACnetIPMode.go     |    72 +-
 ...ACnetConstructedDataBACnetIPMulticastAddress.go |    72 +-
 .../BACnetConstructedDataBACnetIPNATTraversal.go   |    72 +-
 .../model/BACnetConstructedDataBACnetIPUDPPort.go  |    72 +-
 .../model/BACnetConstructedDataBACnetIPv6Mode.go   |    72 +-
 ...netConstructedDataBACnetIPv6MulticastAddress.go |    72 +-
 .../BACnetConstructedDataBACnetIPv6UDPPort.go      |    72 +-
 ...CnetConstructedDataBBMDAcceptFDRegistrations.go |    70 +-
 ...onstructedDataBBMDBroadcastDistributionTable.go |    74 +-
 .../BACnetConstructedDataBBMDForeignDeviceTable.go |    74 +-
 .../BACnetConstructedDataBackupAndRestoreState.go  |    72 +-
 .../BACnetConstructedDataBackupFailureTimeout.go   |    72 +-
 .../BACnetConstructedDataBackupPreparationTime.go  |    72 +-
 ...ACnetConstructedDataBaseDeviceSecurityPolicy.go |    70 +-
 .../model/BACnetConstructedDataBelongsTo.go        |    72 +-
 .../readwrite/model/BACnetConstructedDataBias.go   |    72 +-
 .../model/BACnetConstructedDataBinaryInputAll.go   |    37 +-
 ...CnetConstructedDataBinaryInputInterfaceValue.go |    72 +-
 ...BACnetConstructedDataBinaryInputPresentValue.go |    72 +-
 ...BACnetConstructedDataBinaryLightingOutputAll.go |    37 +-
 ...tructedDataBinaryLightingOutputFeedbackValue.go |    72 +-
 ...structedDataBinaryLightingOutputPresentValue.go |    72 +-
 ...tedDataBinaryLightingOutputRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataBinaryOutputAll.go  |    37 +-
 ...CnetConstructedDataBinaryOutputFeedbackValue.go |    72 +-
 ...netConstructedDataBinaryOutputInterfaceValue.go |    72 +-
 ...ACnetConstructedDataBinaryOutputPresentValue.go |    72 +-
 ...ConstructedDataBinaryOutputRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataBinaryValueAll.go   |    37 +-
 ...BACnetConstructedDataBinaryValuePresentValue.go |    72 +-
 ...tConstructedDataBinaryValueRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataBitMask.go          |    72 +-
 ...CnetConstructedDataBitStringValueAlarmValues.go |   118 +-
 ...netConstructedDataBitStringValuePresentValue.go |    72 +-
 ...nstructedDataBitStringValueRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataBitText.go          |   118 +-
 .../BACnetConstructedDataBitstringValueAll.go      |    37 +-
 .../model/BACnetConstructedDataBlinkWarnEnable.go  |    72 +-
 .../model/BACnetConstructedDataBufferSize.go       |    72 +-
 .../model/BACnetConstructedDataCOVIncrement.go     |    72 +-
 .../model/BACnetConstructedDataCOVPeriod.go        |    72 +-
 ...CnetConstructedDataCOVResubscriptionInterval.go |    70 +-
 .../model/BACnetConstructedDataCOVUPeriod.go       |    72 +-
 .../model/BACnetConstructedDataCOVURecipients.go   |    76 +-
 .../model/BACnetConstructedDataCalendarAll.go      |    37 +-
 .../BACnetConstructedDataCalendarPresentValue.go   |    72 +-
 .../BACnetConstructedDataCarAssignedDirection.go   |    72 +-
 .../model/BACnetConstructedDataCarDoorCommand.go   |   118 +-
 .../model/BACnetConstructedDataCarDoorStatus.go    |   118 +-
 .../model/BACnetConstructedDataCarDoorText.go      |   118 +-
 .../model/BACnetConstructedDataCarDoorZone.go      |    72 +-
 .../model/BACnetConstructedDataCarDriveStatus.go   |    72 +-
 .../model/BACnetConstructedDataCarLoad.go          |    72 +-
 .../model/BACnetConstructedDataCarLoadUnits.go     |    72 +-
 .../model/BACnetConstructedDataCarMode.go          |    72 +-
 .../BACnetConstructedDataCarMovingDirection.go     |    72 +-
 .../model/BACnetConstructedDataCarPosition.go      |    72 +-
 .../BACnetConstructedDataChangeOfStateCount.go     |    72 +-
 .../BACnetConstructedDataChangeOfStateTime.go      |    72 +-
 .../model/BACnetConstructedDataChangesPending.go   |    72 +-
 .../model/BACnetConstructedDataChannelAll.go       |    37 +-
 ...tedDataChannelListOfObjectPropertyReferences.go |   118 +-
 .../model/BACnetConstructedDataChannelNumber.go    |    72 +-
 .../BACnetConstructedDataChannelPresentValue.go    |    72 +-
 ...nstructedDataCharacterStringValueAlarmValues.go |   118 +-
 ...nstructedDataCharacterStringValueFaultValues.go |   118 +-
 ...structedDataCharacterStringValuePresentValue.go |    72 +-
 ...tedDataCharacterStringValueRelinquishDefault.go |    72 +-
 ...BACnetConstructedDataCharacterstringValueAll.go |    37 +-
 .../BACnetConstructedDataClientCOVIncrement.go     |    72 +-
 .../model/BACnetConstructedDataCommand.go          |    72 +-
 .../model/BACnetConstructedDataCommandAction.go    |   118 +-
 .../model/BACnetConstructedDataCommandAll.go       |    37 +-
 .../model/BACnetConstructedDataCommandTimeArray.go |   120 +-
 .../BACnetConstructedDataConfigurationFiles.go     |   118 +-
 .../model/BACnetConstructedDataControlGroups.go    |   118 +-
 ...etConstructedDataControlledVariableReference.go |    70 +-
 ...BACnetConstructedDataControlledVariableUnits.go |    72 +-
 ...BACnetConstructedDataControlledVariableValue.go |    70 +-
 .../readwrite/model/BACnetConstructedDataCount.go  |    72 +-
 .../BACnetConstructedDataCountBeforeChange.go      |    72 +-
 .../model/BACnetConstructedDataCountChangeTime.go  |    72 +-
 .../BACnetConstructedDataCredentialDataInputAll.go |    37 +-
 ...nstructedDataCredentialDataInputPresentValue.go |    72 +-
 ...ConstructedDataCredentialDataInputUpdateTime.go |    72 +-
 .../BACnetConstructedDataCredentialDisable.go      |    72 +-
 .../model/BACnetConstructedDataCredentialStatus.go |    72 +-
 .../model/BACnetConstructedDataCredentials.go      |    76 +-
 .../BACnetConstructedDataCredentialsInZone.go      |    76 +-
 .../BACnetConstructedDataCurrentCommandPriority.go |    70 +-
 .../model/BACnetConstructedDataDatabaseRevision.go |    72 +-
 .../model/BACnetConstructedDataDateList.go         |    76 +-
 ...tConstructedDataDatePatternValuePresentValue.go |    72 +-
 ...tructedDataDatePatternValueRelinquishDefault.go |    72 +-
 ...structedDataDateTimePatternValuePresentValue.go |    72 +-
 ...tedDataDateTimePatternValueRelinquishDefault.go |    72 +-
 ...CnetConstructedDataDateTimeValuePresentValue.go |    72 +-
 ...onstructedDataDateTimeValueRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataDateValueAll.go     |    37 +-
 .../BACnetConstructedDataDateValuePresentValue.go  |    72 +-
 ...netConstructedDataDateValueRelinquishDefault.go |    72 +-
 .../BACnetConstructedDataDatepatternValueAll.go    |    37 +-
 .../model/BACnetConstructedDataDatetimeValueAll.go |    37 +-
 ...BACnetConstructedDataDatetimepatternValueAll.go |    37 +-
 .../BACnetConstructedDataDaylightSavingsStatus.go  |    72 +-
 .../model/BACnetConstructedDataDaysRemaining.go    |    72 +-
 .../model/BACnetConstructedDataDeadband.go         |    72 +-
 .../model/BACnetConstructedDataDefaultFadeTime.go  |    72 +-
 .../model/BACnetConstructedDataDefaultRampRate.go  |    72 +-
 .../BACnetConstructedDataDefaultStepIncrement.go   |    72 +-
 ...onstructedDataDefaultSubordinateRelationship.go |    70 +-
 .../model/BACnetConstructedDataDefaultTimeout.go   |    72 +-
 ...BACnetConstructedDataDeployedProfileLocation.go |    70 +-
 .../BACnetConstructedDataDerivativeConstant.go     |    72 +-
 ...BACnetConstructedDataDerivativeConstantUnits.go |    72 +-
 .../model/BACnetConstructedDataDescription.go      |    72 +-
 .../BACnetConstructedDataDescriptionOfHalt.go      |    72 +-
 .../BACnetConstructedDataDeviceAddressBinding.go   |    76 +-
 .../model/BACnetConstructedDataDeviceAll.go        |    37 +-
 .../BACnetConstructedDataDeviceMaxInfoFrames.go    |    72 +-
 .../model/BACnetConstructedDataDeviceMaxMaster.go  |    72 +-
 .../model/BACnetConstructedDataDeviceType.go       |    72 +-
 .../model/BACnetConstructedDataDirectReading.go    |    72 +-
 ...BACnetConstructedDataDistributionKeyRevision.go |    70 +-
 .../model/BACnetConstructedDataDoNotHide.go        |    72 +-
 .../model/BACnetConstructedDataDoorAlarmState.go   |    72 +-
 .../BACnetConstructedDataDoorExtendedPulseTime.go  |    72 +-
 .../model/BACnetConstructedDataDoorMembers.go      |   118 +-
 .../BACnetConstructedDataDoorOpenTooLongTime.go    |    72 +-
 .../model/BACnetConstructedDataDoorPulseTime.go    |    72 +-
 .../model/BACnetConstructedDataDoorStatus.go       |    72 +-
 .../BACnetConstructedDataDoorUnlockDelayTime.go    |    72 +-
 .../model/BACnetConstructedDataDutyWindow.go       |    72 +-
 .../model/BACnetConstructedDataEffectivePeriod.go  |    72 +-
 .../model/BACnetConstructedDataEgressActive.go     |    72 +-
 .../model/BACnetConstructedDataEgressTime.go       |    72 +-
 .../BACnetConstructedDataElapsedActiveTime.go      |    72 +-
 .../model/BACnetConstructedDataElement.go          |    72 +-
 .../model/BACnetConstructedDataElevatorGroup.go    |    72 +-
 .../model/BACnetConstructedDataElevatorGroupAll.go |    37 +-
 ...CnetConstructedDataElevatorGroupGroupMembers.go |   118 +-
 .../readwrite/model/BACnetConstructedDataEnable.go |    72 +-
 .../model/BACnetConstructedDataEnergyMeter.go      |    72 +-
 .../model/BACnetConstructedDataEnergyMeterRef.go   |    72 +-
 .../model/BACnetConstructedDataEntryPoints.go      |    76 +-
 .../model/BACnetConstructedDataErrorLimit.go       |    72 +-
 .../model/BACnetConstructedDataEscalatorAll.go     |    37 +-
 .../BACnetConstructedDataEscalatorFaultSignals.go  |    76 +-
 .../model/BACnetConstructedDataEscalatorMode.go    |    72 +-
 .../BACnetConstructedDataEventAlgorithmInhibit.go  |    72 +-
 ...ACnetConstructedDataEventAlgorithmInhibitRef.go |    70 +-
 .../BACnetConstructedDataEventDetectionEnable.go   |    72 +-
 .../model/BACnetConstructedDataEventEnable.go      |    72 +-
 .../BACnetConstructedDataEventEnrollmentAll.go     |    37 +-
 .../model/BACnetConstructedDataEventLogAll.go      |    37 +-
 .../BACnetConstructedDataEventLogLogBuffer.go      |    76 +-
 .../BACnetConstructedDataEventMessageTexts.go      |   156 +-
 ...BACnetConstructedDataEventMessageTextsConfig.go |   154 +-
 .../model/BACnetConstructedDataEventParameters.go  |    72 +-
 .../model/BACnetConstructedDataEventState.go       |    72 +-
 .../model/BACnetConstructedDataEventTimeStamps.go  |   156 +-
 .../model/BACnetConstructedDataEventType.go        |    72 +-
 .../BACnetConstructedDataExceptionSchedule.go      |   118 +-
 .../model/BACnetConstructedDataExecutionDelay.go   |   118 +-
 .../model/BACnetConstructedDataExitPoints.go       |    76 +-
 .../BACnetConstructedDataExpectedShedLevel.go      |    72 +-
 .../model/BACnetConstructedDataExpirationTime.go   |    72 +-
 .../BACnetConstructedDataExtendedTimeEnable.go     |    72 +-
 .../model/BACnetConstructedDataFDBBMDAddress.go    |    72 +-
 .../BACnetConstructedDataFDSubscriptionLifetime.go |    70 +-
 .../BACnetConstructedDataFailedAttemptEvents.go    |    76 +-
 .../model/BACnetConstructedDataFailedAttempts.go   |    72 +-
 .../BACnetConstructedDataFailedAttemptsTime.go     |    72 +-
 .../model/BACnetConstructedDataFaultHighLimit.go   |    72 +-
 .../model/BACnetConstructedDataFaultLowLimit.go    |    72 +-
 .../model/BACnetConstructedDataFaultParameters.go  |    72 +-
 .../model/BACnetConstructedDataFaultSignals.go     |    76 +-
 .../model/BACnetConstructedDataFaultType.go        |    72 +-
 .../model/BACnetConstructedDataFaultValues.go      |   118 +-
 .../model/BACnetConstructedDataFileAccessMethod.go |    72 +-
 .../model/BACnetConstructedDataFileAll.go          |    37 +-
 .../model/BACnetConstructedDataFileRecordCount.go  |    72 +-
 .../model/BACnetConstructedDataFileSize.go         |    72 +-
 .../model/BACnetConstructedDataFileType.go         |    72 +-
 .../model/BACnetConstructedDataFirmwareRevision.go |    72 +-
 .../model/BACnetConstructedDataFloorText.go        |   118 +-
 .../model/BACnetConstructedDataFullDutyBaseline.go |    72 +-
 .../model/BACnetConstructedDataGlobalGroupAll.go   |    37 +-
 ...BACnetConstructedDataGlobalGroupGroupMembers.go |   118 +-
 ...BACnetConstructedDataGlobalGroupPresentValue.go |   118 +-
 .../model/BACnetConstructedDataGlobalIdentifier.go |    72 +-
 .../model/BACnetConstructedDataGroupAll.go         |    37 +-
 .../model/BACnetConstructedDataGroupID.go          |    72 +-
 .../model/BACnetConstructedDataGroupMemberNames.go |   118 +-
 .../model/BACnetConstructedDataGroupMembers.go     |   118 +-
 .../model/BACnetConstructedDataGroupMode.go        |    72 +-
 .../BACnetConstructedDataGroupPresentValue.go      |    76 +-
 .../model/BACnetConstructedDataHighLimit.go        |    72 +-
 .../model/BACnetConstructedDataHigherDeck.go       |    72 +-
 .../model/BACnetConstructedDataIPAddress.go        |    72 +-
 .../model/BACnetConstructedDataIPDHCPEnable.go     |    72 +-
 .../model/BACnetConstructedDataIPDHCPLeaseTime.go  |    72 +-
 ...ACnetConstructedDataIPDHCPLeaseTimeRemaining.go |    70 +-
 .../model/BACnetConstructedDataIPDHCPServer.go     |    72 +-
 .../model/BACnetConstructedDataIPDNSServer.go      |   118 +-
 .../model/BACnetConstructedDataIPDefaultGateway.go |    72 +-
 .../model/BACnetConstructedDataIPSubnetMask.go     |    72 +-
 .../model/BACnetConstructedDataIPv6Address.go      |    72 +-
 ...ACnetConstructedDataIPv6AutoAddressingEnable.go |    72 +-
 .../BACnetConstructedDataIPv6DHCPLeaseTime.go      |    72 +-
 ...netConstructedDataIPv6DHCPLeaseTimeRemaining.go |    70 +-
 .../model/BACnetConstructedDataIPv6DHCPServer.go   |    72 +-
 .../model/BACnetConstructedDataIPv6DNSServer.go    |   118 +-
 .../BACnetConstructedDataIPv6DefaultGateway.go     |    72 +-
 .../model/BACnetConstructedDataIPv6PrefixLength.go |    72 +-
 .../model/BACnetConstructedDataIPv6ZoneIndex.go    |    72 +-
 .../model/BACnetConstructedDataInProcess.go        |    72 +-
 .../model/BACnetConstructedDataInProgress.go       |    72 +-
 .../model/BACnetConstructedDataInactiveText.go     |    72 +-
 .../model/BACnetConstructedDataInitialTimeout.go   |    72 +-
 .../model/BACnetConstructedDataInputReference.go   |    72 +-
 .../model/BACnetConstructedDataInstallationID.go   |    72 +-
 .../model/BACnetConstructedDataInstanceOf.go       |    72 +-
 .../BACnetConstructedDataInstantaneousPower.go     |    72 +-
 .../model/BACnetConstructedDataIntegerValueAll.go  |    37 +-
 ...ACnetConstructedDataIntegerValueCOVIncrement.go |    72 +-
 .../BACnetConstructedDataIntegerValueDeadband.go   |    72 +-
 ...netConstructedDataIntegerValueFaultHighLimit.go |    72 +-
 ...CnetConstructedDataIntegerValueFaultLowLimit.go |    72 +-
 .../BACnetConstructedDataIntegerValueHighLimit.go  |    72 +-
 .../BACnetConstructedDataIntegerValueLowLimit.go   |    72 +-
 ...ACnetConstructedDataIntegerValueMaxPresValue.go |    72 +-
 ...ACnetConstructedDataIntegerValueMinPresValue.go |    72 +-
 ...ACnetConstructedDataIntegerValuePresentValue.go |    72 +-
 ...ConstructedDataIntegerValueRelinquishDefault.go |    72 +-
 .../BACnetConstructedDataIntegerValueResolution.go |    72 +-
 .../model/BACnetConstructedDataIntegralConstant.go |    72 +-
 .../BACnetConstructedDataIntegralConstantUnits.go  |    72 +-
 .../model/BACnetConstructedDataIntervalOffset.go   |    72 +-
 .../readwrite/model/BACnetConstructedDataIsUTC.go  |    72 +-
 .../model/BACnetConstructedDataKeySets.go          |   120 +-
 .../BACnetConstructedDataLandingCallControl.go     |    72 +-
 .../model/BACnetConstructedDataLandingCalls.go     |    76 +-
 .../BACnetConstructedDataLandingDoorStatus.go      |   118 +-
 .../BACnetConstructedDataLargeAnalogValueAll.go    |    37 +-
 ...tConstructedDataLargeAnalogValueCOVIncrement.go |    72 +-
 ...ACnetConstructedDataLargeAnalogValueDeadband.go |    72 +-
 ...onstructedDataLargeAnalogValueFaultHighLimit.go |    72 +-
 ...ConstructedDataLargeAnalogValueFaultLowLimit.go |    72 +-
 ...CnetConstructedDataLargeAnalogValueHighLimit.go |    72 +-
 ...ACnetConstructedDataLargeAnalogValueLowLimit.go |    72 +-
 ...tConstructedDataLargeAnalogValueMaxPresValue.go |    72 +-
 ...tConstructedDataLargeAnalogValueMinPresValue.go |    72 +-
 ...tConstructedDataLargeAnalogValuePresentValue.go |    72 +-
 ...tructedDataLargeAnalogValueRelinquishDefault.go |    72 +-
 ...netConstructedDataLargeAnalogValueResolution.go |    72 +-
 .../model/BACnetConstructedDataLastAccessEvent.go  |    72 +-
 .../model/BACnetConstructedDataLastAccessPoint.go  |    72 +-
 .../model/BACnetConstructedDataLastCommandTime.go  |    72 +-
 .../BACnetConstructedDataLastCredentialAdded.go    |    72 +-
 ...BACnetConstructedDataLastCredentialAddedTime.go |    70 +-
 .../BACnetConstructedDataLastCredentialRemoved.go  |    72 +-
 ...CnetConstructedDataLastCredentialRemovedTime.go |    70 +-
 .../model/BACnetConstructedDataLastKeyServer.go    |    72 +-
 .../model/BACnetConstructedDataLastNotifyRecord.go |    72 +-
 .../model/BACnetConstructedDataLastPriority.go     |    72 +-
 .../BACnetConstructedDataLastRestartReason.go      |    72 +-
 .../model/BACnetConstructedDataLastRestoreTime.go  |    72 +-
 .../model/BACnetConstructedDataLastStateChange.go  |    72 +-
 .../model/BACnetConstructedDataLastUseTime.go      |    72 +-
 .../BACnetConstructedDataLifeSafetyAlarmValues.go  |    76 +-
 ...netConstructedDataLifeSafetyPointAlarmValues.go |    76 +-
 .../BACnetConstructedDataLifeSafetyPointAll.go     |    37 +-
 ...netConstructedDataLifeSafetyPointFaultValues.go |    76 +-
 ...etConstructedDataLifeSafetyPointPresentValue.go |    72 +-
 ...CnetConstructedDataLifeSafetyZoneAlarmValues.go |    76 +-
 .../BACnetConstructedDataLifeSafetyZoneAll.go      |    37 +-
 ...CnetConstructedDataLifeSafetyZoneFaultValues.go |    76 +-
 ...tructedDataLifeSafetyZoneMaintenanceRequired.go |    72 +-
 ...netConstructedDataLifeSafetyZonePresentValue.go |    72 +-
 .../model/BACnetConstructedDataLiftAll.go          |    37 +-
 .../model/BACnetConstructedDataLiftFaultSignals.go |    76 +-
 .../model/BACnetConstructedDataLightingCommand.go  |    72 +-
 ...onstructedDataLightingCommandDefaultPriority.go |    70 +-
 .../BACnetConstructedDataLightingOutputAll.go      |    37 +-
 ...etConstructedDataLightingOutputFeedbackValue.go |    72 +-
 ...netConstructedDataLightingOutputPresentValue.go |    72 +-
 ...nstructedDataLightingOutputRelinquishDefault.go |    72 +-
 ...etConstructedDataLightingOutputTrackingValue.go |    72 +-
 .../model/BACnetConstructedDataLimitEnable.go      |    72 +-
 ...BACnetConstructedDataLimitMonitoringInterval.go |    70 +-
 .../model/BACnetConstructedDataLinkSpeed.go        |    72 +-
 .../BACnetConstructedDataLinkSpeedAutonegotiate.go |    70 +-
 .../model/BACnetConstructedDataLinkSpeeds.go       |   118 +-
 .../BACnetConstructedDataListOfGroupMembers.go     |    76 +-
 ...onstructedDataListOfObjectPropertyReferences.go |    76 +-
 .../model/BACnetConstructedDataLoadControlAll.go   |    37 +-
 ...BACnetConstructedDataLoadControlPresentValue.go |    72 +-
 .../model/BACnetConstructedDataLocalDate.go        |    72 +-
 .../BACnetConstructedDataLocalForwardingOnly.go    |    72 +-
 .../model/BACnetConstructedDataLocalTime.go        |    72 +-
 .../model/BACnetConstructedDataLocation.go         |    72 +-
 .../model/BACnetConstructedDataLockStatus.go       |    72 +-
 .../model/BACnetConstructedDataLockout.go          |    72 +-
 .../BACnetConstructedDataLockoutRelinquishTime.go  |    72 +-
 .../model/BACnetConstructedDataLogBuffer.go        |   118 +-
 ...BACnetConstructedDataLogDeviceObjectProperty.go |    70 +-
 .../model/BACnetConstructedDataLogInterval.go      |    72 +-
 .../model/BACnetConstructedDataLoggingObject.go    |    72 +-
 .../model/BACnetConstructedDataLoggingRecord.go    |    72 +-
 .../model/BACnetConstructedDataLoggingType.go      |    72 +-
 .../model/BACnetConstructedDataLoopAction.go       |    72 +-
 .../model/BACnetConstructedDataLoopAll.go          |    37 +-
 .../model/BACnetConstructedDataLoopPresentValue.go |    72 +-
 .../model/BACnetConstructedDataLowDiffLimit.go     |    72 +-
 .../model/BACnetConstructedDataLowLimit.go         |    72 +-
 .../model/BACnetConstructedDataLowerDeck.go        |    72 +-
 .../model/BACnetConstructedDataMACAddress.go       |    72 +-
 .../model/BACnetConstructedDataMachineRoomID.go    |    72 +-
 .../BACnetConstructedDataMaintenanceRequired.go    |    72 +-
 .../model/BACnetConstructedDataMakingCarCall.go    |   118 +-
 ...tConstructedDataManipulatedVariableReference.go |    70 +-
 ...CnetConstructedDataManualSlaveAddressBinding.go |    74 +-
 .../BACnetConstructedDataMaskedAlarmValues.go      |    76 +-
 .../BACnetConstructedDataMaxAPDULengthAccepted.go  |    72 +-
 .../model/BACnetConstructedDataMaxActualValue.go   |    72 +-
 .../BACnetConstructedDataMaxFailedAttempts.go      |    72 +-
 .../model/BACnetConstructedDataMaxInfoFrames.go    |    72 +-
 .../model/BACnetConstructedDataMaxMaster.go        |    72 +-
 .../model/BACnetConstructedDataMaxPresValue.go     |    72 +-
 .../BACnetConstructedDataMaxSegmentsAccepted.go    |    72 +-
 .../model/BACnetConstructedDataMaximumOutput.go    |    72 +-
 .../model/BACnetConstructedDataMaximumValue.go     |    72 +-
 .../BACnetConstructedDataMaximumValueTimestamp.go  |    72 +-
 .../model/BACnetConstructedDataMemberOf.go         |    76 +-
 .../BACnetConstructedDataMemberStatusFlags.go      |    72 +-
 .../model/BACnetConstructedDataMembers.go          |    76 +-
 .../model/BACnetConstructedDataMinActualValue.go   |    72 +-
 .../model/BACnetConstructedDataMinPresValue.go     |    72 +-
 .../model/BACnetConstructedDataMinimumOffTime.go   |    72 +-
 .../model/BACnetConstructedDataMinimumOnTime.go    |    72 +-
 .../model/BACnetConstructedDataMinimumOutput.go    |    72 +-
 .../model/BACnetConstructedDataMinimumValue.go     |    72 +-
 .../BACnetConstructedDataMinimumValueTimestamp.go  |    72 +-
 .../readwrite/model/BACnetConstructedDataMode.go   |    72 +-
 .../model/BACnetConstructedDataModelName.go        |    72 +-
 .../model/BACnetConstructedDataModificationDate.go |    72 +-
 ...netConstructedDataMultiStateInputAlarmValues.go |    76 +-
 .../BACnetConstructedDataMultiStateInputAll.go     |    37 +-
 ...netConstructedDataMultiStateInputFaultValues.go |    76 +-
 ...ConstructedDataMultiStateInputInterfaceValue.go |    72 +-
 .../BACnetConstructedDataMultiStateOutputAll.go    |    37 +-
 ...ConstructedDataMultiStateOutputFeedbackValue.go |    72 +-
 ...onstructedDataMultiStateOutputInterfaceValue.go |    72 +-
 ...tructedDataMultiStateOutputRelinquishDefault.go |    72 +-
 ...netConstructedDataMultiStateValueAlarmValues.go |    76 +-
 .../BACnetConstructedDataMultiStateValueAll.go     |    37 +-
 ...netConstructedDataMultiStateValueFaultValues.go |    76 +-
 ...structedDataMultiStateValueRelinquishDefault.go |    72 +-
 .../model/BACnetConstructedDataMusterPoint.go      |    72 +-
 .../BACnetConstructedDataNegativeAccessRules.go    |   118 +-
 ...ConstructedDataNetworkAccessSecurityPolicies.go |   116 +-
 .../BACnetConstructedDataNetworkInterfaceName.go   |    72 +-
 .../model/BACnetConstructedDataNetworkNumber.go    |    72 +-
 .../BACnetConstructedDataNetworkNumberQuality.go   |    72 +-
 .../model/BACnetConstructedDataNetworkPortAll.go   |    37 +-
 ...ACnetConstructedDataNetworkPortMaxInfoFrames.go |    72 +-
 .../BACnetConstructedDataNetworkPortMaxMaster.go   |    72 +-
 .../BACnetConstructedDataNetworkSecurityAll.go     |    37 +-
 .../model/BACnetConstructedDataNetworkType.go      |    72 +-
 .../BACnetConstructedDataNextStoppingFloor.go      |    72 +-
 .../model/BACnetConstructedDataNodeSubtype.go      |    72 +-
 .../model/BACnetConstructedDataNodeType.go         |    72 +-
 .../BACnetConstructedDataNotificationClass.go      |    72 +-
 .../BACnetConstructedDataNotificationClassAll.go   |    37 +-
 ...ACnetConstructedDataNotificationForwarderAll.go |    37 +-
 .../BACnetConstructedDataNotificationThreshold.go  |    72 +-
 .../model/BACnetConstructedDataNotifyType.go       |    72 +-
 .../BACnetConstructedDataNumberOfAPDURetries.go    |    72 +-
 ...onstructedDataNumberOfAuthenticationPolicies.go |    70 +-
 .../model/BACnetConstructedDataNumberOfStates.go   |    72 +-
 .../model/BACnetConstructedDataObjectIdentifier.go |    72 +-
 .../model/BACnetConstructedDataObjectList.go       |   118 +-
 .../model/BACnetConstructedDataObjectName.go       |    72 +-
 ...BACnetConstructedDataObjectPropertyReference.go |    72 +-
 .../model/BACnetConstructedDataObjectType.go       |    72 +-
 .../model/BACnetConstructedDataOccupancyCount.go   |    72 +-
 .../BACnetConstructedDataOccupancyCountAdjust.go   |    72 +-
 .../BACnetConstructedDataOccupancyCountEnable.go   |    72 +-
 .../BACnetConstructedDataOccupancyLowerLimit.go    |    72 +-
 ...etConstructedDataOccupancyLowerLimitEnforced.go |    70 +-
 .../model/BACnetConstructedDataOccupancyState.go   |    72 +-
 .../BACnetConstructedDataOccupancyUpperLimit.go    |    72 +-
 ...etConstructedDataOccupancyUpperLimitEnforced.go |    70 +-
 ...tConstructedDataOctetStringValuePresentValue.go |    72 +-
 ...tructedDataOctetStringValueRelinquishDefault.go |    72 +-
 .../BACnetConstructedDataOctetstringValueAll.go    |    37 +-
 .../BACnetConstructedDataOperationDirection.go     |    72 +-
 .../BACnetConstructedDataOperationExpected.go      |    72 +-
 .../model/BACnetConstructedDataOptional.go         |    37 +-
 .../model/BACnetConstructedDataOutOfService.go     |    72 +-
 .../model/BACnetConstructedDataOutputUnits.go      |    72 +-
 .../BACnetConstructedDataPacketReorderTime.go      |    72 +-
 .../model/BACnetConstructedDataPassbackMode.go     |    72 +-
 .../model/BACnetConstructedDataPassbackTimeout.go  |    72 +-
 .../model/BACnetConstructedDataPassengerAlarm.go   |    72 +-
 .../model/BACnetConstructedDataPolarity.go         |    72 +-
 .../model/BACnetConstructedDataPortFilter.go       |   118 +-
 .../BACnetConstructedDataPositiveAccessRules.go    |   118 +-
 ...BACnetConstructedDataPositiveIntegerValueAll.go |    37 +-
 ...structedDataPositiveIntegerValueCOVIncrement.go |    72 +-
 ...tConstructedDataPositiveIntegerValueDeadband.go |    72 +-
 ...ructedDataPositiveIntegerValueFaultHighLimit.go |    72 +-
 ...tructedDataPositiveIntegerValueFaultLowLimit.go |    72 +-
 ...ConstructedDataPositiveIntegerValueHighLimit.go |    72 +-
 ...tConstructedDataPositiveIntegerValueLowLimit.go |    72 +-
 ...structedDataPositiveIntegerValueMaxPresValue.go |    72 +-
 ...structedDataPositiveIntegerValueMinPresValue.go |    72 +-
 ...tedDataPositiveIntegerValueRelinquishDefault.go |    72 +-
 ...onstructedDataPositiveIntegerValueResolution.go |    72 +-
 .../readwrite/model/BACnetConstructedDataPower.go  |    72 +-
 .../model/BACnetConstructedDataPowerMode.go        |    72 +-
 .../model/BACnetConstructedDataPrescale.go         |    72 +-
 .../model/BACnetConstructedDataPresentValue.go     |    72 +-
 .../model/BACnetConstructedDataPriority.go         |   120 +-
 .../model/BACnetConstructedDataPriorityArray.go    |    72 +-
 .../BACnetConstructedDataPriorityForWriting.go     |    72 +-
 .../BACnetConstructedDataProcessIdentifier.go      |    72 +-
 ...BACnetConstructedDataProcessIdentifierFilter.go |    70 +-
 .../model/BACnetConstructedDataProfileLocation.go  |    72 +-
 .../model/BACnetConstructedDataProfileName.go      |    72 +-
 .../model/BACnetConstructedDataProgramAll.go       |    37 +-
 .../model/BACnetConstructedDataProgramChange.go    |    72 +-
 .../model/BACnetConstructedDataProgramLocation.go  |    72 +-
 .../model/BACnetConstructedDataProgramState.go     |    72 +-
 .../model/BACnetConstructedDataPropertyList.go     |   118 +-
 .../BACnetConstructedDataProportionalConstant.go   |    72 +-
 ...CnetConstructedDataProportionalConstantUnits.go |    72 +-
 .../model/BACnetConstructedDataProtocolLevel.go    |    72 +-
 ...tConstructedDataProtocolObjectTypesSupported.go |    70 +-
 .../model/BACnetConstructedDataProtocolRevision.go |    72 +-
 ...CnetConstructedDataProtocolServicesSupported.go |    70 +-
 .../model/BACnetConstructedDataProtocolVersion.go  |    72 +-
 ...CnetConstructedDataPulseConverterAdjustValue.go |    72 +-
 .../BACnetConstructedDataPulseConverterAll.go      |    37 +-
 ...netConstructedDataPulseConverterPresentValue.go |    72 +-
 .../model/BACnetConstructedDataPulseRate.go        |    72 +-
 .../model/BACnetConstructedDataReadOnly.go         |    72 +-
 .../model/BACnetConstructedDataReasonForDisable.go |    76 +-
 .../model/BACnetConstructedDataReasonForHalt.go    |    72 +-
 .../model/BACnetConstructedDataRecipientList.go    |    76 +-
 .../model/BACnetConstructedDataRecordCount.go      |    72 +-
 ...ACnetConstructedDataRecordsSinceNotification.go |    70 +-
 .../model/BACnetConstructedDataReferencePort.go    |    72 +-
 .../BACnetConstructedDataRegisteredCarCall.go      |   118 +-
 .../model/BACnetConstructedDataReliability.go      |    72 +-
 ...tConstructedDataReliabilityEvaluationInhibit.go |    70 +-
 .../BACnetConstructedDataRelinquishDefault.go      |    72 +-
 .../model/BACnetConstructedDataRepresents.go       |    72 +-
 .../BACnetConstructedDataRequestedShedLevel.go     |    72 +-
 ...BACnetConstructedDataRequestedUpdateInterval.go |    70 +-
 .../model/BACnetConstructedDataRequired.go         |    37 +-
 .../model/BACnetConstructedDataResolution.go       |    72 +-
 ...ConstructedDataRestartNotificationRecipients.go |    74 +-
 .../BACnetConstructedDataRestoreCompletionTime.go  |    72 +-
 .../BACnetConstructedDataRestorePreparationTime.go |    70 +-
 .../model/BACnetConstructedDataRoutingTable.go     |    76 +-
 .../readwrite/model/BACnetConstructedDataScale.go  |    72 +-
 .../model/BACnetConstructedDataScaleFactor.go      |    72 +-
 .../model/BACnetConstructedDataScheduleAll.go      |    37 +-
 .../model/BACnetConstructedDataScheduleDefault.go  |    72 +-
 .../BACnetConstructedDataSchedulePresentValue.go   |    72 +-
 .../model/BACnetConstructedDataSecuredStatus.go    |    72 +-
 .../BACnetConstructedDataSecurityPDUTimeout.go     |    72 +-
 .../BACnetConstructedDataSecurityTimeWindow.go     |    72 +-
 .../BACnetConstructedDataSegmentationSupported.go  |    72 +-
 .../model/BACnetConstructedDataSerialNumber.go     |    72 +-
 .../model/BACnetConstructedDataSetpoint.go         |    72 +-
 .../BACnetConstructedDataSetpointReference.go      |    72 +-
 .../model/BACnetConstructedDataSetting.go          |    72 +-
 .../model/BACnetConstructedDataShedDuration.go     |    72 +-
 .../BACnetConstructedDataShedLevelDescriptions.go  |   118 +-
 .../model/BACnetConstructedDataShedLevels.go       |   118 +-
 .../model/BACnetConstructedDataSilenced.go         |    72 +-
 .../BACnetConstructedDataSlaveAddressBinding.go    |    76 +-
 .../model/BACnetConstructedDataSlaveProxyEnable.go |    72 +-
 .../model/BACnetConstructedDataStartTime.go        |    72 +-
 .../BACnetConstructedDataStateChangeValues.go      |   120 +-
 .../model/BACnetConstructedDataStateDescription.go |    72 +-
 .../model/BACnetConstructedDataStateText.go        |   118 +-
 .../model/BACnetConstructedDataStatusFlags.go      |    72 +-
 .../model/BACnetConstructedDataStopTime.go         |    72 +-
 .../model/BACnetConstructedDataStopWhenFull.go     |    72 +-
 .../model/BACnetConstructedDataStrikeCount.go      |    72 +-
 .../BACnetConstructedDataStructuredObjectList.go   |   116 +-
 .../BACnetConstructedDataStructuredViewAll.go      |    37 +-
 .../BACnetConstructedDataSubordinateAnnotations.go |   116 +-
 .../model/BACnetConstructedDataSubordinateList.go  |   118 +-
 .../BACnetConstructedDataSubordinateNodeTypes.go   |   116 +-
 ...ACnetConstructedDataSubordinateRelationships.go |   116 +-
 .../model/BACnetConstructedDataSubordinateTags.go  |   118 +-
 .../BACnetConstructedDataSubscribedRecipients.go   |    76 +-
 .../BACnetConstructedDataSupportedFormatClasses.go |   118 +-
 .../model/BACnetConstructedDataSupportedFormats.go |   118 +-
 ...etConstructedDataSupportedSecurityAlgorithms.go |    74 +-
 .../model/BACnetConstructedDataSystemStatus.go     |    72 +-
 .../readwrite/model/BACnetConstructedDataTags.go   |   118 +-
 .../model/BACnetConstructedDataThreatAuthority.go  |    72 +-
 .../model/BACnetConstructedDataThreatLevel.go      |    72 +-
 .../model/BACnetConstructedDataTimeDelay.go        |    72 +-
 .../model/BACnetConstructedDataTimeDelayNormal.go  |    72 +-
 .../BACnetConstructedDataTimeOfActiveTimeReset.go  |    72 +-
 .../BACnetConstructedDataTimeOfDeviceRestart.go    |    72 +-
 .../BACnetConstructedDataTimeOfStateCountReset.go  |    72 +-
 .../BACnetConstructedDataTimeOfStrikeCountReset.go |    70 +-
 ...tConstructedDataTimePatternValuePresentValue.go |    72 +-
 ...tructedDataTimePatternValueRelinquishDefault.go |    72 +-
 ...etConstructedDataTimeSynchronizationInterval.go |    72 +-
 ...ConstructedDataTimeSynchronizationRecipients.go |    74 +-
 .../model/BACnetConstructedDataTimeValueAll.go     |    37 +-
 .../BACnetConstructedDataTimeValuePresentValue.go  |    72 +-
 ...netConstructedDataTimeValueRelinquishDefault.go |    72 +-
 .../BACnetConstructedDataTimepatternValueAll.go    |    37 +-
 .../model/BACnetConstructedDataTimerAlarmValues.go |    76 +-
 .../model/BACnetConstructedDataTimerAll.go         |    37 +-
 .../BACnetConstructedDataTimerMaxPresValue.go      |    72 +-
 .../BACnetConstructedDataTimerMinPresValue.go      |    72 +-
 .../model/BACnetConstructedDataTimerResolution.go  |    72 +-
 .../model/BACnetConstructedDataTimerRunning.go     |    72 +-
 .../model/BACnetConstructedDataTimerState.go       |    72 +-
 .../model/BACnetConstructedDataTotalRecordCount.go |    72 +-
 .../model/BACnetConstructedDataTraceFlag.go        |    72 +-
 .../model/BACnetConstructedDataTrackingValue.go    |    72 +-
 ...tConstructedDataTransactionNotificationClass.go |    70 +-
 .../model/BACnetConstructedDataTransition.go       |    72 +-
 .../model/BACnetConstructedDataTrendLogAll.go      |    37 +-
 .../BACnetConstructedDataTrendLogLogBuffer.go      |    76 +-
 ...nstructedDataTrendLogLogDeviceObjectProperty.go |    70 +-
 .../BACnetConstructedDataTrendLogMultipleAll.go    |    37 +-
 ...CnetConstructedDataTrendLogMultipleLogBuffer.go |    76 +-
 ...dDataTrendLogMultipleLogDeviceObjectProperty.go |   118 +-
 .../model/BACnetConstructedDataTrigger.go          |    72 +-
 .../model/BACnetConstructedDataUTCOffset.go        |    72 +-
 ...structedDataUTCTimeSynchronizationRecipients.go |    74 +-
 .../readwrite/model/BACnetConstructedDataUnits.go  |    72 +-
 .../model/BACnetConstructedDataUnspecified.go      |   118 +-
 .../model/BACnetConstructedDataUpdateInterval.go   |    72 +-
 .../BACnetConstructedDataUpdateKeySetTimeout.go    |    72 +-
 .../model/BACnetConstructedDataUpdateTime.go       |    72 +-
 .../BACnetConstructedDataUserExternalIdentifier.go |    70 +-
 ...ACnetConstructedDataUserInformationReference.go |    70 +-
 .../model/BACnetConstructedDataUserName.go         |    72 +-
 .../model/BACnetConstructedDataUserType.go         |    72 +-
 .../model/BACnetConstructedDataUsesRemaining.go    |    72 +-
 .../BACnetConstructedDataVTClassesSupported.go     |    76 +-
 .../model/BACnetConstructedDataValidSamples.go     |    72 +-
 .../BACnetConstructedDataValueBeforeChange.go      |    72 +-
 .../model/BACnetConstructedDataValueChangeTime.go  |    72 +-
 .../model/BACnetConstructedDataValueSet.go         |    72 +-
 .../model/BACnetConstructedDataValueSource.go      |    72 +-
 .../model/BACnetConstructedDataValueSourceArray.go |   120 +-
 .../model/BACnetConstructedDataVarianceValue.go    |    72 +-
 .../model/BACnetConstructedDataVendorIdentifier.go |    72 +-
 .../model/BACnetConstructedDataVendorName.go       |    72 +-
 .../model/BACnetConstructedDataVerificationTime.go |    72 +-
 .../BACnetConstructedDataVirtualMACAddressTable.go |    74 +-
 .../model/BACnetConstructedDataWeeklySchedule.go   |   120 +-
 .../model/BACnetConstructedDataWindowInterval.go   |    72 +-
 .../model/BACnetConstructedDataWindowSamples.go    |    72 +-
 .../model/BACnetConstructedDataWriteStatus.go      |    72 +-
 .../model/BACnetConstructedDataZoneFrom.go         |    72 +-
 .../model/BACnetConstructedDataZoneMembers.go      |    76 +-
 .../readwrite/model/BACnetConstructedDataZoneTo.go |    72 +-
 .../bacnetip/readwrite/model/BACnetContextTag.go   |    65 +-
 .../readwrite/model/BACnetContextTagBitString.go   |    57 +-
 .../readwrite/model/BACnetContextTagBoolean.go     |    89 +-
 .../model/BACnetContextTagCharacterString.go       |    65 +-
 .../readwrite/model/BACnetContextTagDate.go        |    57 +-
 .../readwrite/model/BACnetContextTagDouble.go      |    65 +-
 .../readwrite/model/BACnetContextTagEnumerated.go  |    65 +-
 .../readwrite/model/BACnetContextTagNull.go        |    30 +-
 .../model/BACnetContextTagObjectIdentifier.go      |    73 +-
 .../readwrite/model/BACnetContextTagOctetString.go |    57 +-
 .../readwrite/model/BACnetContextTagReal.go        |    65 +-
 .../model/BACnetContextTagSignedInteger.go         |    65 +-
 .../readwrite/model/BACnetContextTagTime.go        |    57 +-
 .../readwrite/model/BACnetContextTagUnknown.go     |    44 +-
 .../model/BACnetContextTagUnsignedInteger.go       |    65 +-
 .../model/BACnetCredentialAuthenticationFactor.go  |    33 +-
 .../readwrite/model/BACnetDailySchedule.go         |    43 +-
 .../bacnetip/readwrite/model/BACnetDataType.go     |    91 +-
 .../bacnetip/readwrite/model/BACnetDateRange.go    |    33 +-
 .../readwrite/model/BACnetDateRangeEnclosed.go     |    42 +-
 .../bacnetip/readwrite/model/BACnetDateTime.go     |    33 +-
 .../readwrite/model/BACnetDateTimeEnclosed.go      |    42 +-
 .../bacnetip/readwrite/model/BACnetDaysOfWeek.go   |    49 +-
 .../readwrite/model/BACnetDaysOfWeekTagged.go      |    72 +-
 .../bacnetip/readwrite/model/BACnetDestination.go  |    63 +-
 .../model/BACnetDeviceObjectPropertyReference.go   |    49 +-
 .../BACnetDeviceObjectPropertyReferenceEnclosed.go |    42 +-
 .../readwrite/model/BACnetDeviceObjectReference.go |    35 +-
 .../model/BACnetDeviceObjectReferenceEnclosed.go   |    42 +-
 .../bacnetip/readwrite/model/BACnetDeviceStatus.go |    51 +-
 .../readwrite/model/BACnetDeviceStatusTagged.go    |    54 +-
 .../readwrite/model/BACnetDoorAlarmState.go        |    69 +-
 .../readwrite/model/BACnetDoorAlarmStateTagged.go  |    54 +-
 .../readwrite/model/BACnetDoorSecuredStatus.go     |    25 +-
 .../model/BACnetDoorSecuredStatusTagged.go         |    44 +-
 .../bacnetip/readwrite/model/BACnetDoorStatus.go   |    75 +-
 .../readwrite/model/BACnetDoorStatusTagged.go      |    54 +-
 .../bacnetip/readwrite/model/BACnetDoorValue.go    |    31 +-
 .../readwrite/model/BACnetDoorValueTagged.go       |    44 +-
 .../readwrite/model/BACnetEngineeringUnits.go      |  1519 +-
 .../model/BACnetEngineeringUnitsTagged.go          |    54 +-
 .../bacnetip/readwrite/model/BACnetError.go        |    41 +-
 .../bacnetip/readwrite/model/BACnetErrorGeneral.go |    61 +-
 .../readwrite/model/BACnetEscalatorFault.go        |    65 +-
 .../readwrite/model/BACnetEscalatorFaultTagged.go  |    54 +-
 .../readwrite/model/BACnetEscalatorMode.go         |    51 +-
 .../readwrite/model/BACnetEscalatorModeTagged.go   |    54 +-
 .../model/BACnetEscalatorOperationDirection.go     |    51 +-
 .../BACnetEscalatorOperationDirectionTagged.go     |    54 +-
 .../readwrite/model/BACnetEventLogRecord.go        |    33 +-
 .../model/BACnetEventLogRecordLogDatum.go          |    57 +-
 .../model/BACnetEventLogRecordLogDatumLogStatus.go |    52 +-
 .../BACnetEventLogRecordLogDatumNotification.go    |   110 +-
 .../BACnetEventLogRecordLogDatumTimeChange.go      |    52 +-
 .../model/BACnetEventNotificationSubscription.go   |    47 +-
 .../readwrite/model/BACnetEventParameter.go        |   118 +-
 .../model/BACnetEventParameterAccessEvent.go       |   143 +-
 ...tEventParameterAccessEventListOfAccessEvents.go |    46 +-
 .../model/BACnetEventParameterBufferReady.go       |   143 +-
 .../model/BACnetEventParameterChangeOfBitstring.go |   173 +-
 ...ameterChangeOfBitstringListOfBitstringValues.go |    46 +-
 .../BACnetEventParameterChangeOfCharacterString.go |   147 +-
 ...eterChangeOfCharacterStringListOfAlarmValues.go |    46 +-
 .../BACnetEventParameterChangeOfDiscreteValue.go   |   117 +-
 .../BACnetEventParameterChangeOfLifeSavety.go      |   203 +-
 ...ParameterChangeOfLifeSavetyListOfAlarmValues.go |    46 +-
 ...hangeOfLifeSavetyListOfLifeSavetyAlarmValues.go |    46 +-
 .../model/BACnetEventParameterChangeOfState.go     |   147 +-
 ...ACnetEventParameterChangeOfStateListOfValues.go |    46 +-
 .../BACnetEventParameterChangeOfStatusFlags.go     |   147 +-
 .../model/BACnetEventParameterChangeOfTimer.go     |   177 +-
 .../BACnetEventParameterChangeOfTimerAlarmValue.go |    46 +-
 .../model/BACnetEventParameterChangeOfValue.go     |   147 +-
 ...BACnetEventParameterChangeOfValueCivCriteria.go |    55 +-
 ...ventParameterChangeOfValueCivCriteriaBitmask.go |    50 +-
 ...fValueCivCriteriaReferencedPropertyIncrement.go |    52 +-
 .../model/BACnetEventParameterCommandFailure.go    |   143 +-
 .../model/BACnetEventParameterDoubleOutOfRange.go  |   207 +-
 .../model/BACnetEventParameterExtended.go          |   177 +-
 .../BACnetEventParameterExtendedParameters.go      |   138 +-
 .../model/BACnetEventParameterFloatingLimit.go     |   237 +-
 .../readwrite/model/BACnetEventParameterNone.go    |    57 +-
 .../model/BACnetEventParameterOutOfRange.go        |   207 +-
 .../model/BACnetEventParameterSignedOutOfRange.go  |   207 +-
 .../BACnetEventParameterUnsignedOutOfRange.go      |   207 +-
 .../model/BACnetEventParameterUnsignedRange.go     |   177 +-
 .../readwrite/model/BACnetEventPriorities.go       |    54 +-
 .../bacnetip/readwrite/model/BACnetEventState.go   |    49 +-
 .../readwrite/model/BACnetEventStateTagged.go      |    54 +-
 .../readwrite/model/BACnetEventSummariesList.go    |    46 +-
 .../bacnetip/readwrite/model/BACnetEventSummary.go |    63 +-
 .../readwrite/model/BACnetEventTimestamps.go       |    39 +-
 .../model/BACnetEventTimestampsEnclosed.go         |    42 +-
 .../readwrite/model/BACnetEventTransitionBits.go   |    25 +-
 .../model/BACnetEventTransitionBitsTagged.go       |    56 +-
 .../bacnetip/readwrite/model/BACnetEventType.go    |   133 +-
 .../readwrite/model/BACnetEventTypeTagged.go       |    54 +-
 .../readwrite/model/BACnetFaultParameter.go        |    74 +-
 .../BACnetFaultParameterFaultCharacterString.go    |   117 +-
 ...rameterFaultCharacterStringListOfFaultValues.go |    46 +-
 .../model/BACnetFaultParameterFaultExtended.go     |   177 +-
 .../BACnetFaultParameterFaultExtendedParameters.go |    46 +-
 ...etFaultParameterFaultExtendedParametersEntry.go |   100 +-
 ...rameterFaultExtendedParametersEntryBitString.go |    53 +-
 ...ParameterFaultExtendedParametersEntryBoolean.go |    53 +-
 ...rFaultExtendedParametersEntryCharacterString.go |    57 +-
 ...ultParameterFaultExtendedParametersEntryDate.go |    53 +-
 ...tParameterFaultExtendedParametersEntryDouble.go |    53 +-
 ...ameterFaultExtendedParametersEntryEnumerated.go |    53 +-
 ...ParameterFaultExtendedParametersEntryInteger.go |    53 +-
 ...ultParameterFaultExtendedParametersEntryNull.go |    53 +-
 ...FaultExtendedParametersEntryObjectidentifier.go |    57 +-
 ...meterFaultExtendedParametersEntryOctetString.go |    53 +-
 ...ultParameterFaultExtendedParametersEntryReal.go |    53 +-
 ...rameterFaultExtendedParametersEntryReference.go |    53 +-
 ...ultParameterFaultExtendedParametersEntryTime.go |    53 +-
 ...arameterFaultExtendedParametersEntryUnsigned.go |    53 +-
 .../model/BACnetFaultParameterFaultLifeSafety.go   |   143 +-
 ...ultParameterFaultLifeSafetyListOfFaultValues.go |    46 +-
 .../model/BACnetFaultParameterFaultListed.go       |   117 +-
 .../model/BACnetFaultParameterFaultOutOfRange.go   |   147 +-
 ...tFaultParameterFaultOutOfRangeMaxNormalValue.go |    61 +-
 ...ParameterFaultOutOfRangeMaxNormalValueDouble.go |    50 +-
 ...arameterFaultOutOfRangeMaxNormalValueInteger.go |    50 +-
 ...ltParameterFaultOutOfRangeMaxNormalValueReal.go |    50 +-
 ...rameterFaultOutOfRangeMaxNormalValueUnsigned.go |    50 +-
 ...tFaultParameterFaultOutOfRangeMinNormalValue.go |    61 +-
 ...ParameterFaultOutOfRangeMinNormalValueDouble.go |    50 +-
 ...arameterFaultOutOfRangeMinNormalValueInteger.go |    50 +-
 ...ltParameterFaultOutOfRangeMinNormalValueReal.go |    50 +-
 ...rameterFaultOutOfRangeMinNormalValueUnsigned.go |    50 +-
 .../model/BACnetFaultParameterFaultState.go        |   117 +-
 ...netFaultParameterFaultStateListOfFaultValues.go |    46 +-
 .../model/BACnetFaultParameterFaultStatusFlags.go  |   117 +-
 .../readwrite/model/BACnetFaultParameterNone.go    |    57 +-
 .../bacnetip/readwrite/model/BACnetFaultType.go    |    55 +-
 .../readwrite/model/BACnetFaultTypeTagged.go       |    44 +-
 .../readwrite/model/BACnetFileAccessMethod.go      |    17 +-
 .../model/BACnetFileAccessMethodTagged.go          |    44 +-
 .../readwrite/model/BACnetGroupChannelValue.go     |    41 +-
 .../readwrite/model/BACnetGroupChannelValueList.go |    46 +-
 .../bacnetip/readwrite/model/BACnetHostAddress.go  |    54 +-
 .../readwrite/model/BACnetHostAddressEnclosed.go   |    42 +-
 .../readwrite/model/BACnetHostAddressIpAddress.go  |    57 +-
 .../readwrite/model/BACnetHostAddressName.go       |    57 +-
 .../readwrite/model/BACnetHostAddressNull.go       |    57 +-
 .../bacnetip/readwrite/model/BACnetHostNPort.go    |    33 +-
 .../readwrite/model/BACnetHostNPortEnclosed.go     |    42 +-
 .../bacnetip/readwrite/model/BACnetIPMode.go       |    25 +-
 .../bacnetip/readwrite/model/BACnetIPModeTagged.go |    44 +-
 .../readwrite/model/BACnetKeyIdentifier.go         |    33 +-
 .../readwrite/model/BACnetLandingCallStatus.go     |    41 +-
 .../model/BACnetLandingCallStatusCommand.go        |    50 +-
 .../BACnetLandingCallStatusCommandDestination.go   |    57 +-
 .../BACnetLandingCallStatusCommandDirection.go     |    57 +-
 .../readwrite/model/BACnetLandingDoorStatus.go     |    27 +-
 .../BACnetLandingDoorStatusLandingDoorsList.go     |    46 +-
 ...BACnetLandingDoorStatusLandingDoorsListEntry.go |    33 +-
 .../readwrite/model/BACnetLifeSafetyMode.go        |   103 +-
 .../readwrite/model/BACnetLifeSafetyModeTagged.go  |    54 +-
 .../readwrite/model/BACnetLifeSafetyOperation.go   |    75 +-
 .../model/BACnetLifeSafetyOperationTagged.go       |    54 +-
 .../readwrite/model/BACnetLifeSafetyState.go       |   159 +-
 .../readwrite/model/BACnetLifeSafetyStateTagged.go |    54 +-
 .../readwrite/model/BACnetLiftCarCallList.go       |    27 +-
 .../model/BACnetLiftCarCallListFloorList.go        |    46 +-
 .../readwrite/model/BACnetLiftCarDirection.go      |    51 +-
 .../model/BACnetLiftCarDirectionTagged.go          |    54 +-
 .../readwrite/model/BACnetLiftCarDoorCommand.go    |    25 +-
 .../model/BACnetLiftCarDoorCommandTagged.go        |    44 +-
 .../readwrite/model/BACnetLiftCarDriveStatus.go    |    75 +-
 .../model/BACnetLiftCarDriveStatusTagged.go        |    54 +-
 .../bacnetip/readwrite/model/BACnetLiftCarMode.go  |    99 +-
 .../readwrite/model/BACnetLiftCarModeTagged.go     |    54 +-
 .../bacnetip/readwrite/model/BACnetLiftFault.go    |   115 +-
 .../readwrite/model/BACnetLiftFaultTagged.go       |    54 +-
 .../readwrite/model/BACnetLiftGroupMode.go         |    49 +-
 .../readwrite/model/BACnetLiftGroupModeTagged.go   |    44 +-
 .../readwrite/model/BACnetLightingCommand.go       |    67 +-
 .../model/BACnetLightingCommandEnclosed.go         |    42 +-
 .../readwrite/model/BACnetLightingInProgress.go    |    37 +-
 .../model/BACnetLightingInProgressTagged.go        |    44 +-
 .../readwrite/model/BACnetLightingOperation.go     |    81 +-
 .../model/BACnetLightingOperationTagged.go         |    54 +-
 .../readwrite/model/BACnetLightingTransition.go    |    33 +-
 .../model/BACnetLightingTransitionTagged.go        |    54 +-
 .../bacnetip/readwrite/model/BACnetLimitEnable.go  |    19 +-
 .../readwrite/model/BACnetLimitEnableTagged.go     |    52 +-
 .../bacnetip/readwrite/model/BACnetLockStatus.go   |    37 +-
 .../readwrite/model/BACnetLockStatusTagged.go      |    44 +-
 .../bacnetip/readwrite/model/BACnetLogData.go      |    57 +-
 .../readwrite/model/BACnetLogDataLogData.go        |   118 +-
 .../readwrite/model/BACnetLogDataLogDataEntry.go   |    78 +-
 .../model/BACnetLogDataLogDataEntryAnyValue.go     |    65 +-
 .../BACnetLogDataLogDataEntryBitStringValue.go     |    57 +-
 .../model/BACnetLogDataLogDataEntryBooleanValue.go |    57 +-
 .../BACnetLogDataLogDataEntryEnumeratedValue.go    |    57 +-
 .../model/BACnetLogDataLogDataEntryFailure.go      |    57 +-
 .../model/BACnetLogDataLogDataEntryIntegerValue.go |    57 +-
 .../model/BACnetLogDataLogDataEntryNullValue.go    |    57 +-
 .../model/BACnetLogDataLogDataEntryRealValue.go    |    57 +-
 .../BACnetLogDataLogDataEntryUnsignedValue.go      |    57 +-
 .../model/BACnetLogDataLogDataTimeChange.go        |    52 +-
 .../readwrite/model/BACnetLogDataLogStatus.go      |    52 +-
 .../readwrite/model/BACnetLogMultipleRecord.go     |    33 +-
 .../bacnetip/readwrite/model/BACnetLogRecord.go    |    41 +-
 .../readwrite/model/BACnetLogRecordLogDatum.go     |    73 +-
 .../model/BACnetLogRecordLogDatumAnyValue.go       |    60 +-
 .../model/BACnetLogRecordLogDatumBitStringValue.go |    52 +-
 .../model/BACnetLogRecordLogDatumBooleanValue.go   |    52 +-
 .../BACnetLogRecordLogDatumEnumeratedValue.go      |    52 +-
 .../model/BACnetLogRecordLogDatumFailure.go        |    52 +-
 .../model/BACnetLogRecordLogDatumIntegerValue.go   |    52 +-
 .../model/BACnetLogRecordLogDatumLogStatus.go      |    52 +-
 .../model/BACnetLogRecordLogDatumNullValue.go      |    52 +-
 .../model/BACnetLogRecordLogDatumRealValue.go      |    52 +-
 .../model/BACnetLogRecordLogDatumTimeChange.go     |    52 +-
 .../model/BACnetLogRecordLogDatumUnsignedValue.go  |    52 +-
 .../bacnetip/readwrite/model/BACnetLogStatus.go    |    25 +-
 .../readwrite/model/BACnetLogStatusTagged.go       |    56 +-
 .../bacnetip/readwrite/model/BACnetLoggingType.go  |    33 +-
 .../readwrite/model/BACnetLoggingTypeTagged.go     |    54 +-
 .../bacnetip/readwrite/model/BACnetMaintenance.go  |    35 +-
 .../readwrite/model/BACnetMaintenanceTagged.go     |    54 +-
 .../bacnetip/readwrite/model/BACnetNameValue.go    |    35 +-
 .../readwrite/model/BACnetNameValueCollection.go   |    46 +-
 .../readwrite/model/BACnetNetworkNumberQuality.go  |    31 +-
 .../model/BACnetNetworkNumberQualityTagged.go      |    44 +-
 .../readwrite/model/BACnetNetworkPortCommand.go    |    63 +-
 .../model/BACnetNetworkPortCommandTagged.go        |    54 +-
 .../readwrite/model/BACnetNetworkSecurityPolicy.go |    33 +-
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |    81 +-
 .../readwrite/model/BACnetNetworkTypeTagged.go     |    54 +-
 .../bacnetip/readwrite/model/BACnetNodeType.go     |   139 +-
 .../readwrite/model/BACnetNodeTypeTagged.go        |    44 +-
 .../model/BACnetNotificationParameters.go          |    93 +-
 .../BACnetNotificationParametersAccessEvent.go     |   270 +-
 .../BACnetNotificationParametersBufferReady.go     |   174 +-
 ...ACnetNotificationParametersChangeOfBitString.go |   144 +-
 ...otificationParametersChangeOfCharacterString.go |   172 +-
 ...tNotificationParametersChangeOfDiscreteValue.go |   142 +-
 ...ationParametersChangeOfDiscreteValueNewValue.go |    73 +-
 ...rametersChangeOfDiscreteValueNewValueBoolean.go |    50 +-
 ...ChangeOfDiscreteValueNewValueCharacterString.go |    50 +-
 ...ametersChangeOfDiscreteValueNewValueDatetime.go |    50 +-
 ...etersChangeOfDiscreteValueNewValueEnumerated.go |    50 +-
 ...rametersChangeOfDiscreteValueNewValueInteger.go |    50 +-
 ...hangeOfDiscreteValueNewValueObjectidentifier.go |    50 +-
 ...metersChangeOfDiscreteValueNewValueOctetDate.go |    50 +-
 ...tersChangeOfDiscreteValueNewValueOctetString.go |    50 +-
 ...metersChangeOfDiscreteValueNewValueOctetTime.go |    50 +-
 ...ametersChangeOfDiscreteValueNewValueUnsigned.go |    50 +-
 ...CnetNotificationParametersChangeOfLifeSafety.go |   204 +-
 ...netNotificationParametersChangeOfReliability.go |   172 +-
 .../BACnetNotificationParametersChangeOfState.go   |   142 +-
 ...netNotificationParametersChangeOfStatusFlags.go |   140 +-
 .../BACnetNotificationParametersChangeOfTimer.go   |   276 +-
 .../BACnetNotificationParametersChangeOfValue.go   |   142 +-
 ...tNotificationParametersChangeOfValueNewValue.go |    55 +-
 ...onParametersChangeOfValueNewValueChangedBits.go |    50 +-
 ...nParametersChangeOfValueNewValueChangedValue.go |    50 +-
 .../BACnetNotificationParametersCommandFailure.go  |   172 +-
 ...BACnetNotificationParametersComplexEventType.go |    54 +-
 ...BACnetNotificationParametersDoubleOutOfRange.go |   202 +-
 .../model/BACnetNotificationParametersExtended.go  |   174 +-
 ...CnetNotificationParametersExtendedParameters.go |   138 +-
 .../BACnetNotificationParametersFloatingLimit.go   |   202 +-
 .../BACnetNotificationParametersOutOfRange.go      |   202 +-
 ...BACnetNotificationParametersSignedOutOfRange.go |   202 +-
 ...CnetNotificationParametersUnsignedOutOfRange.go |   202 +-
 .../BACnetNotificationParametersUnsignedRange.go   |   172 +-
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |    25 +-
 .../readwrite/model/BACnetNotifyTypeTagged.go      |    44 +-
 .../model/BACnetObjectPropertyReference.go         |    41 +-
 .../model/BACnetObjectPropertyReferenceEnclosed.go |    42 +-
 .../bacnetip/readwrite/model/BACnetObjectType.go   |   373 +-
 .../readwrite/model/BACnetObjectTypeTagged.go      |    54 +-
 .../readwrite/model/BACnetObjectTypesSupported.go  |   363 +-
 .../model/BACnetObjectTypesSupportedTagged.go      |    84 +-
 .../bacnetip/readwrite/model/BACnetOpeningTag.go   |    36 +-
 .../readwrite/model/BACnetOptionalBinaryPV.go      |    50 +-
 .../readwrite/model/BACnetOptionalBinaryPVNull.go  |    57 +-
 .../readwrite/model/BACnetOptionalBinaryPVValue.go |    57 +-
 .../model/BACnetOptionalCharacterString.go         |    50 +-
 .../model/BACnetOptionalCharacterStringNull.go     |    57 +-
 .../model/BACnetOptionalCharacterStringValue.go    |    57 +-
 .../bacnetip/readwrite/model/BACnetOptionalREAL.go |    50 +-
 .../readwrite/model/BACnetOptionalREALNull.go      |    57 +-
 .../readwrite/model/BACnetOptionalREALValue.go     |    57 +-
 .../readwrite/model/BACnetOptionalUnsigned.go      |    50 +-
 .../readwrite/model/BACnetOptionalUnsignedNull.go  |    57 +-
 .../readwrite/model/BACnetOptionalUnsignedValue.go |    57 +-
 .../bacnetip/readwrite/model/BACnetPolarity.go     |    19 +-
 .../readwrite/model/BACnetPolarityTagged.go        |    44 +-
 .../readwrite/model/BACnetPortPermission.go        |    35 +-
 .../bacnetip/readwrite/model/BACnetPrescale.go     |    33 +-
 .../readwrite/model/BACnetPriorityArray.go         |   116 +-
 .../readwrite/model/BACnetPriorityValue.go         |    75 +-
 .../model/BACnetPriorityValueBitString.go          |    52 +-
 .../readwrite/model/BACnetPriorityValueBoolean.go  |    52 +-
 .../model/BACnetPriorityValueCharacterString.go    |    50 +-
 .../model/BACnetPriorityValueConstructedValue.go   |    52 +-
 .../readwrite/model/BACnetPriorityValueDate.go     |    52 +-
 .../readwrite/model/BACnetPriorityValueDateTime.go |    52 +-
 .../readwrite/model/BACnetPriorityValueDouble.go   |    52 +-
 .../model/BACnetPriorityValueEnumerated.go         |    52 +-
 .../readwrite/model/BACnetPriorityValueInteger.go  |    52 +-
 .../readwrite/model/BACnetPriorityValueNull.go     |    52 +-
 .../model/BACnetPriorityValueObjectidentifier.go   |    50 +-
 .../model/BACnetPriorityValueOctetString.go        |    52 +-
 .../readwrite/model/BACnetPriorityValueReal.go     |    52 +-
 .../readwrite/model/BACnetPriorityValueTime.go     |    52 +-
 .../readwrite/model/BACnetPriorityValueUnsigned.go |    52 +-
 .../readwrite/model/BACnetProcessIdSelection.go    |    50 +-
 .../model/BACnetProcessIdSelectionNull.go          |    57 +-
 .../model/BACnetProcessIdSelectionValue.go         |    57 +-
 .../bacnetip/readwrite/model/BACnetProgramError.go |    45 +-
 .../readwrite/model/BACnetProgramErrorTagged.go    |    54 +-
 .../readwrite/model/BACnetProgramRequest.go        |    43 +-
 .../readwrite/model/BACnetProgramRequestTagged.go  |    44 +-
 .../bacnetip/readwrite/model/BACnetProgramState.go |    43 +-
 .../readwrite/model/BACnetProgramStateTagged.go    |    44 +-
 .../readwrite/model/BACnetPropertyAccessResult.go  |    55 +-
 .../BACnetPropertyAccessResultAccessResult.go      |    49 +-
 ...yAccessResultAccessResultPropertyAccessError.go |    54 +-
 ...ropertyAccessResultAccessResultPropertyValue.go |    54 +-
 .../readwrite/model/BACnetPropertyIdentifier.go    |  2755 ++-
 .../model/BACnetPropertyIdentifierTagged.go        |    54 +-
 .../readwrite/model/BACnetPropertyReference.go     |    35 +-
 .../model/BACnetPropertyReferenceEnclosed.go       |    42 +-
 .../model/BACnetPropertyStateActionUnknown.go      |    57 +-
 .../readwrite/model/BACnetPropertyStates.go        |   160 +-
 .../BACnetPropertyStatesAccessCredentialDisable.go |    53 +-
 ...tPropertyStatesAccessCredentialDisableReason.go |    53 +-
 .../model/BACnetPropertyStatesAccessEvent.go       |    57 +-
 .../readwrite/model/BACnetPropertyStatesAction.go  |    57 +-
 .../BACnetPropertyStatesAuthenticationStatus.go    |    57 +-
 .../model/BACnetPropertyStatesBackupState.go       |    57 +-
 .../model/BACnetPropertyStatesBacnetIpMode.go      |    57 +-
 .../BACnetPropertyStatesBinaryLightningValue.go    |    57 +-
 .../model/BACnetPropertyStatesBinaryValue.go       |    57 +-
 .../readwrite/model/BACnetPropertyStatesBoolean.go |    57 +-
 .../model/BACnetPropertyStatesDoorAlarmState.go    |    57 +-
 .../model/BACnetPropertyStatesDoorSecuredStatus.go |    57 +-
 .../model/BACnetPropertyStatesDoorStatus.go        |    57 +-
 .../model/BACnetPropertyStatesDoorValue.go         |    57 +-
 .../model/BACnetPropertyStatesEnclosed.go          |    42 +-
 .../model/BACnetPropertyStatesEscalatorFault.go    |    57 +-
 .../model/BACnetPropertyStatesEscalatorMode.go     |    57 +-
 ...netPropertyStatesEscalatorOperationDirection.go |    53 +-
 .../model/BACnetPropertyStatesEventType.go         |    57 +-
 .../model/BACnetPropertyStatesExtendedValue.go     |    57 +-
 .../model/BACnetPropertyStatesFileAccessMethod.go  |    57 +-
 .../model/BACnetPropertyStatesIntegerValue.go      |    57 +-
 .../model/BACnetPropertyStatesLifeSafetyMode.go    |    57 +-
 .../BACnetPropertyStatesLifeSafetyOperations.go    |    57 +-
 .../model/BACnetPropertyStatesLifeSafetyState.go   |    57 +-
 .../model/BACnetPropertyStatesLiftCarDirection.go  |    57 +-
 .../BACnetPropertyStatesLiftCarDoorCommand.go      |    57 +-
 .../BACnetPropertyStatesLiftCarDriveStatus.go      |    57 +-
 .../model/BACnetPropertyStatesLiftCarMode.go       |    57 +-
 .../model/BACnetPropertyStatesLiftFault.go         |    57 +-
 .../model/BACnetPropertyStatesLiftGroupMode.go     |    57 +-
 .../BACnetPropertyStatesLightningInProgress.go     |    57 +-
 .../BACnetPropertyStatesLightningOperation.go      |    57 +-
 .../BACnetPropertyStatesLightningTransition.go     |    57 +-
 .../model/BACnetPropertyStatesLockStatus.go        |    57 +-
 .../model/BACnetPropertyStatesMaintenance.go       |    57 +-
 .../BACnetPropertyStatesNetworkNumberQuality.go    |    57 +-
 .../BACnetPropertyStatesNetworkPortCommand.go      |    57 +-
 .../model/BACnetPropertyStatesNetworkType.go       |    57 +-
 .../model/BACnetPropertyStatesNodeType.go          |    57 +-
 .../model/BACnetPropertyStatesNotifyType.go        |    57 +-
 .../model/BACnetPropertyStatesPolarity.go          |    57 +-
 .../model/BACnetPropertyStatesProgramChange.go     |    57 +-
 .../model/BACnetPropertyStatesProtocolLevel.go     |    57 +-
 .../model/BACnetPropertyStatesReasonForHalt.go     |    57 +-
 .../model/BACnetPropertyStatesReliability.go       |    57 +-
 .../model/BACnetPropertyStatesRestartReason.go     |    57 +-
 .../model/BACnetPropertyStatesSecurityLevel.go     |    57 +-
 .../model/BACnetPropertyStatesShedState.go         |    57 +-
 .../model/BACnetPropertyStatesSilencedState.go     |    57 +-
 .../readwrite/model/BACnetPropertyStatesState.go   |    57 +-
 .../model/BACnetPropertyStatesSystemStatus.go      |    57 +-
 .../model/BACnetPropertyStatesTimerState.go        |    57 +-
 .../model/BACnetPropertyStatesTimerTransition.go   |    57 +-
 .../readwrite/model/BACnetPropertyStatesUnits.go   |    57 +-
 .../model/BACnetPropertyStatesWriteStatus.go       |    57 +-
 .../model/BACnetPropertyStatesZoneOccupanyState.go |    57 +-
 .../readwrite/model/BACnetPropertyValue.go         |    54 +-
 .../readwrite/model/BACnetPropertyValues.go        |    50 +-
 .../model/BACnetPropertyWriteDefinition.go         |    54 +-
 .../readwrite/model/BACnetProtocolLevel.go         |    31 +-
 .../readwrite/model/BACnetProtocolLevelTagged.go   |    44 +-
 .../readwrite/model/BACnetReadAccessProperty.go    |    46 +-
 .../model/BACnetReadAccessPropertyReadResult.go    |    72 +-
 .../readwrite/model/BACnetReadAccessResult.go      |    35 +-
 .../model/BACnetReadAccessResultListOfResults.go   |    50 +-
 .../model/BACnetReadAccessSpecification.go         |    49 +-
 .../bacnetip/readwrite/model/BACnetRecipient.go    |    50 +-
 .../readwrite/model/BACnetRecipientAddress.go      |    57 +-
 .../readwrite/model/BACnetRecipientDevice.go       |    57 +-
 .../readwrite/model/BACnetRecipientEnclosed.go     |    42 +-
 .../readwrite/model/BACnetRecipientProcess.go      |    35 +-
 .../model/BACnetRecipientProcessEnclosed.go        |    42 +-
 .../bacnetip/readwrite/model/BACnetRejectReason.go |    73 +-
 .../readwrite/model/BACnetRejectReasonTagged.go    |    40 +-
 .../bacnetip/readwrite/model/BACnetRelationship.go |   195 +-
 .../readwrite/model/BACnetRelationshipTagged.go    |    54 +-
 .../bacnetip/readwrite/model/BACnetReliability.go  |   157 +-
 .../readwrite/model/BACnetReliabilityTagged.go     |    54 +-
 .../readwrite/model/BACnetRestartReason.go         |    69 +-
 .../readwrite/model/BACnetRestartReasonTagged.go   |    54 +-
 .../bacnetip/readwrite/model/BACnetResultFlags.go  |    23 +-
 .../readwrite/model/BACnetResultFlagsTagged.go     |    56 +-
 .../bacnetip/readwrite/model/BACnetRouterEntry.go  |    47 +-
 .../readwrite/model/BACnetRouterEntryStatus.go     |    25 +-
 .../model/BACnetRouterEntryStatusTagged.go         |    44 +-
 .../bacnetip/readwrite/model/BACnetScale.go        |    50 +-
 .../readwrite/model/BACnetScaleFloatScale.go       |    57 +-
 .../readwrite/model/BACnetScaleIntegerScale.go     |    53 +-
 .../readwrite/model/BACnetSecurityKeySet.go        |    45 +-
 .../readwrite/model/BACnetSecurityKeySetKeyIds.go  |    46 +-
 .../readwrite/model/BACnetSecurityLevel.go         |    43 +-
 .../readwrite/model/BACnetSecurityLevelTagged.go   |    44 +-
 .../readwrite/model/BACnetSecurityPolicy.go        |    29 +-
 .../readwrite/model/BACnetSecurityPolicyTagged.go  |    44 +-
 .../bacnetip/readwrite/model/BACnetSegmentation.go |    31 +-
 .../readwrite/model/BACnetSegmentationTagged.go    |    44 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |    63 +-
 .../model/BACnetServiceAckAtomicReadFile.go        |    86 +-
 .../model/BACnetServiceAckAtomicReadFileRecord.go  |   125 +-
 .../model/BACnetServiceAckAtomicReadFileStream.go  |    83 +-
 ...BACnetServiceAckAtomicReadFileStreamOrRecord.go |    58 +-
 .../model/BACnetServiceAckAtomicWriteFile.go       |    54 +-
 .../model/BACnetServiceAckAuthenticate.go          |    41 +-
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |   122 +-
 .../model/BACnetServiceAckCreateObject.go          |    56 +-
 .../model/BACnetServiceAckGetAlarmSummary.go       |   114 +-
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |   180 +-
 .../model/BACnetServiceAckGetEventInformation.go   |    84 +-
 .../model/BACnetServiceAckReadProperty.go          |   156 +-
 .../BACnetServiceAckReadPropertyConditional.go     |    41 +-
 .../model/BACnetServiceAckReadPropertyMultiple.go  |    69 +-
 .../readwrite/model/BACnetServiceAckReadRange.go   |   250 +-
 .../readwrite/model/BACnetServiceAckRequestKey.go  |    41 +-
 .../readwrite/model/BACnetServiceAckVTData.go      |   114 +-
 .../readwrite/model/BACnetServiceAckVTOpen.go      |    54 +-
 .../readwrite/model/BACnetServicesSupported.go     |   253 +-
 .../model/BACnetServicesSupportedTagged.go         |    84 +-
 .../readwrite/model/BACnetSetpointReference.go     |    29 +-
 .../bacnetip/readwrite/model/BACnetShedLevel.go    |    54 +-
 .../readwrite/model/BACnetShedLevelAmount.go       |    57 +-
 .../readwrite/model/BACnetShedLevelLevel.go        |    57 +-
 .../readwrite/model/BACnetShedLevelPercent.go      |    57 +-
 .../bacnetip/readwrite/model/BACnetShedState.go    |    31 +-
 .../readwrite/model/BACnetShedStateTagged.go       |    44 +-
 .../readwrite/model/BACnetSilencedState.go         |    39 +-
 .../readwrite/model/BACnetSilencedStateTagged.go   |    54 +-
 .../bacnetip/readwrite/model/BACnetSpecialEvent.go |    39 +-
 .../model/BACnetSpecialEventListOfTimeValues.go    |    46 +-
 .../readwrite/model/BACnetSpecialEventPeriod.go    |    52 +-
 .../model/BACnetSpecialEventPeriodCalendarEntry.go |    57 +-
 .../BACnetSpecialEventPeriodCalendarReference.go   |    57 +-
 .../bacnetip/readwrite/model/BACnetStatusFlags.go  |    31 +-
 .../readwrite/model/BACnetStatusFlagsTagged.go     |    60 +-
 .../bacnetip/readwrite/model/BACnetTagHeader.go    |    91 +-
 .../readwrite/model/BACnetTagPayloadBitString.go   |    48 +-
 .../readwrite/model/BACnetTagPayloadBoolean.go     |    28 +-
 .../model/BACnetTagPayloadCharacterString.go       |    40 +-
 .../readwrite/model/BACnetTagPayloadDate.go        |    73 +-
 .../readwrite/model/BACnetTagPayloadDouble.go      |    29 +-
 .../readwrite/model/BACnetTagPayloadEnumerated.go  |    28 +-
 .../model/BACnetTagPayloadObjectIdentifier.go      |    41 +-
 .../readwrite/model/BACnetTagPayloadOctetString.go |    28 +-
 .../readwrite/model/BACnetTagPayloadReal.go        |    29 +-
 .../model/BACnetTagPayloadSignedInteger.go         |   118 +-
 .../readwrite/model/BACnetTagPayloadTime.go        |    53 +-
 .../model/BACnetTagPayloadUnsignedInteger.go       |   118 +-
 .../bacnetip/readwrite/model/BACnetTimeStamp.go    |    54 +-
 .../readwrite/model/BACnetTimeStampDateTime.go     |    57 +-
 .../readwrite/model/BACnetTimeStampEnclosed.go     |    42 +-
 .../readwrite/model/BACnetTimeStampSequence.go     |    57 +-
 .../readwrite/model/BACnetTimeStampTime.go         |    57 +-
 .../readwrite/model/BACnetTimeStampsEnclosed.go    |    46 +-
 .../bacnetip/readwrite/model/BACnetTimeValue.go    |    33 +-
 .../bacnetip/readwrite/model/BACnetTimerState.go   |    23 +-
 .../readwrite/model/BACnetTimerStateChangeValue.go |    79 +-
 .../model/BACnetTimerStateChangeValueBitString.go  |    52 +-
 .../model/BACnetTimerStateChangeValueBoolean.go    |    52 +-
 .../BACnetTimerStateChangeValueCharacterString.go  |    52 +-
 .../BACnetTimerStateChangeValueConstructedValue.go |    52 +-
 .../model/BACnetTimerStateChangeValueDate.go       |    52 +-
 .../model/BACnetTimerStateChangeValueDateTime.go   |    52 +-
 .../model/BACnetTimerStateChangeValueDouble.go     |    52 +-
 .../model/BACnetTimerStateChangeValueEnumerated.go |    52 +-
 .../model/BACnetTimerStateChangeValueInteger.go    |    52 +-
 .../BACnetTimerStateChangeValueLightingCommand.go  |    52 +-
 .../model/BACnetTimerStateChangeValueNoValue.go    |    52 +-
 .../model/BACnetTimerStateChangeValueNull.go       |    52 +-
 .../BACnetTimerStateChangeValueObjectidentifier.go |    52 +-
 .../BACnetTimerStateChangeValueOctetString.go      |    52 +-
 .../model/BACnetTimerStateChangeValueReal.go       |    52 +-
 .../model/BACnetTimerStateChangeValueTime.go       |    52 +-
 .../model/BACnetTimerStateChangeValueUnsigned.go   |    52 +-
 .../readwrite/model/BACnetTimerStateTagged.go      |    44 +-
 .../readwrite/model/BACnetTimerTransition.go       |    51 +-
 .../readwrite/model/BACnetTimerTransitionTagged.go |    44 +-
 .../model/BACnetUnconfirmedServiceChoice.go        |    79 +-
 .../model/BACnetUnconfirmedServiceChoiceTagged.go  |    44 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |    54 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |   147 +-
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |   115 +-
 ...UnconfirmedServiceRequestTimeSynchronization.go |    85 +-
 ...onfirmedServiceRequestUTCTimeSynchronization.go |    85 +-
 ...rmedServiceRequestUnconfirmedCOVNotification.go |   177 +-
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |   183 +-
 ...edServiceRequestUnconfirmedEventNotification.go |   439 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |   123 +-
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |   153 +-
 .../BACnetUnconfirmedServiceRequestUnknown.go      |    45 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   129 +-
 .../BACnetUnconfirmedServiceRequestWhoHasObject.go |    50 +-
 ...onfirmedServiceRequestWhoHasObjectIdentifier.go |    53 +-
 ...netUnconfirmedServiceRequestWhoHasObjectName.go |    53 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   103 +-
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |   153 +-
 .../bacnetip/readwrite/model/BACnetVMACEntry.go    |    37 +-
 .../bacnetip/readwrite/model/BACnetVTClass.go      |    57 +-
 .../readwrite/model/BACnetVTClassTagged.go         |    54 +-
 .../bacnetip/readwrite/model/BACnetVTSession.go    |    39 +-
 .../bacnetip/readwrite/model/BACnetValueSource.go  |    54 +-
 .../readwrite/model/BACnetValueSourceAddress.go    |    57 +-
 .../readwrite/model/BACnetValueSourceNone.go       |    57 +-
 .../readwrite/model/BACnetValueSourceObject.go     |    57 +-
 .../bacnetip/readwrite/model/BACnetVendorId.go     | 22400 +++++++++++--------
 .../readwrite/model/BACnetVendorIdTagged.go        |    54 +-
 .../bacnetip/readwrite/model/BACnetWeekNDay.go     |    25 +-
 .../readwrite/model/BACnetWeekNDayTagged.go        |   108 +-
 .../model/BACnetWriteAccessSpecification.go        |    49 +-
 .../bacnetip/readwrite/model/BACnetWriteStatus.go  |    31 +-
 .../readwrite/model/BACnetWriteStatusTagged.go     |    44 +-
 plc4go/protocols/bacnetip/readwrite/model/BVLC.go  |    64 +-
 .../model/BVLCBroadcastDistributionTableEntry.go   |    43 +-
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |    89 +-
 .../model/BVLCDistributeBroadcastToNetwork.go      |    62 +-
 .../readwrite/model/BVLCForeignDeviceTableEntry.go |    53 +-
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |   120 +-
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |    62 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |    62 +-
 .../model/BVLCReadBroadcastDistributionTable.go    |    30 +-
 .../model/BVLCReadBroadcastDistributionTableAck.go |    70 +-
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |    30 +-
 .../model/BVLCReadForeignDeviceTableAck.go         |    70 +-
 .../readwrite/model/BVLCRegisterForeignDevice.go   |    53 +-
 .../bacnetip/readwrite/model/BVLCResult.go         |    61 +-
 .../bacnetip/readwrite/model/BVLCResultCode.go     |    49 +-
 .../readwrite/model/BVLCResultCodeTagged.go        |    44 +-
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |    44 +-
 .../model/BVLCWriteBroadcastDistributionTable.go   |    70 +-
 .../bacnetip/readwrite/model/BacnetConstants.go    |    22 +-
 .../bacnetip/readwrite/model/ChangeListAddError.go |    87 +-
 .../readwrite/model/ChangeListRemoveError.go       |    87 +-
 .../model/ConfirmedEventNotificationRequest.go     |   107 +-
 .../model/ConfirmedPrivateTransferError.go         |   153 +-
 .../bacnetip/readwrite/model/CreateObjectError.go  |    87 +-
 plc4go/protocols/bacnetip/readwrite/model/Error.go |    33 +-
 .../bacnetip/readwrite/model/ErrorClass.go         |    63 +-
 .../bacnetip/readwrite/model/ErrorClassTagged.go   |    54 +-
 .../bacnetip/readwrite/model/ErrorCode.go          |   787 +-
 .../bacnetip/readwrite/model/ErrorCodeTagged.go    |    54 +-
 .../bacnetip/readwrite/model/ErrorEnclosed.go      |    42 +-
 .../readwrite/model/ListOfCovNotifications.go      |    49 +-
 .../readwrite/model/ListOfCovNotificationsList.go  |    46 +-
 .../readwrite/model/ListOfCovNotificationsValue.go |    52 +-
 .../readwrite/model/MaxApduLengthAccepted.go       |   171 +-
 .../readwrite/model/MaxSegmentsAccepted.go         |   101 +-
 plc4go/protocols/bacnetip/readwrite/model/NLM.go   |    77 +-
 .../readwrite/model/NLMChallengeRequest.go         |    86 +-
 .../model/NLMDisconnectConnectionToNetwork.go      |    46 +-
 .../model/NLMEstablishConnectionToNetwork.go       |    68 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |    60 +-
 .../readwrite/model/NLMICouldBeRouterToNetwork.go  |    68 +-
 .../readwrite/model/NLMInitalizeRoutingTable.go    |    88 +-
 .../readwrite/model/NLMInitalizeRoutingTableAck.go |    88 +-
 .../model/NLMInitalizeRoutingTablePortMapping.go   |    49 +-
 .../bacnetip/readwrite/model/NLMNetworkNumberIs.go |   100 +-
 .../readwrite/model/NLMRejectRouterToNetwork.go    |    76 +-
 .../model/NLMRejectRouterToNetworkRejectReason.go  |    49 +-
 .../readwrite/model/NLMRequestKeyUpdate.go         |   178 +-
 .../readwrite/model/NLMRequestMasterKey.go         |    62 +-
 .../bacnetip/readwrite/model/NLMReserved.go        |    42 +-
 .../readwrite/model/NLMRouterAvailableToNetwork.go |    60 +-
 .../readwrite/model/NLMRouterBusyToNetwork.go      |    60 +-
 .../bacnetip/readwrite/model/NLMSecurityPayload.go |    62 +-
 .../readwrite/model/NLMSecurityResponse.go         |   116 +-
 .../bacnetip/readwrite/model/NLMSetMasterKey.go    |    56 +-
 .../readwrite/model/NLMUpdateKeyDistributionKey.go |    76 +-
 .../bacnetip/readwrite/model/NLMUpdateKeyUpdate.go |   308 +-
 .../model/NLMUpdateKeyUpdateControlFlags.go        |    85 +-
 .../readwrite/model/NLMUpdateKeyUpdateKeyEntry.go  |    41 +-
 .../readwrite/model/NLMVendorProprietaryMessage.go |    72 +-
 .../readwrite/model/NLMWhatIsNetworkNumber.go      |    27 +-
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |    48 +-
 plc4go/protocols/bacnetip/readwrite/model/NPDU.go  |   106 +-
 .../bacnetip/readwrite/model/NPDUControl.go        |    71 +-
 .../readwrite/model/NPDUNetworkPriority.go         |    31 +-
 .../readwrite/model/NPDUNetworkPriorityTagged.go   |    44 +-
 .../readwrite/model/SecurityResponseCode.go        |   163 +-
 .../readwrite/model/SecurityResponseCodeTagged.go  |    44 +-
 .../model/SubscribeCOVPropertyMultipleError.go     |    87 +-
 ...PropertyMultipleErrorFirstFailedSubscription.go |    54 +-
 .../protocols/bacnetip/readwrite/model/TagClass.go |    19 +-
 .../bacnetip/readwrite/model/VTCloseError.go       |    93 +-
 .../VTCloseErrorListOfVTSessionIdentifiers.go      |    46 +-
 .../readwrite/model/WritePropertyMultipleError.go  |    87 +-
 .../bacnetip/readwrite/model/plc4x_common.go       |     3 +-
 plc4go/protocols/cbus/readwrite/ParserHelper.go    |     8 +-
 plc4go/protocols/cbus/readwrite/XmlParserHelper.go |   434 +-
 .../cbus/readwrite/model/AccessControlCategory.go  |    19 +-
 .../readwrite/model/AccessControlCommandType.go    |   101 +-
 .../model/AccessControlCommandTypeContainer.go     |  1171 +-
 .../cbus/readwrite/model/AccessControlData.go      |    72 +-
 .../model/AccessControlDataAccessPointClosed.go    |    26 +-
 .../AccessControlDataAccessPointForcedOpen.go      |    26 +-
 .../model/AccessControlDataAccessPointLeftOpen.go  |    26 +-
 .../model/AccessControlDataCloseAccessPoint.go     |    26 +-
 .../model/AccessControlDataInvalidAccessRequest.go |    69 +-
 .../model/AccessControlDataLockAccessPoint.go      |    26 +-
 .../model/AccessControlDataRequestToExit.go        |    26 +-
 .../model/AccessControlDataValidAccessRequest.go   |    69 +-
 .../cbus/readwrite/model/AccessControlDirection.go |    25 +-
 .../readwrite/model/AirConditioningCommandType.go  |   220 +-
 .../model/AirConditioningCommandTypeContainer.go   |   282 +-
 .../cbus/readwrite/model/AirConditioningData.go    |   108 +-
 .../AirConditioningDataHumidityScheduleEntry.go    |   247 +-
 .../model/AirConditioningDataHvacScheduleEntry.go  |   251 +-
 .../readwrite/model/AirConditioningDataRefresh.go  |    49 +-
 ...irConditioningDataSetHumidityLowerGuardLimit.go |   139 +-
 .../AirConditioningDataSetHumiditySetbackLimit.go  |   139 +-
 ...irConditioningDataSetHumidityUpperGuardLimit.go |   139 +-
 .../AirConditioningDataSetHvacLowerGuardLimit.go   |   139 +-
 .../AirConditioningDataSetHvacSetbackLimit.go      |   139 +-
 .../AirConditioningDataSetHvacUpperGuardLimit.go   |   139 +-
 .../AirConditioningDataSetPlantHumidityLevel.go    |   235 +-
 .../model/AirConditioningDataSetPlantHvacLevel.go  |   239 +-
 .../model/AirConditioningDataSetZoneGroupOff.go    |    49 +-
 .../model/AirConditioningDataSetZoneGroupOn.go     |    49 +-
 .../AirConditioningDataSetZoneHumidityMode.go      |   235 +-
 .../model/AirConditioningDataSetZoneHvacMode.go    |   239 +-
 .../model/AirConditioningDataZoneHumidity.go       |   139 +-
 .../AirConditioningDataZoneHumidityPlantStatus.go  |   169 +-
 .../AirConditioningDataZoneHvacPlantStatus.go      |   169 +-
 .../model/AirConditioningDataZoneTemperature.go    |   139 +-
 plc4go/protocols/cbus/readwrite/model/Alpha.go     |    31 +-
 .../cbus/readwrite/model/ApplicationAddress1.go    |    29 +-
 .../cbus/readwrite/model/ApplicationAddress2.go    |    29 +-
 .../cbus/readwrite/model/ApplicationId.go          |   157 +-
 .../cbus/readwrite/model/ApplicationIdContainer.go |  3090 +--
 plc4go/protocols/cbus/readwrite/model/Attribute.go |   211 +-
 .../cbus/readwrite/model/BaudRateSelector.go       |    37 +-
 .../cbus/readwrite/model/BridgeAddress.go          |    29 +-
 .../cbus/readwrite/model/CALCommandType.go         |    61 +-
 .../readwrite/model/CALCommandTypeContainer.go     |  1614 +-
 plc4go/protocols/cbus/readwrite/model/CALData.go   |    63 +-
 .../cbus/readwrite/model/CALDataAcknowledge.go     |    74 +-
 .../cbus/readwrite/model/CALDataGetStatus.go       |    74 +-
 .../cbus/readwrite/model/CALDataIdentify.go        |    50 +-
 .../cbus/readwrite/model/CALDataIdentifyReply.go   |    80 +-
 .../cbus/readwrite/model/CALDataRecall.go          |    74 +-
 .../protocols/cbus/readwrite/model/CALDataReply.go |    80 +-
 .../protocols/cbus/readwrite/model/CALDataReset.go |    23 +-
 .../cbus/readwrite/model/CALDataStatus.go          |   112 +-
 .../cbus/readwrite/model/CALDataStatusExtended.go  |   212 +-
 .../protocols/cbus/readwrite/model/CALDataWrite.go |   102 +-
 plc4go/protocols/cbus/readwrite/model/CALReply.go  |    53 +-
 .../protocols/cbus/readwrite/model/CALReplyLong.go |   242 +-
 .../cbus/readwrite/model/CALReplyShort.go          |    25 +-
 .../protocols/cbus/readwrite/model/CBusCommand.go  |    39 +-
 .../readwrite/model/CBusCommandDeviceManagement.go |    82 +-
 .../model/CBusCommandPointToMultiPoint.go          |    52 +-
 .../readwrite/model/CBusCommandPointToPoint.go     |    52 +-
 .../model/CBusCommandPointToPointToMultiPoint.go   |    52 +-
 .../cbus/readwrite/model/CBusConstants.go          |    22 +-
 .../protocols/cbus/readwrite/model/CBusHeader.go   |    49 +-
 .../protocols/cbus/readwrite/model/CBusMessage.go  |    36 +-
 .../cbus/readwrite/model/CBusMessageToClient.go    |    58 +-
 .../cbus/readwrite/model/CBusMessageToServer.go    |    58 +-
 .../protocols/cbus/readwrite/model/CBusOptions.go  |    93 +-
 .../model/CBusPointToMultiPointCommand.go          |    47 +-
 .../model/CBusPointToMultiPointCommandNormal.go    |   114 +-
 .../model/CBusPointToMultiPointCommandStatus.go    |   112 +-
 .../readwrite/model/CBusPointToPointCommand.go     |    55 +-
 .../model/CBusPointToPointCommandDirect.go         |    84 +-
 .../model/CBusPointToPointCommandIndirect.go       |   112 +-
 .../model/CBusPointToPointToMultiPointCommand.go   |    55 +-
 .../CBusPointToPointToMultiPointCommandNormal.go   |    82 +-
 .../CBusPointToPointToMultiPointCommandStatus.go   |    84 +-
 .../cbus/readwrite/model/ChannelStatus.go          |    25 +-
 plc4go/protocols/cbus/readwrite/model/Checksum.go  |    29 +-
 .../model/ClockAndTimekeepingCommandType.go        |    35 +-
 .../ClockAndTimekeepingCommandTypeContainer.go     |   130 +-
 .../readwrite/model/ClockAndTimekeepingData.go     |    50 +-
 .../model/ClockAndTimekeepingDataRequestRefresh.go |    26 +-
 .../model/ClockAndTimekeepingDataUpdateDate.go     |   137 +-
 .../model/ClockAndTimekeepingDataUpdateTime.go     |   147 +-
 .../protocols/cbus/readwrite/model/Confirmation.go |    41 +-
 .../cbus/readwrite/model/ConfirmationType.go       |    43 +-
 .../cbus/readwrite/model/CustomManufacturer.go     |    32 +-
 .../protocols/cbus/readwrite/model/CustomTypes.go  |    32 +-
 .../cbus/readwrite/model/DestinationAddressType.go |    25 +-
 .../cbus/readwrite/model/DialInFailureReason.go    |    13 +-
 .../cbus/readwrite/model/DialOutFailureReason.go   |    43 +-
 .../readwrite/model/EnableControlCommandType.go    |    24 +-
 .../model/EnableControlCommandTypeContainer.go     |   232 +-
 .../cbus/readwrite/model/EnableControlData.go      |    45 +-
 .../protocols/cbus/readwrite/model/EncodedReply.go |    53 +-
 .../cbus/readwrite/model/EncodedReplyCALReply.go   |    54 +-
 .../readwrite/model/ErrorReportingCommandType.go   |    57 +-
 .../model/ErrorReportingCommandTypeContainer.go    |    74 +-
 .../cbus/readwrite/model/ErrorReportingData.go     |    36 +-
 .../readwrite/model/ErrorReportingDataGeneric.go   |   245 +-
 .../cbus/readwrite/model/ErrorReportingSeverity.go |    53 +-
 .../model/ErrorReportingSystemCategory.go          |    39 +-
 .../model/ErrorReportingSystemCategoryClass.go     |   103 +-
 .../model/ErrorReportingSystemCategoryType.go      |    37 +-
 ...gSystemCategoryTypeBuildingManagementSystems.go |    62 +-
 ...eportingSystemCategoryTypeClimateControllers.go |    62 +-
 ...stemCategoryTypeForBuildingManagementSystems.go |   103 +-
 ...rtingSystemCategoryTypeForClimateControllers.go |   103 +-
 ...rrorReportingSystemCategoryTypeForInputUnits.go |   103 +-
 ...rorReportingSystemCategoryTypeForOutputUnits.go |   103 +-
 ...orReportingSystemCategoryTypeForSupportUnits.go |   103 +-
 .../ErrorReportingSystemCategoryTypeInputUnits.go  |    62 +-
 .../ErrorReportingSystemCategoryTypeOutputUnits.go |    62 +-
 .../ErrorReportingSystemCategoryTypeReserved.go    |    54 +-
 ...ErrorReportingSystemCategoryTypeSupportUnits.go |    62 +-
 .../model/ErrorReportingSystemCategoryVariant.go   |    25 +-
 plc4go/protocols/cbus/readwrite/model/GAVState.go  |    31 +-
 .../cbus/readwrite/model/HVACAuxiliaryLevel.go     |    43 +-
 plc4go/protocols/cbus/readwrite/model/HVACError.go |   847 +-
 .../protocols/cbus/readwrite/model/HVACHumidity.go |    29 +-
 .../cbus/readwrite/model/HVACHumidityError.go      |   847 +-
 .../readwrite/model/HVACHumidityModeAndFlags.go    |    65 +-
 .../model/HVACHumidityModeAndFlagsMode.go          |    31 +-
 .../readwrite/model/HVACHumidityStatusFlags.go     |    83 +-
 .../cbus/readwrite/model/HVACHumidityType.go       |    31 +-
 .../cbus/readwrite/model/HVACModeAndFlags.go       |    65 +-
 .../cbus/readwrite/model/HVACModeAndFlagsMode.go   |    35 +-
 .../cbus/readwrite/model/HVACRawLevels.go          |    29 +-
 .../cbus/readwrite/model/HVACSensorStatus.go       |    31 +-
 .../cbus/readwrite/model/HVACStartTime.go          |    29 +-
 .../cbus/readwrite/model/HVACStatusFlags.go        |    83 +-
 .../cbus/readwrite/model/HVACTemperature.go        |    29 +-
 plc4go/protocols/cbus/readwrite/model/HVACType.go  |    77 +-
 .../protocols/cbus/readwrite/model/HVACZoneList.go |    85 +-
 .../cbus/readwrite/model/IdentifyReplyCommand.go   |    62 +-
 .../IdentifyReplyCommandCurrentSenseLevels.go      |    42 +-
 .../model/IdentifyReplyCommandDSIStatus.go         |   316 +-
 .../readwrite/model/IdentifyReplyCommandDelays.go  |    64 +-
 ...dentifyReplyCommandExtendedDiagnosticSummary.go |   563 +-
 .../model/IdentifyReplyCommandFirmwareVersion.go   |    48 +-
 .../IdentifyReplyCommandGAVPhysicalAddresses.go    |    42 +-
 .../model/IdentifyReplyCommandGAVValuesCurrent.go  |    42 +-
 .../model/IdentifyReplyCommandGAVValuesStored.go   |    42 +-
 .../model/IdentifyReplyCommandLogicalAssignment.go |    68 +-
 .../model/IdentifyReplyCommandManufacturer.go      |    48 +-
 .../model/IdentifyReplyCommandMaximumLevels.go     |    42 +-
 .../model/IdentifyReplyCommandMinimumLevels.go     |    42 +-
 .../IdentifyReplyCommandNetworkTerminalLevels.go   |    40 +-
 .../model/IdentifyReplyCommandNetworkVoltage.go    |    90 +-
 .../model/IdentifyReplyCommandOutputUnitSummary.go |   124 +-
 .../readwrite/model/IdentifyReplyCommandSummary.go |    92 +-
 .../model/IdentifyReplyCommandTerminalLevels.go    |    42 +-
 .../readwrite/model/IdentifyReplyCommandType.go    |    48 +-
 .../model/IdentifyReplyCommandUnitSummary.go       |    85 +-
 .../cbus/readwrite/model/InterfaceOptions1.go      |    81 +-
 .../model/InterfaceOptions1PowerUpSettings.go      |    27 +-
 .../cbus/readwrite/model/InterfaceOptions2.go      |    73 +-
 .../cbus/readwrite/model/InterfaceOptions3.go      |    77 +-
 plc4go/protocols/cbus/readwrite/model/Language.go  |   421 +-
 .../cbus/readwrite/model/LevelInformation.go       |    70 +-
 .../cbus/readwrite/model/LevelInformationAbsent.go |    58 +-
 .../readwrite/model/LevelInformationCorrupted.go   |   115 +-
 .../readwrite/model/LevelInformationNibblePair.go  |   159 +-
 .../cbus/readwrite/model/LevelInformationNormal.go |   111 +-
 .../cbus/readwrite/model/LightingCommandType.go    |    68 +-
 .../model/LightingCommandTypeContainer.go          |   732 +-
 .../cbus/readwrite/model/LightingCompatible.go     |    31 +-
 .../protocols/cbus/readwrite/model/LightingData.go |    50 +-
 .../cbus/readwrite/model/LightingDataLabel.go      |   129 +-
 .../cbus/readwrite/model/LightingDataOff.go        |    49 +-
 .../cbus/readwrite/model/LightingDataOn.go         |    49 +-
 .../readwrite/model/LightingDataRampToLevel.go     |    71 +-
 .../readwrite/model/LightingDataTerminateRamp.go   |    49 +-
 .../cbus/readwrite/model/LightingLabelFlavour.go   |    25 +-
 .../cbus/readwrite/model/LightingLabelOptions.go   |    57 +-
 .../cbus/readwrite/model/LightingLabelType.go      |    31 +-
 .../cbus/readwrite/model/LineOffHookReason.go      |    53 +-
 .../cbus/readwrite/model/LogicAssignment.go        |    81 +-
 .../cbus/readwrite/model/MeasurementCommandType.go |    24 +-
 .../model/MeasurementCommandTypeContainer.go       |    32 +-
 .../cbus/readwrite/model/MeasurementData.go        |    36 +-
 .../model/MeasurementDataChannelMeasurementData.go |   191 +-
 .../cbus/readwrite/model/MeasurementUnits.go       |   259 +-
 .../model/MediaTransportControlCommandType.go      |   181 +-
 .../MediaTransportControlCommandTypeContainer.go   |  1614 +-
 .../readwrite/model/MediaTransportControlData.go   |   116 +-
 .../model/MediaTransportControlDataCategoryName.go |    47 +-
 ...ontrolDataEnumerateCategoriesSelectionTracks.go |   103 +-
 .../MediaTransportControlDataEnumerationsSize.go   |   125 +-
 .../model/MediaTransportControlDataFastForward.go  |   113 +-
 ...ediaTransportControlDataNextPreviousCategory.go |    65 +-
 ...diaTransportControlDataNextPreviousSelection.go |    65 +-
 .../MediaTransportControlDataNextPreviousTrack.go  |    65 +-
 .../model/MediaTransportControlDataPauseResume.go  |    65 +-
 .../model/MediaTransportControlDataPlay.go         |    26 +-
 .../model/MediaTransportControlDataRepeatOnOff.go  |    73 +-
 .../model/MediaTransportControlDataRewind.go       |   113 +-
 .../MediaTransportControlDataSelectionName.go      |    47 +-
 .../model/MediaTransportControlDataSetCategory.go  |    49 +-
 .../model/MediaTransportControlDataSetSelection.go |    71 +-
 .../model/MediaTransportControlDataSetTrack.go     |   115 +-
 .../model/MediaTransportControlDataShuffleOnOff.go |    65 +-
 .../MediaTransportControlDataSourcePowerControl.go |    65 +-
 .../MediaTransportControlDataStatusRequest.go      |    26 +-
 .../model/MediaTransportControlDataStop.go         |    26 +-
 .../model/MediaTransportControlDataTotalTracks.go  |   115 +-
 .../model/MediaTransportControlDataTrackName.go    |    47 +-
 .../cbus/readwrite/model/MeteringCommandType.go    |    24 +-
 .../model/MeteringCommandTypeContainer.go          |   116 +-
 .../protocols/cbus/readwrite/model/MeteringData.go |    78 +-
 .../model/MeteringDataDrinkingWaterConsumption.go  |    49 +-
 .../model/MeteringDataElectricityConsumption.go    |    49 +-
 .../readwrite/model/MeteringDataGasConsumption.go  |    49 +-
 .../model/MeteringDataMeasureDrinkingWater.go      |    26 +-
 .../model/MeteringDataMeasureElectricity.go        |    26 +-
 .../cbus/readwrite/model/MeteringDataMeasureGas.go |    26 +-
 .../cbus/readwrite/model/MeteringDataMeasureOil.go |    26 +-
 .../model/MeteringDataMeasureOtherWater.go         |    26 +-
 .../readwrite/model/MeteringDataOilConsumption.go  |    49 +-
 .../model/MeteringDataOtherWaterConsumption.go     |    49 +-
 .../protocols/cbus/readwrite/model/MonitoredSAL.go |    47 +-
 .../model/MonitoredSALLongFormSmartMode.go         |   278 +-
 .../cbus/readwrite/model/MonitoredSALReply.go      |    54 +-
 .../model/MonitoredSALShortFormBasicMode.go        |   172 +-
 .../model/NetworkProtocolControlInformation.go     |    43 +-
 .../protocols/cbus/readwrite/model/NetworkRoute.go |    39 +-
 .../protocols/cbus/readwrite/model/PanicStatus.go  |    29 +-
 plc4go/protocols/cbus/readwrite/model/Parameter.go |  8230 ++++---
 .../cbus/readwrite/model/ParameterChange.go        |    22 +-
 .../cbus/readwrite/model/ParameterChangeReply.go   |    52 +-
 .../cbus/readwrite/model/ParameterType.go          |    73 +-
 .../cbus/readwrite/model/ParameterValue.go         |    48 +-
 .../model/ParameterValueApplicationAddress1.go     |    74 +-
 .../model/ParameterValueApplicationAddress2.go     |    74 +-
 .../model/ParameterValueBaudRateSelector.go        |    74 +-
 .../model/ParameterValueCustomManufacturer.go      |    56 +-
 .../readwrite/model/ParameterValueCustomTypes.go   |    56 +-
 .../model/ParameterValueInterfaceOptions1.go       |    74 +-
 ...rameterValueInterfaceOptions1PowerUpSettings.go |    58 +-
 .../model/ParameterValueInterfaceOptions2.go       |    74 +-
 .../model/ParameterValueInterfaceOptions3.go       |    74 +-
 .../cbus/readwrite/model/ParameterValueRaw.go      |    42 +-
 .../readwrite/model/ParameterValueSerialNumber.go  |    74 +-
 plc4go/protocols/cbus/readwrite/model/PowerUp.go   |    22 +-
 .../protocols/cbus/readwrite/model/PowerUpReply.go |    52 +-
 .../cbus/readwrite/model/PriorityClass.go          |    25 +-
 .../cbus/readwrite/model/ProtectionLevel.go        |    55 +-
 plc4go/protocols/cbus/readwrite/model/Reply.go     |    51 +-
 .../cbus/readwrite/model/ReplyEncodedReply.go      |    76 +-
 .../protocols/cbus/readwrite/model/ReplyNetwork.go |    33 +-
 .../cbus/readwrite/model/ReplyOrConfirmation.go    |    51 +-
 .../model/ReplyOrConfirmationConfirmation.go       |    90 +-
 .../readwrite/model/ReplyOrConfirmationReply.go    |    84 +-
 plc4go/protocols/cbus/readwrite/model/Request.go   |   113 +-
 .../cbus/readwrite/model/RequestCommand.go         |   120 +-
 .../cbus/readwrite/model/RequestContext.go         |    29 +-
 .../readwrite/model/RequestDirectCommandAccess.go  |    94 +-
 .../protocols/cbus/readwrite/model/RequestEmpty.go |    23 +-
 .../protocols/cbus/readwrite/model/RequestNull.go  |    34 +-
 .../cbus/readwrite/model/RequestObsolete.go        |    84 +-
 .../protocols/cbus/readwrite/model/RequestReset.go |   156 +-
 .../readwrite/model/RequestSmartConnectShortcut.go |    86 +-
 .../cbus/readwrite/model/RequestTermination.go     |    22 +-
 .../protocols/cbus/readwrite/model/RequestType.go  |    90 +-
 .../cbus/readwrite/model/ResponseTermination.go    |    22 +-
 plc4go/protocols/cbus/readwrite/model/SALData.go   |    78 +-
 .../cbus/readwrite/model/SALDataAccessControl.go   |    58 +-
 .../cbus/readwrite/model/SALDataAirConditioning.go |    58 +-
 .../cbus/readwrite/model/SALDataAudioAndVideo.go   |    58 +-
 .../readwrite/model/SALDataClockAndTimekeeping.go  |    58 +-
 .../cbus/readwrite/model/SALDataEnableControl.go   |    58 +-
 .../cbus/readwrite/model/SALDataErrorReporting.go  |    58 +-
 .../cbus/readwrite/model/SALDataFreeUsage.go       |    33 +-
 .../cbus/readwrite/model/SALDataHeating.go         |    58 +-
 .../cbus/readwrite/model/SALDataHvacActuator.go    |    58 +-
 .../readwrite/model/SALDataIrrigationControl.go    |    58 +-
 .../cbus/readwrite/model/SALDataLighting.go        |    58 +-
 .../cbus/readwrite/model/SALDataMeasurement.go     |    58 +-
 .../cbus/readwrite/model/SALDataMediaTransport.go  |    58 +-
 .../cbus/readwrite/model/SALDataMetering.go        |    58 +-
 .../model/SALDataPoolsSpasPondsFountainsControl.go |    58 +-
 .../cbus/readwrite/model/SALDataReserved.go        |    33 +-
 .../readwrite/model/SALDataRoomControlSystem.go    |    33 +-
 .../cbus/readwrite/model/SALDataSecurity.go        |    58 +-
 .../model/SALDataTelephonyStatusAndControl.go      |    58 +-
 .../readwrite/model/SALDataTemperatureBroadcast.go |    58 +-
 .../cbus/readwrite/model/SALDataTesting.go         |    33 +-
 .../cbus/readwrite/model/SALDataTriggerControl.go  |    58 +-
 .../cbus/readwrite/model/SALDataVentilation.go     |    58 +-
 .../cbus/readwrite/model/SecurityArmCode.go        |    29 +-
 .../cbus/readwrite/model/SecurityCommandType.go    |    46 +-
 .../model/SecurityCommandTypeContainer.go          |  1656 +-
 .../protocols/cbus/readwrite/model/SecurityData.go |   222 +-
 .../cbus/readwrite/model/SecurityDataAlarmOff.go   |    26 +-
 .../cbus/readwrite/model/SecurityDataAlarmOn.go    |    26 +-
 .../model/SecurityDataArmFailedCleared.go          |    26 +-
 .../readwrite/model/SecurityDataArmFailedRaised.go |    26 +-
 .../model/SecurityDataArmReadyNotReady.go          |    49 +-
 .../cbus/readwrite/model/SecurityDataArmSystem.go  |    97 +-
 .../model/SecurityDataCurrentAlarmType.go          |    26 +-
 .../readwrite/model/SecurityDataDisplayMessage.go  |    47 +-
 .../cbus/readwrite/model/SecurityDataDropTamper.go |    26 +-
 .../readwrite/model/SecurityDataEmulatedKeypad.go  |   137 +-
 .../model/SecurityDataEntryDelayStarted.go         |    26 +-
 .../cbus/readwrite/model/SecurityDataEvent.go      |    43 +-
 .../model/SecurityDataExitDelayStarted.go          |    26 +-
 .../model/SecurityDataFireAlarmCleared.go          |    26 +-
 .../readwrite/model/SecurityDataFireAlarmRaised.go |    26 +-
 .../readwrite/model/SecurityDataGasAlarmCleared.go |    26 +-
 .../readwrite/model/SecurityDataGasAlarmRaised.go  |    26 +-
 .../model/SecurityDataLineCutAlarmCleared.go       |    26 +-
 .../model/SecurityDataLineCutAlarmRaised.go        |    26 +-
 .../model/SecurityDataLowBatteryCharging.go        |    65 +-
 .../model/SecurityDataLowBatteryCorrected.go       |    26 +-
 .../model/SecurityDataLowBatteryDetected.go        |    26 +-
 .../readwrite/model/SecurityDataMainsFailure.go    |    26 +-
 .../model/SecurityDataMainsRestoredOrApplied.go    |    26 +-
 .../cbus/readwrite/model/SecurityDataOff.go        |    43 +-
 .../cbus/readwrite/model/SecurityDataOn.go         |    43 +-
 .../model/SecurityDataOtherAlarmCleared.go         |    26 +-
 .../model/SecurityDataOtherAlarmRaised.go          |    26 +-
 .../readwrite/model/SecurityDataPanicActivated.go  |    26 +-
 .../readwrite/model/SecurityDataPanicCleared.go    |    26 +-
 .../model/SecurityDataPasswordEntryStatus.go       |    89 +-
 .../cbus/readwrite/model/SecurityDataRaiseAlarm.go |    26 +-
 .../readwrite/model/SecurityDataRaiseTamper.go     |    26 +-
 .../readwrite/model/SecurityDataRequestZoneName.go |    49 +-
 .../readwrite/model/SecurityDataStatus1Request.go  |    26 +-
 .../readwrite/model/SecurityDataStatus2Request.go  |    26 +-
 .../readwrite/model/SecurityDataStatusReport1.go   |   159 +-
 .../readwrite/model/SecurityDataStatusReport2.go   |    69 +-
 .../model/SecurityDataSystemArmedDisarmed.go       |    57 +-
 .../readwrite/model/SecurityDataSystemDisarmed.go  |    26 +-
 .../cbus/readwrite/model/SecurityDataTamperOff.go  |    26 +-
 .../cbus/readwrite/model/SecurityDataTamperOn.go   |    26 +-
 .../readwrite/model/SecurityDataZoneIsolated.go    |    49 +-
 .../cbus/readwrite/model/SecurityDataZoneName.go   |    71 +-
 .../cbus/readwrite/model/SecurityDataZoneOpen.go   |    49 +-
 .../cbus/readwrite/model/SecurityDataZoneSealed.go |    49 +-
 .../cbus/readwrite/model/SecurityDataZoneShort.go  |    49 +-
 .../readwrite/model/SecurityDataZoneUnsealed.go    |    49 +-
 .../cbus/readwrite/model/SerialInterfaceAddress.go |    29 +-
 .../protocols/cbus/readwrite/model/SerialNumber.go |    53 +-
 .../cbus/readwrite/model/ServerErrorReply.go       |    36 +-
 .../protocols/cbus/readwrite/model/StatusByte.go   |    45 +-
 .../protocols/cbus/readwrite/model/StatusCoding.go |    31 +-
 .../cbus/readwrite/model/StatusRequest.go          |    54 +-
 .../readwrite/model/StatusRequestBinaryState.go    |   117 +-
 .../model/StatusRequestBinaryStateDeprecated.go    |   117 +-
 .../cbus/readwrite/model/StatusRequestLevel.go     |   139 +-
 .../protocols/cbus/readwrite/model/TamperStatus.go |    29 +-
 .../cbus/readwrite/model/TelephonyCommandType.go   |    24 +-
 .../model/TelephonyCommandTypeContainer.go         |   438 +-
 .../cbus/readwrite/model/TelephonyData.go          |    78 +-
 .../readwrite/model/TelephonyDataClearDiversion.go |    26 +-
 .../readwrite/model/TelephonyDataDialInFailure.go  |    57 +-
 .../readwrite/model/TelephonyDataDialOutFailure.go |    57 +-
 .../cbus/readwrite/model/TelephonyDataDivert.go    |    47 +-
 .../TelephonyDataInternetConnectionRequestMade.go  |    26 +-
 .../model/TelephonyDataIsolateSecondaryOutlet.go   |    65 +-
 .../readwrite/model/TelephonyDataLineOffHook.go    |    77 +-
 .../readwrite/model/TelephonyDataLineOnHook.go     |    26 +-
 .../model/TelephonyDataRecallLastNumber.go         |    81 +-
 .../model/TelephonyDataRecallLastNumberRequest.go  |    61 +-
 .../model/TelephonyDataRejectIncomingCall.go       |    26 +-
 .../cbus/readwrite/model/TelephonyDataRinging.go   |    77 +-
 .../model/TemperatureBroadcastCommandType.go       |    24 +-
 .../TemperatureBroadcastCommandTypeContainer.go    |   232 +-
 .../readwrite/model/TemperatureBroadcastData.go    |    45 +-
 .../readwrite/model/TriggerControlCommandType.go   |    68 +-
 .../model/TriggerControlCommandTypeContainer.go    |   722 +-
 .../cbus/readwrite/model/TriggerControlData.go     |    56 +-
 .../model/TriggerControlDataIndicatorKill.go       |    26 +-
 .../readwrite/model/TriggerControlDataLabel.go     |   127 +-
 .../model/TriggerControlDataTriggerEvent.go        |    49 +-
 .../model/TriggerControlDataTriggerMax.go          |    26 +-
 .../model/TriggerControlDataTriggerMin.go          |    26 +-
 .../readwrite/model/TriggerControlLabelFlavour.go  |    25 +-
 .../readwrite/model/TriggerControlLabelOptions.go  |    57 +-
 .../readwrite/model/TriggerControlLabelType.go     |    31 +-
 .../protocols/cbus/readwrite/model/UnitAddress.go  |    29 +-
 .../protocols/cbus/readwrite/model/UnitStatus.go   |    25 +-
 .../protocols/cbus/readwrite/model/ZoneStatus.go   |    27 +-
 .../cbus/readwrite/model/ZoneStatusTemp.go         |    31 +-
 .../protocols/cbus/readwrite/model/plc4x_common.go |     3 +-
 plc4go/protocols/df1/readwrite/XmlParserHelper.go  |    16 +-
 plc4go/protocols/df1/readwrite/model/DF1Command.go |    48 +-
 plc4go/protocols/df1/readwrite/model/DF1Symbol.go  |    40 +-
 .../df1/readwrite/model/DF1SymbolMessageFrame.go   |   143 +-
 .../readwrite/model/DF1SymbolMessageFrameACK.go    |    30 +-
 .../readwrite/model/DF1SymbolMessageFrameNAK.go    |    30 +-
 .../readwrite/model/DF1UnprotectedReadRequest.go   |    76 +-
 .../readwrite/model/DF1UnprotectedReadResponse.go  |    60 +-
 .../protocols/df1/readwrite/model/plc4x_common.go  |     3 +-
 plc4go/protocols/eip/readwrite/ParserHelper.go     |    24 +-
 plc4go/protocols/eip/readwrite/XmlParserHelper.go  |   146 +-
 .../readwrite/model/AnsiExtendedSymbolSegment.go   |   255 +
 .../protocols/eip/readwrite/model/CIPAttributes.go |   305 +
 plc4go/protocols/eip/readwrite/model/CIPClassID.go |   149 +
 plc4go/protocols/eip/readwrite/model/CIPData.go    |   218 +
 .../eip/readwrite/model/CIPDataConnected.go        |   207 +
 .../eip/readwrite/model/CIPDataTypeCode.go         |    32 +-
 plc4go/protocols/eip/readwrite/model/CIPStatus.go  |   381 +
 .../eip/readwrite/model/CipConnectedRequest.go     |   307 +
 .../eip/readwrite/model/CipConnectedResponse.go    |   331 +
 .../model/CipConnectionManagerCloseRequest.go      |   561 +
 .../model/CipConnectionManagerCloseResponse.go     |   420 +
 .../readwrite/model/CipConnectionManagerRequest.go |   793 +
 .../model/CipConnectionManagerResponse.go          |   463 +
 .../protocols/eip/readwrite/model/CipExchange.go   |   291 -
 plc4go/protocols/eip/readwrite/model/CipRRData.go  |   249 +-
 .../eip/readwrite/model/CipReadRequest.go          |    55 +-
 .../eip/readwrite/model/CipReadResponse.go         |   116 +-
 plc4go/protocols/eip/readwrite/model/CipService.go |    89 +-
 .../eip/readwrite/model/CipUnconnectedRequest.go   |   275 +-
 .../eip/readwrite/model/CipWriteRequest.go         |    67 +-
 .../eip/readwrite/model/CipWriteResponse.go        |    24 +-
 plc4go/protocols/eip/readwrite/model/ClassID.go    |   230 +
 .../protocols/eip/readwrite/model/ClassSegment.go  |   258 +
 .../eip/readwrite/model/ConnectedAddressItem.go    |   243 +
 .../eip/readwrite/model/ConnectedDataItem.go       |   258 +
 .../protocols/eip/readwrite/model/DataSegment.go   |   215 +
 .../eip/readwrite/model/DataSegmentType.go         |   206 +
 .../eip/readwrite/model/EipConnectionRequest.go    |    26 +-
 ...nnectionRequest.go => EipConnectionResponse.go} |   114 +-
 .../eip/readwrite/model/EipDisconnectRequest.go    |    26 +-
 plc4go/protocols/eip/readwrite/model/EipPacket.go  |   112 +-
 .../eip/readwrite/model/GetAttributeAllRequest.go  |   278 +
 .../eip/readwrite/model/GetAttributeAllResponse.go |   331 +
 plc4go/protocols/eip/readwrite/model/InstanceID.go |   230 +
 .../eip/readwrite/model/InstanceSegment.go         |   258 +
 .../eip/readwrite/model/IntegerEncoding.go         |   141 +
 .../eip/readwrite/model/ListServicesRequest.go     |   181 +
 .../eip/readwrite/model/ListServicesResponse.go    |   281 +
 .../eip/readwrite/model/LogicalSegment.go          |   215 +
 .../eip/readwrite/model/LogicalSegmentType.go      |   210 +
 plc4go/protocols/eip/readwrite/model/MemberID.go   |   230 +
 .../eip/readwrite/model/MultipleServiceRequest.go  |    24 +-
 .../eip/readwrite/model/MultipleServiceResponse.go |    24 +-
 .../readwrite/model/NetworkConnectionParameters.go |   398 +
 .../eip/readwrite/model/NullAddressItem.go         |   207 +
 .../eip/readwrite/model/NullCommandRequest.go      |   181 +
 .../eip/readwrite/model/NullCommandResponse.go     |   181 +
 .../readwrite/model/NullEipConnectionResponse.go   |   181 +
 .../readwrite/model/NullListServicesResponse.go    |   181 +
 .../protocols/eip/readwrite/model/PathSegment.go   |   210 +
 .../protocols/eip/readwrite/model/PortSegment.go   |   215 +
 .../eip/readwrite/model/PortSegmentExtended.go     |   283 +
 .../eip/readwrite/model/PortSegmentNormal.go       |   229 +
 .../eip/readwrite/model/PortSegmentType.go         |   207 +
 .../protocols/eip/readwrite/model/SendUnitData.go  |   342 +
 plc4go/protocols/eip/readwrite/model/Services.go   |    44 +-
 .../eip/readwrite/model/ServicesResponse.go        |   376 +
 .../protocols/eip/readwrite/model/StaticHelper.go  |    15 +
 .../protocols/eip/readwrite/model/TransportType.go |   233 +
 plc4go/protocols/eip/readwrite/model/TypeId.go     |   214 +
 .../eip/readwrite/model/UnConnectedDataItem.go     |   232 +
 plc4go/spi/testutils/steptype_string.go            |    17 +
 .../eip/readwrite/AnsiExtendedSymbolSegment.java   |     8 +-
 .../CipConnectionManagerCloseRequest.java          |     2 +-
 .../eip/readwrite/CipConnectionManagerRequest.java |     2 +-
 .../java/eip/readwrite/utils/StaticHelper.java     |     8 +-
 .../eip/src/main/resources/protocols/eip/eip.mspec |     8 +-
 2011 files changed, 107986 insertions(+), 101085 deletions(-)

diff --git a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index 567ea8da90..8c6a30a8b4 100644
--- a/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ b/code-generation/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -22,11 +22,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.math.NumberUtils;
 import org.apache.commons.text.CaseUtils;
 import org.apache.plc4x.plugins.codegenerator.language.mspec.model.definitions.DefaultArgument;
-import org.apache.plc4x.plugins.codegenerator.language.mspec.model.references.DefaultBooleanTypeReference;
-import org.apache.plc4x.plugins.codegenerator.language.mspec.model.references.DefaultFloatTypeReference;
-import org.apache.plc4x.plugins.codegenerator.language.mspec.model.references.DefaultIntegerTypeReference;
-import org.apache.plc4x.plugins.codegenerator.language.mspec.model.references.DefaultVstringTypeReference;
+import org.apache.plc4x.plugins.codegenerator.language.mspec.model.references.*;
 import org.apache.plc4x.plugins.codegenerator.language.mspec.model.terms.DefaultStringLiteral;
+import org.apache.plc4x.plugins.codegenerator.language.mspec.model.terms.DefaultTernaryTerm;
 import org.apache.plc4x.plugins.codegenerator.protocol.freemarker.BaseFreemarkerLanguageTemplateHelper;
 import org.apache.plc4x.plugins.codegenerator.protocol.freemarker.FreemarkerException;
 import org.apache.plc4x.plugins.codegenerator.protocol.freemarker.Tracer;
@@ -123,6 +121,9 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
         if (typeReference.isNonSimpleTypeReference()) {
             return typeReference.asNonSimpleTypeReference().orElseThrow().getName();
         }
+        if (typeReference instanceof ByteOrderTypeReference) {
+            return "binary.byteOrder";
+        }
         SimpleTypeReference simpleTypeReference = typeReference.asSimpleTypeReference().orElseThrow();
         switch (simpleTypeReference.getBaseType()) {
             case BIT:
@@ -583,6 +584,8 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
         Tracer tracer = Tracer.start("castExpression");
         if (typeReference instanceof SimpleTypeReference) {
             return tracer.dive("simpleTypeRef") + getLanguageTypeNameForTypeReference(typeReference);
+        } else if (typeReference instanceof ByteOrderTypeReference) {
+            return tracer.dive( "byteOrderTypeRef") + "binary.ByteOrder";
         } else if (typeReference != null) {
             return tracer.dive("anyTypeRef") + "Cast" + getLanguageTypeNameForTypeReference(typeReference);
         } else {
@@ -618,10 +621,16 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
             String inlineIf = "utils.InlineIf(" + toExpression(field, new DefaultBooleanTypeReference(), a, parserArguments, serializerArguments, serialize, false) + ", " +
                 "func() interface{} {return " + castExpressionForTypeReference + "(" + toExpression(field, fieldType, b, parserArguments, serializerArguments, serialize, false) + ")}, " +
                 "func() interface{} {return " + castExpressionForTypeReference + "(" + toExpression(field, fieldType, c, parserArguments, serializerArguments, serialize, false) + ")})";
-            if (fieldType.isNonSimpleTypeReference()) {
-                return tracer.dive("nonsimpletypereference") + castExpressionForTypeReference + "(" + inlineIf + ")";
+            if (fieldType != null) {
+                if (fieldType instanceof ByteOrderTypeReference) {
+                    return tracer.dive("byteordertypereference") + "(" + inlineIf + ").(binary.ByteOrder)";
+                }
+                if (fieldType.isNonSimpleTypeReference()) {
+                    return tracer.dive("nonsimpletypereference") + castExpressionForTypeReference + "(" + inlineIf + ")";
+                }
+                return tracer + inlineIf + ".(" + castExpressionForTypeReference + ")";
             }
-            return tracer + inlineIf + ".(" + castExpressionForTypeReference + ")";
+            return tracer + inlineIf;
         } else {
             throw new RuntimeException("Unsupported ternary operation type " + ternaryTerm.getOperation());
         }
@@ -725,6 +734,10 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
             VariableLiteral variableLiteral = (VariableLiteral) term;
             if ("curPos".equals(((VariableLiteral) term).getName())) {
                 return "(positionAware.GetPos() - startPos)";
+            } else if ("BIG_ENDIAN".equals(((VariableLiteral) term).getName()) && (fieldType instanceof ByteOrderTypeReference)) {
+                return "binary.BigEndian";
+            } else if ("LITTLE_ENDIAN".equals(((VariableLiteral) term).getName()) && (fieldType instanceof ByteOrderTypeReference)) {
+                return "binary.LittleEndian";
             }
             return tracer + toVariableExpression(field, fieldType, (VariableLiteral) term, parserArguments, serializerArguments, serialize, suppressPointerAccess);
         } else {
@@ -891,15 +904,15 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
                 variableLiteral.getChild()
                     .map(child -> "." + capitalize(toVariableExpression(field, typeReference, child, parserArguments, serializerArguments, false, suppressPointerAccess, true)))
                     .orElse("");
-        }/*
+        }
         if ((parserArguments != null) && parserArguments.stream()
             .anyMatch(argument -> argument.getName().equals(variableLiteralName))) {
             tracer = tracer.dive("parser argument");
-            return tracer + "m." + capitalize(variableLiteralName) +
+            return tracer + variableLiteralName +
                 variableLiteral.getChild()
                     .map(child -> "." + capitalize(toVariableExpression(field, typeReference, child, parserArguments, serializerArguments, false, suppressPointerAccess, true)))
                     .orElse("");
-        }*/
+        }
         String indexCall = "";
         if (variableLiteral.getIndex().isPresent()) {
             tracer = tracer.dive("indexCall");
@@ -1582,17 +1595,18 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
     }
 
     public String getEndiannessOptions(boolean read, boolean separatorPrefix) {
+        return getEndiannessOptions(read, separatorPrefix, Collections.emptyList());
+    }
+
+    public String getEndiannessOptions(boolean read, boolean separatorPrefix, List<Argument> parserArguments) {
         Optional<Term> byteOrder = thisType.getAttribute("byteOrder");
         if (byteOrder.isPresent()) {
             emitRequiredImport("encoding/binary");
 
             String functionName = read ? "WithByteOrderForReadBufferByteBased" : "WithByteOrderForByteBasedBuffer";
-            String byteOrderValue = ((VariableLiteral) byteOrder.get()).getName();
-            if("BIG_ENDIAN".equals(byteOrderValue)) {
-                return (separatorPrefix ? ", " : "") + "utils." + functionName + "(binary.BigEndian)";
-            } else if ("LITTLE_ENDIAN".equals(byteOrderValue)) {
-                return (separatorPrefix ? ", " : "") + "utils." + functionName + "(binary.LittleEndian)";
-            }
+
+            String expression = toParseExpression(null, new DefaultByteOrderTypeReference(), byteOrder.orElseThrow(), parserArguments);
+            return (separatorPrefix ? ", " : "") + "utils." + functionName + "(" + expression + ")";
         }
         return "";
     }
diff --git a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
index cba3415c0a..d8db4792fe 100644
--- a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
@@ -750,7 +750,7 @@ func (m *_${type.name}) GetLengthInBytes(ctx context.Context) uint16 {
 <#assign parserArgumentList><#if hasParserArguments><#list parserArguments as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if></#assign>
 <#assign parserArgumentNameList><#if hasParserArguments><#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if></#assign>
 func ${type.name}Parse(theBytes []byte<#if hasParserArguments>, ${parserArgumentList}</#if>) (${type.name}, error) {
-	return ${type.name}ParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes${helper.getEndiannessOptions(true, true)})<#if hasParserArguments>, ${parserArgumentNameList}</#if>)
+	return ${type.name}ParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes${helper.getEndiannessOptions(true, true, parserArguments)})<#if hasParserArguments>, ${parserArgumentNameList}</#if>)
 }
 
 func ${type.name}ParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer<#if hasParserArguments>, ${parserArgumentList}</#if>) (${type.name}, error) {
@@ -1542,7 +1542,7 @@ func (pm *_${type.name}) SerializeParent(ctx context.Context, writeBuffer utils.
 	_ = m
 <#else>
 func (m *_${type.name}) Serialize() ([]byte, error) {
-	wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))${helper.getEndiannessOptions(false, true)})
+	wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))${helper.getEndiannessOptions(false, true, parserArguments)})
 	if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
 		return nil, err
 	}
diff --git a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
index a5843c33c8..9395d9a5c1 100644
--- a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
@@ -70,7 +70,7 @@ import (
 <#-- TODO: the code below implies that parserArguments will be null if not present... not pretty  -->
 <#if type.parserArguments.isPresent()><#assign parserArguments=type.parserArguments.orElseThrow()></#if>
 func ${type.name}Parse(ctx context.Context, theBytes []byte<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
-	return ${type.name}ParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes${helper.getEndiannessOptions(true, true)})<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
+	return ${type.name}ParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes${helper.getEndiannessOptions(true, true, parserArguments)})<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
 }
 
 func ${type.name}ParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
@@ -238,7 +238,7 @@ func ${type.name}ParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
 }
 
 func ${type.name}Serialize(value api.PlcValue<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) ([]byte, error) {
-	wb := utils.NewWriteBufferByteBased(${helper.getEndiannessOptions(false, false)})
+	wb := utils.NewWriteBufferByteBased(${helper.getEndiannessOptions(false, false, parserArguments)})
 	if err := ${type.name}SerializeWithWriteBuffer(context.Background(), wb, value<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>); err != nil {
 		return nil, err
 	}
diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultByteOrderTypeReference.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultByteOrderTypeReference.java
new file mode 100644
index 0000000000..c0d7b30f65
--- /dev/null
+++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultByteOrderTypeReference.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.plc4x.plugins.codegenerator.language.mspec.model.references;
+
+import org.apache.plc4x.plugins.codegenerator.types.references.ByteOrderTypeReference;
+
+public class DefaultByteOrderTypeReference implements ByteOrderTypeReference {
+
+}
diff --git a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
index 98f44f1298..a57637bfa2 100644
--- a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
@@ -28,23 +28,69 @@
   <driver-name>eip</driver-name>
 
   <setup>
-    <!-- First the driver is expected to send a RegisterSession connection request -->
+    <!--
+      First the driver is expected to send a ListServicesRequest in order to find out if CIP
+      encapsulation is supported.
+    -->
+    <outgoing-plc-message name="Send list services request">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>false</response>
+      </parser-arguments>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">4</command>
+        <packetLength dataType="uint" bitLength="16">0</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">0</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <ListServicesRequest>
+        </ListServicesRequest>
+      </EipPacket>
+    </outgoing-plc-message>
+    <!-- The PLC will respond accordingly -->
+    <incoming-plc-message name="Receive list services response">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>true</response>
+      </parser-arguments>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">4</command>
+        <packetLength dataType="uint" bitLength="16">25</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">2417269484</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <ListServicesResponse>
+          <itemCount dataType="uint" bitLength="16">1</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">256</id>
+              <ServicesResponse>
+                <serviceLen dataType="uint" bitLength="16">19</serviceLen>
+                <encapsulationProtocol dataType="uint" bitLength="16">1</encapsulationProtocol>
+                <reserved dataType="uint" bitLength="2">0</reserved>
+                <supportsCIPEncapsulation dataType="bit" bitLength="1">true</supportsCIPEncapsulation>
+                <reserved dataType="uint" bitLength="12">0</reserved>
+                <supportsUDP dataType="bit" bitLength="1">false</supportsUDP>
+                <data dataType="byte" bitLength="120">0x436f6d6d756e69636174696f6e7300</data>
+              </ServicesResponse>
+            </TypeId>
+          </typeId>
+        </ListServicesResponse>
+      </EipPacket>
+    </incoming-plc-message>
     <outgoing-plc-message name="Send connection request">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>false</response>
+      </parser-arguments>
       <EipPacket>
         <command dataType="uint" bitLength="16">101</command>
         <packetLength dataType="uint" bitLength="16">4</packetLength>
         <sessionHandle dataType="uint" bitLength="32">0</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <EipConnectionRequest>
           <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
@@ -52,28 +98,141 @@
         </EipConnectionRequest>
       </EipPacket>
     </outgoing-plc-message>
-    <!-- The PLC will send the connection response with a sender context and session handle -->
     <incoming-plc-message name="Receive connection response">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>true</response>
+      </parser-arguments>
       <EipPacket>
         <command dataType="uint" bitLength="16">101</command>
         <packetLength dataType="uint" bitLength="16">4</packetLength>
-        <sessionHandle dataType="uint" bitLength="32">1</sessionHandle>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">2</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
         <options dataType="uint" bitLength="32">0</options>
-        <EipConnectionRequest>
+        <EipConnectionResponse>
           <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
           <flags dataType="uint" bitLength="16">0</flags>
-        </EipConnectionRequest>
+        </EipConnectionResponse>
+      </EipPacket>
+    </incoming-plc-message>
+
+    <outgoing-plc-message name="Send get attribute all request">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>false</response>
+      </parser-arguments>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">22</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">6</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">2</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                    </GetAttributeAllRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </outgoing-plc-message>
+    <incoming-plc-message name="Receive get attribute all response">
+      <parser-arguments>
+        <byteOrder>BIG_ENDIAN</byteOrder>
+        <response>true</response>
+      </parser-arguments>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">22</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">4</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                    </GetAttributeAllResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
       </EipPacket>
     </incoming-plc-message>
   </setup>
@@ -92,106 +251,144 @@
         </TestReadRequest>
       </api-request>
       <outgoing-plc-message name="Send CipReadRequest to PLC">
+        <parser-arguments>
+          <byteOrder>BIG_ENDIAN</byteOrder>
+          <response>false</response>
+        </parser-arguments>
         <EipPacket>
           <command dataType="uint" bitLength="16">111</command>
           <packetLength dataType="uint" bitLength="16">40</packetLength>
-          <sessionHandle dataType="uint" bitLength="32">1</sessionHandle>
+          <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
           <status dataType="uint" bitLength="32">0</status>
-          <senderContext isList="true">
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-          </senderContext>
+          <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
           <options dataType="uint" bitLength="32">0</options>
           <CipRRData>
-            <reserved dataType="uint" bitLength="32">0</reserved>
-            <reserved dataType="uint" bitLength="16">0</reserved>
-            <exchange>
-              <CipExchange>
-                <itemCount dataType="uint" bitLength="16">2</itemCount>
-                <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-                <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-                <size dataType="uint" bitLength="16">24</size>
-                <service>
-                  <CipService>
-                    <service dataType="uint" bitLength="8">82</service>
-                    <CipUnconnectedRequest>
-                      <reserved dataType="uint" bitLength="8">2</reserved>
-                      <reserved dataType="uint" bitLength="8">32</reserved>
-                      <reserved dataType="uint" bitLength="8">6</reserved>
-                      <reserved dataType="uint" bitLength="8">36</reserved>
-                      <reserved dataType="uint" bitLength="8">1</reserved>
-                      <reserved dataType="uint" bitLength="16">40197</reserved>
-                      <messageSize dataType="uint" bitLength="16">10</messageSize>
-                      <unconnectedService>
-                        <CipService>
-                          <service dataType="uint" bitLength="8">76</service>
-                          <CipReadRequest>
-                            <requestPathSize dataType="int" bitLength="8">3</requestPathSize>
-                            <tag dataType="byte" bitLength="48">0x910472617465</tag>
-                            <elementNb dataType="uint" bitLength="16">1</elementNb>
-                          </CipReadRequest>
-                        </CipService>
-                      </unconnectedService>
-                      <route dataType="uint" bitLength="16">1</route>
-                      <backPlane dataType="int" bitLength="8">0</backPlane>
-                      <slot dataType="int" bitLength="8">0</slot>
-                    </CipUnconnectedRequest>
-                  </CipService>
-                </service>
-              </CipExchange>
-            </exchange>
+            <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+            <timeout dataType="uint" bitLength="16">0</timeout>
+            <itemCount dataType="uint" bitLength="16">2</itemCount>
+            <typeId isList="true">
+              <TypeId>
+                <id dataType="uint" bitLength="16">0</id>
+                <NullAddressItem>
+                  <reserved dataType="uint" bitLength="16">0</reserved>
+                </NullAddressItem>
+              </TypeId>
+              <TypeId>
+                <id dataType="uint" bitLength="16">178</id>
+                <UnConnectedDataItem>
+                  <packetSize dataType="uint" bitLength="16">24</packetSize>
+                  <service>
+                    <CipService>
+                      <response dataType="bit" bitLength="1">false</response>
+                      <service dataType="uint" bitLength="7">82</service>
+                      <CipUnconnectedRequest>
+                        <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                        <classSegment>
+                          <PathSegment>
+                            <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                            <LogicalSegment>
+                              <segmentType>
+                                <LogicalSegmentType>
+                                  <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                  <ClassID>
+                                    <format dataType="uint" bitLength="2">0</format>
+                                    <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                  </ClassID>
+                                </LogicalSegmentType>
+                              </segmentType>
+                            </LogicalSegment>
+                          </PathSegment>
+                        </classSegment>
+                        <instanceSegment>
+                          <PathSegment>
+                            <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                            <LogicalSegment>
+                              <segmentType>
+                                <LogicalSegmentType>
+                                  <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                  <InstanceID>
+                                    <format dataType="uint" bitLength="2">0</format>
+                                    <instance dataType="uint" bitLength="8">1</instance>
+                                  </InstanceID>
+                                </LogicalSegmentType>
+                              </segmentType>
+                            </LogicalSegment>
+                          </PathSegment>
+                        </instanceSegment>
+                        <reserved dataType="uint" bitLength="16">40197</reserved>
+                        <messageSize dataType="uint" bitLength="16">10</messageSize>
+                        <unconnectedService>
+                          <CipService>
+                            <response dataType="bit" bitLength="1">false</response>
+                            <service dataType="uint" bitLength="7">76</service>
+                            <CipReadRequest>
+                              <requestPathSize dataType="int" bitLength="8">3</requestPathSize>
+                              <tag dataType="byte" bitLength="48">0x910472617465</tag>
+                              <elementNb dataType="uint" bitLength="16">1</elementNb>
+                            </CipReadRequest>
+                          </CipService>
+                        </unconnectedService>
+                        <route dataType="uint" bitLength="16">1</route>
+                        <backPlane dataType="int" bitLength="8">1</backPlane>
+                        <slot dataType="int" bitLength="8">0</slot>
+                      </CipUnconnectedRequest>
+                    </CipService>
+                  </service>
+                </UnConnectedDataItem>
+              </TypeId>
+            </typeId>
           </CipRRData>
         </EipPacket>
       </outgoing-plc-message>
       <incoming-plc-message name="Get CipReadResponse from PLC">
+        <parser-arguments>
+          <byteOrder>BIG_ENDIAN</byteOrder>
+          <response>true</response>
+        </parser-arguments>
         <EipPacket>
           <command dataType="uint" bitLength="16">111</command>
-          <packetLength dataType="uint" bitLength="16">26</packetLength>
-          <sessionHandle dataType="uint" bitLength="32">1</sessionHandle>
+          <packetLength dataType="uint" bitLength="16">112</packetLength>
+          <sessionHandle dataType="uint" bitLength="32">1073742122</sessionHandle>
           <status dataType="uint" bitLength="32">0</status>
-          <senderContext isList="true">
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">0</value>
-            <value dataType="uint" bitLength="8">2</value>
-          </senderContext>
+          <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
           <options dataType="uint" bitLength="32">0</options>
           <CipRRData>
-            <reserved dataType="uint" bitLength="32">0</reserved>
-            <reserved dataType="uint" bitLength="16">0</reserved>
-            <exchange>
-              <CipExchange>
-                <itemCount dataType="uint" bitLength="16">2</itemCount>
-                <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-                <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-                <size dataType="uint" bitLength="16">10</size>
-                <service>
-                  <CipService>
-                    <service dataType="uint" bitLength="8">204</service>
-                    <CipReadResponse>
-                      <reserved dataType="uint" bitLength="8">0</reserved>
-                      <status dataType="uint" bitLength="8">0</status>
-                      <extStatus dataType="uint" bitLength="8">0</extStatus>
-                      <dataType>
-                        <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196
-                        </CIPDataTypeCode>
-                      </dataType>
-                      <data dataType="byte" bitLength="32">0x00000216</data>
-                    </CipReadResponse>
-                  </CipService>
-                </service>
-              </CipExchange>
-            </exchange>
+            <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+            <timeout dataType="uint" bitLength="16">0</timeout>
+            <itemCount dataType="uint" bitLength="16">2</itemCount>
+            <typeId isList="true">
+              <TypeId>
+                <id dataType="uint" bitLength="16">0</id>
+                <NullAddressItem>
+                  <reserved dataType="uint" bitLength="16">0</reserved>
+                </NullAddressItem>
+              </TypeId>
+              <TypeId>
+                <id dataType="uint" bitLength="16">178</id>
+                <UnConnectedDataItem>
+                  <packetSize dataType="uint" bitLength="16">96</packetSize>
+                  <service>
+                    <CipService>
+                      <response dataType="bit" bitLength="1">true</response>
+                      <service dataType="uint" bitLength="7">76</service>
+                      <CipReadResponse>
+                        <reserved dataType="uint" bitLength="8">0</reserved>
+                        <status dataType="uint" bitLength="8">0</status>
+                        <extStatus dataType="uint" bitLength="8">0</extStatus>
+                        <data>
+                          <CIPData>
+                            <dataType>
+                              <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="STRING36">672</CIPDataTypeCode>
+                            </dataType>
+                            <data dataType="byte" bitLength="720">0xce0f2b000000556d6d2c2049206e6f772073656520796f7520696e207468652077697265736861726b20636170747572650000000000000000000000000000000000000000000000000000000000000000000000000000000000</data>
+                          </CIPData>
+                        </data>
+                      </CipReadResponse>
+                    </CipService>
+                  </service>
+                </UnConnectedDataItem>
+              </TypeId>
+            </typeId>
           </CipRRData>
         </EipPacket>
       </incoming-plc-message>
@@ -201,7 +398,7 @@
             <tags>
               <hurz>
                 <EipTag>
-                  <node dataType="string" bitLength="32" encoding="UTF-8">rate</node>
+                  <node dataType="string" bitLength="40" encoding="UTF-8">%rate</node>
                   <elementNb dataType="uint" bitLength="16">0</elementNb>
                   <defaultJavaType dataType="string" bitLength="128" encoding="UTF-8">java.lang.Object</defaultJavaType>
                 </EipTag>
@@ -209,12 +406,6 @@
             </tags>
           </PlcReadRequest>
           <values>
-            <hurz>
-              <ResponseItem>
-                <result dataType="string" bitLength="16" encoding="UTF-8">OK</result>
-                <PlcDINT dataType="int" bitLength="64">369229824</PlcDINT>
-              </ResponseItem>
-            </hurz>
           </values>
         </PlcReadResponse>
       </api-response>
diff --git a/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
index 5604aa9c9f..6edf289bbb 100644
--- a/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
-                byteOrder="LITTLE_ENDIAN">
+                byteOrder="BIG_ENDIAN">
 
   <name>EIP</name>
 
@@ -27,24 +27,19 @@
 
   <testcase>
     <name>Register Session</name>
-    <raw>65000400000000000000000000000000000000000000000001000000</raw>
+    <raw>00650004000000000000000000000000000000000000000000010000</raw>
     <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>BIG_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
     <xml>
       <EipPacket>
         <command dataType="uint" bitLength="16">101</command>
         <packetLength dataType="uint" bitLength="16">4</packetLength>
         <sessionHandle dataType="uint" bitLength="32">0</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <EipConnectionRequest>
           <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
@@ -54,238 +49,311 @@
     </xml>
   </testcase>
 
-  <!--testcase>
+  <testcase>
     <name>CIP Read Request</name>
     <raw>
       006F0028000012340000000001000000000000010000000000000000000000020000000000B200185202200624019D05000A4C03910472617465000100010104
     </raw>
     <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>BIG_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
     <xml>
       <EipPacket>
         <command dataType="uint" bitLength="16">111</command>
         <packetLength dataType="uint" bitLength="16">40</packetLength>
         <sessionHandle dataType="uint" bitLength="32">4660</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">1</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">1</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x0100000000000001</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <CipRRData>
-          <reserved dataType="uint" bitLength="32">0</reserved>
-          <reserved dataType="uint" bitLength="16">0</reserved>
-          <exchange>
-            <CipExchange>
-              <itemCount dataType="uint" bitLength="16">2</itemCount>
-              <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-              <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-              <size dataType="uint" bitLength="16">24</size>
-              <service>
-                <CipService>
-                  <service dataType="uint" bitLength="8">82</service>
-                  <CipUnconnectedRequest>
-                    <reserved dataType="uint" bitLength="8">2</reserved>
-                    <reserved dataType="uint" bitLength="8">32</reserved>
-                    <reserved dataType="uint" bitLength="8">6</reserved>
-                    <reserved dataType="uint" bitLength="8">36</reserved>
-                    <reserved dataType="uint" bitLength="8">1</reserved>
-                    <reserved dataType="uint" bitLength="16">40197</reserved>
-                    <messageSize dataType="uint" bitLength="16">10</messageSize>
-                    <unconnectedService>
-                      <CipService>
-                        <service dataType="uint" bitLength="8">76</service>
-                        <CipReadRequest>
-                          <requestPathSize dataType="int" bitLength="8">3</requestPathSize>
-                          <tag dataType="byte" bitLength="48">0x910472617465</tag>
-                          <elementNb dataType="uint" bitLength="16">1</elementNb>
-                        </CipReadRequest>
-                      </CipService>
-                    </unconnectedService>
-                    <route dataType="uint" bitLength="16">1</route>
-                    <backPlane dataType="int" bitLength="8">1</backPlane>
-                    <slot dataType="int" bitLength="8">4</slot>
-                  </CipUnconnectedRequest>
-                </CipService>
-              </service>
-            </CipExchange>
-          </exchange>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">24</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipUnconnectedRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                      <reserved dataType="uint" bitLength="16">40197</reserved>
+                      <messageSize dataType="uint" bitLength="16">10</messageSize>
+                      <unconnectedService>
+                        <CipService>
+                          <response dataType="bit" bitLength="1">false</response>
+                          <service dataType="uint" bitLength="7">76</service>
+                          <CipReadRequest>
+                            <requestPathSize dataType="int" bitLength="8">3</requestPathSize>
+                            <tag dataType="byte" bitLength="48">0x910472617465</tag>
+                            <elementNb dataType="uint" bitLength="16">1</elementNb>
+                          </CipReadRequest>
+                        </CipService>
+                      </unconnectedService>
+                      <route dataType="uint" bitLength="16">1</route>
+                      <backPlane dataType="int" bitLength="8">1</backPlane>
+                      <slot dataType="int" bitLength="8">4</slot>
+                    </CipUnconnectedRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
         </CipRRData>
       </EipPacket>
     </xml>
-  </testcase-->
+  </testcase>
 
-  <!--testcase>
+  <testcase>
     <name>CIP Read Response</name>
     <raw>006F001A000012340000000001000000000000010000000000000000000000020000000000B2000ACC00000000C400000216</raw>
     <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>BIG_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
     <xml>
       <EipPacket>
         <command dataType="uint" bitLength="16">111</command>
         <packetLength dataType="uint" bitLength="16">26</packetLength>
         <sessionHandle dataType="uint" bitLength="32">4660</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">1</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">1</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x0100000000000001</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <CipRRData>
-          <reserved dataType="uint" bitLength="32">0</reserved>
-          <reserved dataType="uint" bitLength="16">0</reserved>
-          <exchange>
-            <CipExchange>
-              <itemCount dataType="uint" bitLength="16">2</itemCount>
-              <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-              <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-              <size dataType="uint" bitLength="16">10</size>
-              <service>
-                <CipService>
-                  <service dataType="uint" bitLength="8">204</service>
-                  <CipReadResponse>
-                    <reserved dataType="uint" bitLength="8">0</reserved>
-                    <status dataType="uint" bitLength="8">0</status>
-                    <extStatus dataType="uint" bitLength="8">0</extStatus>
-                    <dataType>
-                      <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
-                    </dataType>
-                    <data dataType="byte" bitLength="32">0x00000216</data>
-                  </CipReadResponse>
-                </CipService>
-              </service>
-            </CipExchange>
-          </exchange>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">10</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">76</service>
+                    <CipReadResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                      <data>
+                        <CIPData>
+                          <dataType>
+                            <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
+                          </dataType>
+                          <data dataType="byte" bitLength="32">0x00000216</data>
+                        </CIPData>
+                      </data>
+                    </CipReadResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
         </CipRRData>
       </EipPacket>
     </xml>
-  </testcase-->
+  </testcase>
 
-  <!--testcase>
+  <testcase>
     <name>CIP Write Request</name>
     <raw>
       006F0034000012340000000001000000000000010000000000000000000000020000000000B200245202200624019D0500164D069116436172746F6E53697A6500C400010000000E00010104
     </raw>
     <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>BIG_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
     <xml>
       <EipPacket>
         <command dataType="uint" bitLength="16">111</command>
         <packetLength dataType="uint" bitLength="16">52</packetLength>
         <sessionHandle dataType="uint" bitLength="32">4660</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">1</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">1</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x0100000000000001</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <CipRRData>
-          <reserved dataType="uint" bitLength="32">0</reserved>
-          <reserved dataType="uint" bitLength="16">0</reserved>
-          <exchange>
-            <CipExchange>
-              <itemCount dataType="uint" bitLength="16">2</itemCount>
-              <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-              <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-              <size dataType="uint" bitLength="16">36</size>
-              <service>
-                <CipService>
-                  <service dataType="uint" bitLength="8">82</service>
-                  <CipUnconnectedRequest>
-                    <reserved dataType="uint" bitLength="8">2</reserved>
-                    <reserved dataType="uint" bitLength="8">32</reserved>
-                    <reserved dataType="uint" bitLength="8">6</reserved>
-                    <reserved dataType="uint" bitLength="8">36</reserved>
-                    <reserved dataType="uint" bitLength="8">1</reserved>
-                    <reserved dataType="uint" bitLength="16">40197</reserved>
-                    <messageSize dataType="uint" bitLength="16">22</messageSize>
-                    <unconnectedService>
-                      <CipService>
-                        <service dataType="uint" bitLength="8">77</service>
-                        <CipWriteRequest>
-                          <requestPathSize dataType="int" bitLength="8">6</requestPathSize>
-                          <tag dataType="byte" bitLength="96">0x9116436172746f6e53697a65</tag>
-                          <dataType>
-                            <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
-                          </dataType>
-                          <elementNb dataType="uint" bitLength="16">1</elementNb>
-                          <data dataType="byte" bitLength="32">0x0000000e</data>
-                        </CipWriteRequest>
-                      </CipService>
-                    </unconnectedService>
-                    <route dataType="uint" bitLength="16">1</route>
-                    <backPlane dataType="int" bitLength="8">1</backPlane>
-                    <slot dataType="int" bitLength="8">4</slot>
-                  </CipUnconnectedRequest>
-                </CipService>
-              </service>
-            </CipExchange>
-          </exchange>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">36</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipUnconnectedRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                      <reserved dataType="uint" bitLength="16">40197</reserved>
+                      <messageSize dataType="uint" bitLength="16">22</messageSize>
+                      <unconnectedService>
+                        <CipService>
+                          <response dataType="bit" bitLength="1">false</response>
+                          <service dataType="uint" bitLength="7">77</service>
+                          <CipWriteRequest>
+                            <requestPathSize dataType="int" bitLength="8">6</requestPathSize>
+                            <tag dataType="byte" bitLength="96">0x9116436172746f6e53697a65</tag>
+                            <dataType>
+                              <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
+                            </dataType>
+                            <elementNb dataType="uint" bitLength="16">1</elementNb>
+                            <data dataType="byte" bitLength="32">0x0000000e</data>
+                          </CipWriteRequest>
+                        </CipService>
+                      </unconnectedService>
+                      <route dataType="uint" bitLength="16">1</route>
+                      <backPlane dataType="int" bitLength="8">1</backPlane>
+                      <slot dataType="int" bitLength="8">4</slot>
+                    </CipUnconnectedRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
         </CipRRData>
       </EipPacket>
     </xml>
-  </testcase-->
+  </testcase>
 
-  <!--testcase>
+  <testcase>
     <name>CIP Write Response</name>
     <raw>006F0014000012340000000001000000000000010000000000000000000000020000000000B20004CD000000</raw>
     <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>BIG_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
     <xml>
       <EipPacket>
         <command dataType="uint" bitLength="16">111</command>
         <packetLength dataType="uint" bitLength="16">20</packetLength>
         <sessionHandle dataType="uint" bitLength="32">4660</sessionHandle>
         <status dataType="uint" bitLength="32">0</status>
-        <senderContext isList="true">
-          <value dataType="uint" bitLength="8">1</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">0</value>
-          <value dataType="uint" bitLength="8">1</value>
-        </senderContext>
+        <senderContext dataType="byte" bitLength="64">0x0100000000000001</senderContext>
         <options dataType="uint" bitLength="32">0</options>
         <CipRRData>
-          <reserved dataType="uint" bitLength="32">0</reserved>
-          <reserved dataType="uint" bitLength="16">0</reserved>
-          <exchange>
-            <CipExchange>
-              <itemCount dataType="uint" bitLength="16">2</itemCount>
-              <nullPtr dataType="uint" bitLength="32">0</nullPtr>
-              <unconnectedData dataType="uint" bitLength="16">178</unconnectedData>
-              <size dataType="uint" bitLength="16">4</size>
-              <service>
-                <CipService>
-                  <service dataType="uint" bitLength="8">205</service>
-                  <CipWriteResponse>
-                    <reserved dataType="uint" bitLength="8">0</reserved>
-                    <status dataType="uint" bitLength="8">0</status>
-                    <extStatus dataType="uint" bitLength="8">0</extStatus>
-                  </CipWriteResponse>
-                </CipService>
-              </service>
-            </CipExchange>
-          </exchange>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">4</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">77</service>
+                    <CipWriteResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                    </CipWriteResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
         </CipRRData>
       </EipPacket>
     </xml>
-  </testcase-->
-
+  </testcase>
 </test:testsuite>
\ No newline at end of file
diff --git a/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuiteLittle.xml b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuiteLittle.xml
new file mode 100644
index 0000000000..2d9878554f
--- /dev/null
+++ b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuiteLittle.xml
@@ -0,0 +1,1499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  -->
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="LITTLE_ENDIAN">
+
+  <name>EIP</name>
+
+  <protocolName>eip</protocolName>
+  <outputFlavor>read-write</outputFlavor>
+
+  <testcase>
+    <name>CIP Connected Read Request</name>
+    <raw>70003800c9070440000000005765277265000000000000000000000000000200a10004005942feffb10024000100520d91124b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b910370707000010000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">56</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074005961</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x5765277265000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">4294853209</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">36</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">1</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipConnectedRequest>
+                      <requestPathSize dataType="uint" bitLength="8">13</requestPathSize>
+                      <pathSegments dataType="byte" bitLength="208">0x91124b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b910370707000</pathSegments>
+                      <reserved dataType="uint" bitLength="16">1</reserved>
+                      <reserved dataType="uint" bitLength="32">0</reserved>
+                    </CipConnectedRequest>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connection Manager Open Large Forward Request</name>
+    <raw>6f0044001d5e074000000000000000000000000000000000000000000000020000000000b20034005b02200624010a0e02000020b4a500002bcb37132a0000000300000034122000a20f004201402000a20f0042a303010020022401</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">68</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">52</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">91</service>
+                    <CipConnectionManagerRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                      <priority dataType="uint" bitLength="4">0</priority>
+                      <tickTime dataType="uint" bitLength="4">10</tickTime>
+                      <timeoutTicks dataType="uint" bitLength="8">14</timeoutTicks>
+                      <otConnectionId dataType="uint" bitLength="32">536870914</otConnectionId>
+                      <toConnectionId dataType="uint" bitLength="32">42420</toConnectionId>
+                      <connectionSerialNumber dataType="uint" bitLength="16">52011</connectionSerialNumber>
+                      <originatorVendorId dataType="uint" bitLength="16">4919</originatorVendorId>
+                      <originatorSerialNumber dataType="uint" bitLength="32">42</originatorSerialNumber>
+                      <timeoutMultiplier dataType="uint" bitLength="8">3</timeoutMultiplier>
+                      <reserved dataType="uint" bitLength="24">0</reserved>
+                      <otRpi dataType="uint" bitLength="32">2101812</otRpi>
+                      <otConnectionParameters>
+                        <NetworkConnectionParameters>
+                          <connectionSize dataType="uint" bitLength="16">4002</connectionSize>
+                          <reserved dataType="uint" bitLength="8">0</reserved>
+                          <owner dataType="bit" bitLength="1">false</owner>
+                          <connectionType dataType="uint" bitLength="2">2</connectionType>
+                          <reserved dataType="bit" bitLength="1">false</reserved>
+                          <priority dataType="uint" bitLength="2">0</priority>
+                          <connectionSizeType dataType="bit" bitLength="1">true</connectionSizeType>
+                          <reserved dataType="bit" bitLength="1">false</reserved>
+                        </NetworkConnectionParameters>
+                      </otConnectionParameters>
+                      <toRpi dataType="uint" bitLength="32">2113537</toRpi>
+                      <toConnectionParameters>
+                        <NetworkConnectionParameters>
+                          <connectionSize dataType="uint" bitLength="16">4002</connectionSize>
+                          <reserved dataType="uint" bitLength="8">0</reserved>
+                          <owner dataType="bit" bitLength="1">false</owner>
+                          <connectionType dataType="uint" bitLength="2">2</connectionType>
+                          <reserved dataType="bit" bitLength="1">false</reserved>
+                          <priority dataType="uint" bitLength="2">0</priority>
+                          <connectionSizeType dataType="bit" bitLength="1">true</connectionSizeType>
+                          <reserved dataType="bit" bitLength="1">false</reserved>
+                        </NetworkConnectionParameters>
+                      </toConnectionParameters>
+                      <transportType>
+                        <TransportType>
+                          <direction dataType="bit" bitLength="1">true</direction>
+                          <trigger dataType="uint" bitLength="3">2</trigger>
+                          <classTransport dataType="uint" bitLength="4">3</classTransport>
+                        </TransportType>
+                      </transportType>
+                      <connectionPathSize dataType="uint" bitLength="8">3</connectionPathSize>
+                      <connectionPaths isList="true">
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">0</pathSegment>
+                          <PortSegment>
+                            <segmentType>
+                              <PortSegmentType>
+                                <extendedLinkAddress dataType="bit" bitLength="1">false</extendedLinkAddress>
+                                <PortSegmentNormal>
+                                  <port dataType="uint" bitLength="4">1</port>
+                                  <linkAddress dataType="uint" bitLength="8">0</linkAddress>
+                                </PortSegmentNormal>
+                              </PortSegmentType>
+                            </segmentType>
+                          </PortSegment>
+                        </PathSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">2</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </connectionPaths>
+                    </CipConnectionManagerRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connection Manager Open Large Forward Response</name>
+    <raw>6f002e001d5e074000000000000000000000000000000000000000000000020000000000b2001e00db0000005b6bfeffb4a500002bcb37132a00000034122000014020000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">46</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">30</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">91</service>
+                    <CipConnectionManagerResponse>
+                      <reserved dataType="uint" bitLength="24">0</reserved>
+                      <otConnectionId dataType="uint" bitLength="32">4294863707</otConnectionId>
+                      <toConnectionId dataType="uint" bitLength="32">42420</toConnectionId>
+                      <connectionSerialNumber dataType="uint" bitLength="16">52011</connectionSerialNumber>
+                      <originatorVendorId dataType="uint" bitLength="16">4919</originatorVendorId>
+                      <originatorSerialNumber dataType="uint" bitLength="32">42</originatorSerialNumber>
+                      <otApi dataType="uint" bitLength="32">2101812</otApi>
+                      <toApi dataType="uint" bitLength="32">2113537</toApi>
+                      <replySize dataType="uint" bitLength="8">0</replySize>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                    </CipConnectionManagerResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connected Write Request</name>
+    <raw>70002e001d5e0740000000005765277265000000000000000000000000000200a10004005b6bfeffb1001a0001005208910d5a5a5a5f5a5a5a5f415252415900010000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">46</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x5765277265000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">4294863707</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">26</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">1</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipConnectedRequest>
+                      <requestPathSize dataType="uint" bitLength="8">8</requestPathSize>
+                      <pathSegments dataType="byte" bitLength="128">0x910d5a5a5a5f5a5a5a5f415252415900</pathSegments>
+                      <reserved dataType="uint" bitLength="16">1</reserved>
+                      <reserved dataType="uint" bitLength="32">0</reserved>
+                    </CipConnectedRequest>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connected Write Response</name>
+    <raw>700020001d5e0740000000000000000000000000000000000000000000000200a1000400b4a50000b1000c000100d2000000c40000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">32</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">42420</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">12</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">1</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipConnectedResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <additionalStatusWords dataType="uint" bitLength="8">0</additionalStatusWords>
+                      <data>
+                        <CIPDataConnected>
+                          <value dataType="uint" bitLength="32">196</value>
+                          <tagStatus dataType="uint" bitLength="16">0</tagStatus>
+                        </CIPDataConnected>
+                      </data>
+                    </CipConnectedResponse>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connected Write Request 4D</name>
+    <raw>700032001d5e0740000000006e6f000000000000000000000000000000000200a10004005b6bfeffb1001e0002004d09910d5a5a5a5f5a5a5a5f4152524159002801c400010001000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">50</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x6e6f000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">4294863707</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">30</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">2</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">77</service>
+                    <CipWriteRequest>
+                      <requestPathSize dataType="int" bitLength="8">9</requestPathSize>
+                      <tag dataType="byte" bitLength="144">0x910d5a5a5a5f5a5a5a5f4152524159002801</tag>
+                      <dataType>
+                        <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
+                      </dataType>
+                      <elementNb dataType="uint" bitLength="16">1</elementNb>
+                      <data dataType="byte" bitLength="32">0x01000000</data>
+                    </CipWriteRequest>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connected Write Response 4D</name>
+    <raw>700032001d5e0740000000006e6f000000000000000000000000000000000200a10004005b6bfeffb1001e0002004d09910d5a5a5a5f5a5a5a5f4152524159002801c400010001000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">50</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x6e6f000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">4294863707</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">30</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">2</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">77</service>
+                    <CipWriteRequest>
+                      <requestPathSize dataType="int" bitLength="8">9</requestPathSize>
+                      <tag dataType="byte" bitLength="144">0x910d5a5a5a5f5a5a5a5f4152524159002801</tag>
+                      <dataType>
+                        <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
+                      </dataType>
+                      <elementNb dataType="uint" bitLength="16">1</elementNb>
+                      <data dataType="byte" bitLength="32">0x01000000</data>
+                    </CipWriteRequest>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connection Manager Close Request</name>
+    <raw>6f0028001d5e074000000000000000000000000000000000000000000000020000000000b20018004e02200624010a0e2bcb37132a0000000300010020022401</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">40</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">24</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">78</service>
+                    <CipConnectionManagerCloseRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                      <priority dataType="uint" bitLength="4">0</priority>
+                      <tickTime dataType="uint" bitLength="4">10</tickTime>
+                      <timeoutTicks dataType="uint" bitLength="8">14</timeoutTicks>
+                      <connectionSerialNumber dataType="uint" bitLength="16">52011</connectionSerialNumber>
+                      <originatorVendorId dataType="uint" bitLength="16">4919</originatorVendorId>
+                      <originatorSerialNumber dataType="uint" bitLength="32">42</originatorSerialNumber>
+                      <connectionPathSize dataType="uint" bitLength="8">3</connectionPathSize>
+                      <reserved dataType="byte" bitLength="8">0x00</reserved>
+                      <connectionPaths isList="true">
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">0</pathSegment>
+                          <PortSegment>
+                            <segmentType>
+                              <PortSegmentType>
+                                <extendedLinkAddress dataType="bit" bitLength="1">false</extendedLinkAddress>
+                                <PortSegmentNormal>
+                                  <port dataType="uint" bitLength="4">1</port>
+                                  <linkAddress dataType="uint" bitLength="8">0</linkAddress>
+                                </PortSegmentNormal>
+                              </PortSegmentType>
+                            </segmentType>
+                          </PortSegment>
+                        </PathSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">2</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </connectionPaths>
+                    </CipConnectionManagerCloseRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Connection Manager Close Response</name>
+    <raw>6f001e00c907044000000000000000000000000000000000000000000000020000000000b2000e00ce000000902137132a0000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">30</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074005961</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">14</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">78</service>
+                    <CipConnectionManagerCloseResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <additionalStatusWords dataType="uint" bitLength="8">0</additionalStatusWords>
+                      <connectionSerialNumber dataType="uint" bitLength="16">8592</connectionSerialNumber>
+                      <originatorVendorId dataType="uint" bitLength="16">4919</originatorVendorId>
+                      <originatorSerialNumber dataType="uint" bitLength="32">42</originatorSerialNumber>
+                      <applicationReplySize dataType="uint" bitLength="8">0</applicationReplySize>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                    </CipConnectionManagerCloseResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>ENIP Register Session Request</name>
+    <raw>650004000000000000000000302e382e332020200000000001000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">101</command>
+        <packetLength dataType="uint" bitLength="16">4</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">0</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x302e382e33202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <EipConnectionRequest>
+          <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
+          <flags dataType="uint" bitLength="16">0</flags>
+        </EipConnectionRequest>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>ENIP Register Session Response</name>
+    <raw>650004001d5e074000000000302e382e332020200000000001000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">101</command>
+        <packetLength dataType="uint" bitLength="16">4</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x302e382e33202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <EipConnectionResponse>
+          <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
+          <flags dataType="uint" bitLength="16">0</flags>
+        </EipConnectionResponse>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>ENIP Un-Register Session Request</name>
+    <raw>660000001d5e074000000000000000000000000000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">102</command>
+        <packetLength dataType="uint" bitLength="16">0</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <EipDisconnectRequest>
+        </EipDisconnectRequest>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Unconnected Send Request</name>
+    <raw>6f002c002a01004000000000000000000000000000000000000000000000020000000000b2001c00520220062401059d0e004c0591084d79537472696e67010001000100</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">44</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1073742122</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">28</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipUnconnectedRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">6</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                      <reserved dataType="uint" bitLength="16">40197</reserved>
+                      <messageSize dataType="uint" bitLength="16">14</messageSize>
+                      <unconnectedService>
+                        <CipService>
+                          <response dataType="bit" bitLength="1">false</response>
+                          <service dataType="uint" bitLength="7">76</service>
+                          <CipReadRequest>
+                            <requestPathSize dataType="int" bitLength="8">5</requestPathSize>
+                            <tag dataType="byte" bitLength="80">0x91084d79537472696e67</tag>
+                            <elementNb dataType="uint" bitLength="16">1</elementNb>
+                          </CipReadRequest>
+                        </CipService>
+                      </unconnectedService>
+                      <route dataType="uint" bitLength="16">1</route>
+                      <backPlane dataType="int" bitLength="8">1</backPlane>
+                      <slot dataType="int" bitLength="8">0</slot>
+                    </CipUnconnectedRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Unconnected Send Response</name>
+    <raw>6f0070002a01004000000000000000000000000000000000000000000000020000000000b2006000cc000000a002ce0f2b000000556d6d2c2049206e6f772073656520796f7520696e207468652077697265736861726b20636170747572650000000000000000000000000000000000000000000000000000000000000000000000000000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">112</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1073742122</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">96</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">76</service>
+                    <CipReadResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                      <data>
+                        <CIPData>
+                          <dataType>
+                            <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="STRING36">672</CIPDataTypeCode>
+                          </dataType>
+                          <data dataType="byte" bitLength="720">0xce0f2b000000556d6d2c2049206e6f772073656520796f7520696e207468652077697265736861726b20636170747572650000000000000000000000000000000000000000000000000000000000000000000000000000000000</data>
+                        </CIPData>
+                      </data>
+                    </CipReadResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Register Response - Simulator</name>
+    <raw>6500040081926a3500000000504c4334582020200000000001000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">101</command>
+        <packetLength dataType="uint" bitLength="16">4</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">896176769</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <EipConnectionResponse>
+          <protocolVersion dataType="uint" bitLength="16">1</protocolVersion>
+          <flags dataType="uint" bitLength="16">0</flags>
+        </EipConnectionResponse>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Read Response 4C</name>
+    <raw>700020005e5dccfd00000000504c433458202020000000000000000000000200a1000400c3a45cf2b1000c000100cc000000ca0000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">112</command>
+        <packetLength dataType="uint" bitLength="16">32</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">4258028894</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <SendUnitData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">161</id>
+              <ConnectedAddressItem>
+                <reserved dataType="uint" bitLength="16">4</reserved>
+                <connectionId dataType="uint" bitLength="32">4066157763</connectionId>
+              </ConnectedAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">177</id>
+              <ConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">12</packetSize>
+                <sequenceCount dataType="uint" bitLength="16">1</sequenceCount>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">76</service>
+                    <CipReadResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                      <data>
+                        <CIPData>
+                          <dataType>
+                            <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="REAL">202</CIPDataTypeCode>
+                          </dataType>
+                          <data dataType="byte" bitLength="32">0x00000000</data>
+                        </CIPData>
+                      </data>
+                    </CipReadResponse>
+                  </CipService>
+                </service>
+              </ConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </SendUnitData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP List Services Request</name>
+    <raw>04000000ec9a149000000000000000000000000000000000</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">4</command>
+        <packetLength dataType="uint" bitLength="16">0</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">2417269484</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <ListServicesRequest>
+        </ListServicesRequest>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP List Services Response</name>
+    <raw>04001900ec9a14900000000000000000000000000000000001000001130001002000436f6d6d756e69636174696f6e7300</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">4</command>
+        <packetLength dataType="uint" bitLength="16">25</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">2417269484</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <ListServicesResponse>
+          <itemCount dataType="uint" bitLength="16">1</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">256</id>
+              <ServicesResponse>
+                <serviceLen dataType="uint" bitLength="16">19</serviceLen>
+                <encapsulationProtocol dataType="uint" bitLength="16">1</encapsulationProtocol>
+                <reserved dataType="uint" bitLength="2">0</reserved>
+                <supportsCIPEncapsulation dataType="bit" bitLength="1">true</supportsCIPEncapsulation>
+                <reserved dataType="uint" bitLength="12">0</reserved>
+                <supportsUDP dataType="bit" bitLength="1">false</supportsUDP>
+                <data dataType="byte" bitLength="120">0x436f6d6d756e69636174696f6e7300</data>
+              </ServicesResponse>
+            </TypeId>
+          </typeId>
+        </ListServicesResponse>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP List Services Response 2</name>
+    <raw>040019000000000000000000504c4334582020200000000001000001130001002000436f6d6d756e69636174696f6e7300</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">4</command>
+        <packetLength dataType="uint" bitLength="16">25</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">0</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <ListServicesResponse>
+          <itemCount dataType="uint" bitLength="16">1</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">256</id>
+              <ServicesResponse>
+                <serviceLen dataType="uint" bitLength="16">19</serviceLen>
+                <encapsulationProtocol dataType="uint" bitLength="16">1</encapsulationProtocol>
+                <reserved dataType="uint" bitLength="2">0</reserved>
+                <supportsCIPEncapsulation dataType="bit" bitLength="1">true</supportsCIPEncapsulation>
+                <reserved dataType="uint" bitLength="12">0</reserved>
+                <supportsUDP dataType="bit" bitLength="1">false</supportsUDP>
+                <data dataType="byte" bitLength="120">0x436f6d6d756e69636174696f6e7300</data>
+              </ServicesResponse>
+            </TypeId>
+          </typeId>
+        </ListServicesResponse>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP Get Attribute List Request - Message Router</name>
+    <raw>6f00160045000040000000001400000030145b0300000000000000002000020000000000b2000600010220022401</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>false</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">22</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1073741893</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x1400000030145b03</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">32</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">6</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">false</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllRequest>
+                      <requestPathSize dataType="int" bitLength="8">2</requestPathSize>
+                      <classSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">0</logicalSegmentType>
+                                <ClassID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <segmentClass dataType="uint" bitLength="8">2</segmentClass>
+                                </ClassID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </classSegment>
+                      <instanceSegment>
+                        <PathSegment>
+                          <pathSegment dataType="uint" bitLength="3">1</pathSegment>
+                          <LogicalSegment>
+                            <segmentType>
+                              <LogicalSegmentType>
+                                <logicalSegmentType dataType="uint" bitLength="3">1</logicalSegmentType>
+                                <InstanceID>
+                                  <format dataType="uint" bitLength="2">0</format>
+                                  <instance dataType="uint" bitLength="8">1</instance>
+                                </InstanceID>
+                              </LogicalSegmentType>
+                            </segmentType>
+                          </LogicalSegment>
+                        </PathSegment>
+                      </instanceSegment>
+                    </GetAttributeAllRequest>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP Get Attribute List Response - Message Router</name>
+    <raw>6f00b60045000040000000001400000030145b0300000000000000000000020000000000b200a600810000004e003a03770066004300f6003700f500ac035f005d005e000003ab033703a503040348004203a4038b002f031204b603b203b303b003b10330034f004e00aa03a803a703a6036e037003320331032d031703b20049033503710072007803ac00b0002b03b100730067006b0068007d038d008c006d006a0038031a0369004500f20074006e008e0070006c0002006a036400a100f4000100c100c000060000010500</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">182</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1073741893</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x1400000030145b03</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">166</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                      <attributes>
+                        <CIPAttributes>
+                          <numberOfClasses dataType="uint" bitLength="16">78</numberOfClasses>
+                          <classId isList="true">
+                            <value dataType="uint" bitLength="16">826</value>
+                            <value dataType="uint" bitLength="16">119</value>
+                            <value dataType="uint" bitLength="16">102</value>
+                            <value dataType="uint" bitLength="16">67</value>
+                            <value dataType="uint" bitLength="16">246</value>
+                            <value dataType="uint" bitLength="16">55</value>
+                            <value dataType="uint" bitLength="16">245</value>
+                            <value dataType="uint" bitLength="16">940</value>
+                            <value dataType="uint" bitLength="16">95</value>
+                            <value dataType="uint" bitLength="16">93</value>
+                            <value dataType="uint" bitLength="16">94</value>
+                            <value dataType="uint" bitLength="16">768</value>
+                            <value dataType="uint" bitLength="16">939</value>
+                            <value dataType="uint" bitLength="16">823</value>
+                            <value dataType="uint" bitLength="16">933</value>
+                            <value dataType="uint" bitLength="16">772</value>
+                            <value dataType="uint" bitLength="16">72</value>
+                            <value dataType="uint" bitLength="16">834</value>
+                            <value dataType="uint" bitLength="16">932</value>
+                            <value dataType="uint" bitLength="16">139</value>
+                            <value dataType="uint" bitLength="16">815</value>
+                            <value dataType="uint" bitLength="16">1042</value>
+                            <value dataType="uint" bitLength="16">950</value>
+                            <value dataType="uint" bitLength="16">946</value>
+                            <value dataType="uint" bitLength="16">947</value>
+                            <value dataType="uint" bitLength="16">944</value>
+                            <value dataType="uint" bitLength="16">945</value>
+                            <value dataType="uint" bitLength="16">816</value>
+                            <value dataType="uint" bitLength="16">79</value>
+                            <value dataType="uint" bitLength="16">78</value>
+                            <value dataType="uint" bitLength="16">938</value>
+                            <value dataType="uint" bitLength="16">936</value>
+                            <value dataType="uint" bitLength="16">935</value>
+                            <value dataType="uint" bitLength="16">934</value>
+                            <value dataType="uint" bitLength="16">878</value>
+                            <value dataType="uint" bitLength="16">880</value>
+                            <value dataType="uint" bitLength="16">818</value>
+                            <value dataType="uint" bitLength="16">817</value>
+                            <value dataType="uint" bitLength="16">813</value>
+                            <value dataType="uint" bitLength="16">791</value>
+                            <value dataType="uint" bitLength="16">178</value>
+                            <value dataType="uint" bitLength="16">841</value>
+                            <value dataType="uint" bitLength="16">821</value>
+                            <value dataType="uint" bitLength="16">113</value>
+                            <value dataType="uint" bitLength="16">114</value>
+                            <value dataType="uint" bitLength="16">888</value>
+                            <value dataType="uint" bitLength="16">172</value>
+                            <value dataType="uint" bitLength="16">176</value>
+                            <value dataType="uint" bitLength="16">811</value>
+                            <value dataType="uint" bitLength="16">177</value>
+                            <value dataType="uint" bitLength="16">115</value>
+                            <value dataType="uint" bitLength="16">103</value>
+                            <value dataType="uint" bitLength="16">107</value>
+                            <value dataType="uint" bitLength="16">104</value>
+                            <value dataType="uint" bitLength="16">893</value>
+                            <value dataType="uint" bitLength="16">141</value>
+                            <value dataType="uint" bitLength="16">140</value>
+                            <value dataType="uint" bitLength="16">109</value>
+                            <value dataType="uint" bitLength="16">106</value>
+                            <value dataType="uint" bitLength="16">824</value>
+                            <value dataType="uint" bitLength="16">794</value>
+                            <value dataType="uint" bitLength="16">105</value>
+                            <value dataType="uint" bitLength="16">69</value>
+                            <value dataType="uint" bitLength="16">242</value>
+                            <value dataType="uint" bitLength="16">116</value>
+                            <value dataType="uint" bitLength="16">110</value>
+                            <value dataType="uint" bitLength="16">142</value>
+                            <value dataType="uint" bitLength="16">112</value>
+                            <value dataType="uint" bitLength="16">108</value>
+                            <value dataType="uint" bitLength="16">2</value>
+                            <value dataType="uint" bitLength="16">874</value>
+                            <value dataType="uint" bitLength="16">100</value>
+                            <value dataType="uint" bitLength="16">161</value>
+                            <value dataType="uint" bitLength="16">244</value>
+                            <value dataType="uint" bitLength="16">1</value>
+                            <value dataType="uint" bitLength="16">193</value>
+                            <value dataType="uint" bitLength="16">192</value>
+                            <value dataType="uint" bitLength="16">6</value>
+                          </classId>
+                          <numberAvailable dataType="uint" bitLength="16">256</numberAvailable>
+                          <numberActive dataType="uint" bitLength="16">5</numberActive>
+                          <data dataType="byte" bitLength="0">0x</data>
+                        </CIPAttributes>
+                      </attributes>
+                    </GetAttributeAllResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>EIP Get Attribute List Response - Message Router - Multiple Attributes - Bad Response Handling</name>
+    <raw>6f004c08b181852100000000504c43345820202000000000000000000000020000000000b2003c088100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [...]
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">2124</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">562397617</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">2108</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">0</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                      <attributes>
+                        <CIPAttributes>
+                          <numberOfClasses dataType="uint" bitLength="16">0</numberOfClasses>
+                          <classId isList="true">
+                          </classId>
+                          <numberAvailable dataType="uint" bitLength="16">0</numberAvailable>
+                          <numberActive dataType="uint" bitLength="16">0</numberActive>
+                          <data dataType="byte" bitLength="16784">0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [...]
+                        </CIPAttributes>
+                      </attributes>
+                    </GetAttributeAllResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+
+  <testcase>
+    <name>EIP Get Attribute List Response - Message Router - Unknown Service Response Handling</name>
+    <raw>6f0014000100000000000000504c43345820202000000000000000000000020000000000b200040081000800</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">20</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">4</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">1</service>
+                    <GetAttributeAllResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">8</status>
+                      <extStatus dataType="uint" bitLength="8">0</extStatus>
+                    </GetAttributeAllResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+  <testcase>
+    <name>CIP Read Response - Unknown Service Response Handling</name>
+    <raw>6f0014000100000000000000504c43345820202000000000000000000000020000000000b2000400d2000800</raw>
+    <root-type>EipPacket</root-type>
+    <parser-arguments>
+      <byteOrder>LITTLE_ENDIAN</byteOrder>
+      <response>true</response>
+    </parser-arguments>
+    <xml>
+      <EipPacket>
+        <command dataType="uint" bitLength="16">111</command>
+        <packetLength dataType="uint" bitLength="16">20</packetLength>
+        <sessionHandle dataType="uint" bitLength="32">1</sessionHandle>
+        <status dataType="uint" bitLength="32">0</status>
+        <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
+        <options dataType="uint" bitLength="32">0</options>
+        <CipRRData>
+          <interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
+          <timeout dataType="uint" bitLength="16">0</timeout>
+          <itemCount dataType="uint" bitLength="16">2</itemCount>
+          <typeId isList="true">
+            <TypeId>
+              <id dataType="uint" bitLength="16">0</id>
+              <NullAddressItem>
+                <reserved dataType="uint" bitLength="16">0</reserved>
+              </NullAddressItem>
+            </TypeId>
+            <TypeId>
+              <id dataType="uint" bitLength="16">178</id>
+              <UnConnectedDataItem>
+                <packetSize dataType="uint" bitLength="16">4</packetSize>
+                <service>
+                  <CipService>
+                    <response dataType="bit" bitLength="1">true</response>
+                    <service dataType="uint" bitLength="7">82</service>
+                    <CipConnectedResponse>
+                      <reserved dataType="uint" bitLength="8">0</reserved>
+                      <status dataType="uint" bitLength="8">8</status>
+                      <additionalStatusWords dataType="uint" bitLength="8">0</additionalStatusWords>
+                    </CipConnectedResponse>
+                  </CipService>
+                </service>
+              </UnConnectedDataItem>
+            </TypeId>
+          </typeId>
+        </CipRRData>
+      </EipPacket>
+    </xml>
+  </testcase>
+
+</test:testsuite>
\ No newline at end of file
diff --git a/plc4go/internal/cbus/tagtype_string.go b/plc4go/internal/cbus/tagtype_string.go
index d1711b81d4..8fc2d7b40b 100644
--- a/plc4go/internal/cbus/tagtype_string.go
+++ b/plc4go/internal/cbus/tagtype_string.go
@@ -1,3 +1,20 @@
+// Licensed to Apache Software Foundation (ASF) under one or more contributor
+// license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright
+// ownership. Apache Software Foundation (ASF) licenses this file to you under
+// the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
 // Code generated by "stringer -type TagType"; DO NOT EDIT.
 
 package cbus
diff --git a/plc4go/internal/modbus/tagtype_string.go b/plc4go/internal/modbus/tagtype_string.go
index 9bacd75b6a..15f4f32f3e 100644
--- a/plc4go/internal/modbus/tagtype_string.go
+++ b/plc4go/internal/modbus/tagtype_string.go
@@ -1,3 +1,20 @@
+// Licensed to Apache Software Foundation (ASF) under one or more contributor
+// license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright
+// ownership. Apache Software Foundation (ASF) licenses this file to you under
+// the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
 // Code generated by "stringer -type TagType"; DO NOT EDIT.
 
 package modbus
diff --git a/plc4go/internal/s7/tagtype_string.go b/plc4go/internal/s7/tagtype_string.go
index dfca7a6942..3910a9fa2d 100644
--- a/plc4go/internal/s7/tagtype_string.go
+++ b/plc4go/internal/s7/tagtype_string.go
@@ -1,3 +1,20 @@
+// Licensed to Apache Software Foundation (ASF) under one or more contributor
+// license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright
+// ownership. Apache Software Foundation (ASF) licenses this file to you under
+// the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
 // Code generated by "stringer -type TagType"; DO NOT EDIT.
 
 package s7
diff --git a/plc4go/protocols/abeth/readwrite/XmlParserHelper.go b/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
index 89c39c5cc3..1d32498b05 100644
--- a/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
@@ -21,8 +21,8 @@ package readwrite
 
 import (
 	"context"
-	"strings"
 	"strconv"
+	"strings"
 
 	"github.com/apache/plc4x/plc4go/protocols/abeth/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi/utils"
@@ -43,20 +43,20 @@ func init() {
 }
 
 func (m AbethXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-    switch typeName {
-        case "DF1RequestCommand":
-			return model.DF1RequestCommandParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "DF1RequestMessage":
-			return model.DF1RequestMessageParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "DF1ResponseMessage":
-			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
-			if err!=nil {
-				return nil, err
-			}
-			payloadLength := uint16(parsedUint0)
-            return model.DF1ResponseMessageParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength  )
-        case "CIPEncapsulationPacket":
-			return model.CIPEncapsulationPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-    }
-    return nil, errors.Errorf("Unsupported type %s", typeName)
+	switch typeName {
+	case "DF1RequestCommand":
+		return model.DF1RequestCommandParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "DF1RequestMessage":
+		return model.DF1RequestMessageParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "DF1ResponseMessage":
+		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
+		if err != nil {
+			return nil, err
+		}
+		payloadLength := uint16(parsedUint0)
+		return model.DF1ResponseMessageParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength)
+	case "CIPEncapsulationPacket":
+		return model.CIPEncapsulationPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	}
+	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index 89f09bc5aa..2e61b2bc66 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // CIPEncapsulationConnectionRequest is the corresponding interface of CIPEncapsulationConnectionRequest
 type CIPEncapsulationConnectionRequest interface {
@@ -49,36 +47,35 @@ type _CIPEncapsulationConnectionRequest struct {
 	*_CIPEncapsulationPacket
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_CIPEncapsulationConnectionRequest)  GetCommandType() uint16 {
-return 0x0101}
+func (m *_CIPEncapsulationConnectionRequest) GetCommandType() uint16 {
+	return 0x0101
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_CIPEncapsulationConnectionRequest) InitializeParent(parent CIPEncapsulationPacket , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) {	m.SessionHandle = sessionHandle
+func (m *_CIPEncapsulationConnectionRequest) InitializeParent(parent CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
+	m.SessionHandle = sessionHandle
 	m.Status = status
 	m.SenderContext = senderContext
 	m.Options = options
 }
 
-func (m *_CIPEncapsulationConnectionRequest)  GetParent() CIPEncapsulationPacket {
+func (m *_CIPEncapsulationConnectionRequest) GetParent() CIPEncapsulationPacket {
 	return m._CIPEncapsulationPacket
 }
 
-
 // NewCIPEncapsulationConnectionRequest factory function for _CIPEncapsulationConnectionRequest
-func NewCIPEncapsulationConnectionRequest( sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) *_CIPEncapsulationConnectionRequest {
+func NewCIPEncapsulationConnectionRequest(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *_CIPEncapsulationConnectionRequest {
 	_result := &_CIPEncapsulationConnectionRequest{
-    	_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	_result._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _result
 	return _result
@@ -86,7 +83,7 @@ func NewCIPEncapsulationConnectionRequest( sessionHandle uint32 , status uint32
 
 // Deprecated: use the interface for direct cast
 func CastCIPEncapsulationConnectionRequest(structType interface{}) CIPEncapsulationConnectionRequest {
-    if casted, ok := structType.(CIPEncapsulationConnectionRequest); ok {
+	if casted, ok := structType.(CIPEncapsulationConnectionRequest); ok {
 		return casted
 	}
 	if casted, ok := structType.(*CIPEncapsulationConnectionRequest); ok {
@@ -105,7 +102,6 @@ func (m *_CIPEncapsulationConnectionRequest) GetLengthInBits(ctx context.Context
 	return lengthInBits
 }
 
-
 func (m *_CIPEncapsulationConnectionRequest) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -129,8 +125,7 @@ func CIPEncapsulationConnectionRequestParseWithBuffer(ctx context.Context, readB
 
 	// Create a partially initialized instance
 	_child := &_CIPEncapsulationConnectionRequest{
-		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{
-		},
+		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{},
 	}
 	_child._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _child
 	return _child, nil
@@ -160,7 +155,6 @@ func (m *_CIPEncapsulationConnectionRequest) SerializeWithWriteBuffer(ctx contex
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_CIPEncapsulationConnectionRequest) isCIPEncapsulationConnectionRequest() bool {
 	return true
 }
@@ -175,6 +169,3 @@ func (m *_CIPEncapsulationConnectionRequest) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index 1fac3ab28b..05c73aa9e5 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // CIPEncapsulationConnectionResponse is the corresponding interface of CIPEncapsulationConnectionResponse
 type CIPEncapsulationConnectionResponse interface {
@@ -49,36 +47,35 @@ type _CIPEncapsulationConnectionResponse struct {
 	*_CIPEncapsulationPacket
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_CIPEncapsulationConnectionResponse)  GetCommandType() uint16 {
-return 0x0201}
+func (m *_CIPEncapsulationConnectionResponse) GetCommandType() uint16 {
+	return 0x0201
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_CIPEncapsulationConnectionResponse) InitializeParent(parent CIPEncapsulationPacket , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) {	m.SessionHandle = sessionHandle
+func (m *_CIPEncapsulationConnectionResponse) InitializeParent(parent CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
+	m.SessionHandle = sessionHandle
 	m.Status = status
 	m.SenderContext = senderContext
 	m.Options = options
 }
 
-func (m *_CIPEncapsulationConnectionResponse)  GetParent() CIPEncapsulationPacket {
+func (m *_CIPEncapsulationConnectionResponse) GetParent() CIPEncapsulationPacket {
 	return m._CIPEncapsulationPacket
 }
 
-
 // NewCIPEncapsulationConnectionResponse factory function for _CIPEncapsulationConnectionResponse
-func NewCIPEncapsulationConnectionResponse( sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) *_CIPEncapsulationConnectionResponse {
+func NewCIPEncapsulationConnectionResponse(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *_CIPEncapsulationConnectionResponse {
 	_result := &_CIPEncapsulationConnectionResponse{
-    	_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	_result._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _result
 	return _result
@@ -86,7 +83,7 @@ func NewCIPEncapsulationConnectionResponse( sessionHandle uint32 , status uint32
 
 // Deprecated: use the interface for direct cast
 func CastCIPEncapsulationConnectionResponse(structType interface{}) CIPEncapsulationConnectionResponse {
-    if casted, ok := structType.(CIPEncapsulationConnectionResponse); ok {
+	if casted, ok := structType.(CIPEncapsulationConnectionResponse); ok {
 		return casted
 	}
 	if casted, ok := structType.(*CIPEncapsulationConnectionResponse); ok {
@@ -105,7 +102,6 @@ func (m *_CIPEncapsulationConnectionResponse) GetLengthInBits(ctx context.Contex
 	return lengthInBits
 }
 
-
 func (m *_CIPEncapsulationConnectionResponse) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -129,8 +125,7 @@ func CIPEncapsulationConnectionResponseParseWithBuffer(ctx context.Context, read
 
 	// Create a partially initialized instance
 	_child := &_CIPEncapsulationConnectionResponse{
-		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{
-		},
+		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{},
 	}
 	_child._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _child
 	return _child, nil
@@ -160,7 +155,6 @@ func (m *_CIPEncapsulationConnectionResponse) SerializeWithWriteBuffer(ctx conte
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_CIPEncapsulationConnectionResponse) isCIPEncapsulationConnectionResponse() bool {
 	return true
 }
@@ -175,6 +169,3 @@ func (m *_CIPEncapsulationConnectionResponse) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
index cd18838aba..fae21298c7 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -19,17 +19,15 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
+	spiContext "github.com/apache/plc4x/plc4go/spi/context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
-	spiContext "github.com/apache/plc4x/plc4go/spi/context"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // CIPEncapsulationPacket is the corresponding interface of CIPEncapsulationPacket
 type CIPEncapsulationPacket interface {
@@ -57,10 +55,10 @@ type CIPEncapsulationPacketExactly interface {
 // _CIPEncapsulationPacket is the data-structure of this message
 type _CIPEncapsulationPacket struct {
 	_CIPEncapsulationPacketChildRequirements
-        SessionHandle uint32
-        Status uint32
-        SenderContext []uint8
-        Options uint32
+	SessionHandle uint32
+	Status        uint32
+	SenderContext []uint8
+	Options       uint32
 	// Reserved Fields
 	reservedField0 *uint32
 }
@@ -71,7 +69,6 @@ type _CIPEncapsulationPacketChildRequirements interface {
 	GetCommandType() uint16
 }
 
-
 type CIPEncapsulationPacketParent interface {
 	SerializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child CIPEncapsulationPacket, serializeChildFunction func() error) error
 	GetTypeName() string
@@ -79,12 +76,13 @@ type CIPEncapsulationPacketParent interface {
 
 type CIPEncapsulationPacketChild interface {
 	utils.Serializable
-InitializeParent(parent CIPEncapsulationPacket , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 )
+	InitializeParent(parent CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32)
 	GetParent() *CIPEncapsulationPacket
 
 	GetTypeName() string
 	CIPEncapsulationPacket
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -111,15 +109,14 @@ func (m *_CIPEncapsulationPacket) GetOptions() uint32 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewCIPEncapsulationPacket factory function for _CIPEncapsulationPacket
-func NewCIPEncapsulationPacket( sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) *_CIPEncapsulationPacket {
-return &_CIPEncapsulationPacket{ SessionHandle: sessionHandle , Status: status , SenderContext: senderContext , Options: options }
+func NewCIPEncapsulationPacket(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *_CIPEncapsulationPacket {
+	return &_CIPEncapsulationPacket{SessionHandle: sessionHandle, Status: status, SenderContext: senderContext, Options: options}
 }
 
 // Deprecated: use the interface for direct cast
 func CastCIPEncapsulationPacket(structType interface{}) CIPEncapsulationPacket {
-    if casted, ok := structType.(CIPEncapsulationPacket); ok {
+	if casted, ok := structType.(CIPEncapsulationPacket); ok {
 		return casted
 	}
 	if casted, ok := structType.(*CIPEncapsulationPacket); ok {
@@ -132,28 +129,27 @@ func (m *_CIPEncapsulationPacket) GetTypeName() string {
 	return "CIPEncapsulationPacket"
 }
 
-
 func (m *_CIPEncapsulationPacket) GetParentLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (commandType)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Implicit Field (packetLen)
 	lengthInBits += 16
 
 	// Simple field (sessionHandle)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (status)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Array field
 	if len(m.SenderContext) > 0 {
 		lengthInBits += 8 * uint16(len(m.SenderContext))
-				}
+	}
 
 	// Simple field (options)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Reserved Field (reserved)
 	lengthInBits += 32
@@ -192,14 +188,14 @@ func CIPEncapsulationPacketParseWithBuffer(ctx context.Context, readBuffer utils
 	}
 
 	// Simple Field (sessionHandle)
-_sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
+	_sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
 	if _sessionHandleErr != nil {
 		return nil, errors.Wrap(_sessionHandleErr, "Error parsing 'sessionHandle' field of CIPEncapsulationPacket")
 	}
 	sessionHandle := _sessionHandle
 
 	// Simple Field (status)
-_status, _statusErr := readBuffer.ReadUint32("status", 32)
+	_status, _statusErr := readBuffer.ReadUint32("status", 32)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field of CIPEncapsulationPacket")
 	}
@@ -221,7 +217,7 @@ _status, _statusErr := readBuffer.ReadUint32("status", 32)
 			arrayCtx := spiContext.CreateArrayContext(ctx, int(_numItems), int(_curItem))
 			_ = arrayCtx
 			_ = _curItem
-_item, _err := readBuffer.ReadUint8("", 8)
+			_item, _err := readBuffer.ReadUint8("", 8)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'senderContext' field of CIPEncapsulationPacket")
 			}
@@ -233,7 +229,7 @@ _item, _err := readBuffer.ReadUint8("", 8)
 	}
 
 	// Simple Field (options)
-_options, _optionsErr := readBuffer.ReadUint32("options", 32)
+	_options, _optionsErr := readBuffer.ReadUint32("options", 32)
 	if _optionsErr != nil {
 		return nil, errors.Wrap(_optionsErr, "Error parsing 'options' field of CIPEncapsulationPacket")
 	}
@@ -249,7 +245,7 @@ _options, _optionsErr := readBuffer.ReadUint32("options", 32)
 		if reserved != uint32(0x00000000) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint32(0x00000000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField0 = &reserved
@@ -259,20 +255,20 @@ _options, _optionsErr := readBuffer.ReadUint32("options", 32)
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	type CIPEncapsulationPacketChildSerializeRequirement interface {
 		CIPEncapsulationPacket
-		InitializeParent(CIPEncapsulationPacket,  uint32, uint32, []uint8, uint32)
+		InitializeParent(CIPEncapsulationPacket, uint32, uint32, []uint8, uint32)
 		GetParent() CIPEncapsulationPacket
 	}
 	var _childTemp interface{}
 	var _child CIPEncapsulationPacketChildSerializeRequirement
 	var typeSwitchError error
 	switch {
-case commandType == 0x0101 : // CIPEncapsulationConnectionRequest
-		_childTemp, typeSwitchError = CIPEncapsulationConnectionRequestParseWithBuffer(ctx, readBuffer, )
-case commandType == 0x0201 : // CIPEncapsulationConnectionResponse
-		_childTemp, typeSwitchError = CIPEncapsulationConnectionResponseParseWithBuffer(ctx, readBuffer, )
-case commandType == 0x0107 : // CIPEncapsulationReadRequest
-		_childTemp, typeSwitchError = CIPEncapsulationReadRequestParseWithBuffer(ctx, readBuffer, )
-case commandType == 0x0207 : // CIPEncapsulationReadResponse
+	case commandType == 0x0101: // CIPEncapsulationConnectionRequest
+		_childTemp, typeSwitchError = CIPEncapsulationConnectionRequestParseWithBuffer(ctx, readBuffer)
+	case commandType == 0x0201: // CIPEncapsulationConnectionResponse
+		_childTemp, typeSwitchError = CIPEncapsulationConnectionResponseParseWithBuffer(ctx, readBuffer)
+	case commandType == 0x0107: // CIPEncapsulationReadRequest
+		_childTemp, typeSwitchError = CIPEncapsulationReadRequestParseWithBuffer(ctx, readBuffer)
+	case commandType == 0x0207: // CIPEncapsulationReadResponse
 		_childTemp, typeSwitchError = CIPEncapsulationReadResponseParseWithBuffer(ctx, readBuffer, packetLen)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandType=%v]", commandType)
@@ -287,7 +283,7 @@ case commandType == 0x0207 : // CIPEncapsulationReadResponse
 	}
 
 	// Finish initializing
-_child.InitializeParent(_child , sessionHandle , status , senderContext , options )
+	_child.InitializeParent(_child, sessionHandle, status, senderContext, options)
 	_child.GetParent().(*_CIPEncapsulationPacket).reservedField0 = reservedField0
 	return _child, nil
 }
@@ -298,7 +294,7 @@ func (pm *_CIPEncapsulationPacket) SerializeParent(ctx context.Context, writeBuf
 	_ = m
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for CIPEncapsulationPacket")
 	}
 
@@ -359,7 +355,7 @@ func (pm *_CIPEncapsulationPacket) SerializeParent(ctx context.Context, writeBuf
 		if pm.reservedField0 != nil {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint32(0x00000000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Overriding reserved field with unexpected value.")
 			reserved = *pm.reservedField0
 		}
@@ -380,7 +376,6 @@ func (pm *_CIPEncapsulationPacket) SerializeParent(ctx context.Context, writeBuf
 	return nil
 }
 
-
 func (m *_CIPEncapsulationPacket) isCIPEncapsulationPacket() bool {
 	return true
 }
@@ -395,6 +390,3 @@ func (m *_CIPEncapsulationPacket) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index a37eb844ff..78f7c7dd6e 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // CIPEncapsulationReadRequest is the corresponding interface of CIPEncapsulationReadRequest
 type CIPEncapsulationReadRequest interface {
@@ -49,33 +47,34 @@ type CIPEncapsulationReadRequestExactly interface {
 // _CIPEncapsulationReadRequest is the data-structure of this message
 type _CIPEncapsulationReadRequest struct {
 	*_CIPEncapsulationPacket
-        Request DF1RequestMessage
+	Request DF1RequestMessage
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_CIPEncapsulationReadRequest)  GetCommandType() uint16 {
-return 0x0107}
+func (m *_CIPEncapsulationReadRequest) GetCommandType() uint16 {
+	return 0x0107
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_CIPEncapsulationReadRequest) InitializeParent(parent CIPEncapsulationPacket , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) {	m.SessionHandle = sessionHandle
+func (m *_CIPEncapsulationReadRequest) InitializeParent(parent CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
+	m.SessionHandle = sessionHandle
 	m.Status = status
 	m.SenderContext = senderContext
 	m.Options = options
 }
 
-func (m *_CIPEncapsulationReadRequest)  GetParent() CIPEncapsulationPacket {
+func (m *_CIPEncapsulationReadRequest) GetParent() CIPEncapsulationPacket {
 	return m._CIPEncapsulationPacket
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -90,12 +89,11 @@ func (m *_CIPEncapsulationReadRequest) GetRequest() DF1RequestMessage {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewCIPEncapsulationReadRequest factory function for _CIPEncapsulationReadRequest
-func NewCIPEncapsulationReadRequest( request DF1RequestMessage , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) *_CIPEncapsulationReadRequest {
+func NewCIPEncapsulationReadRequest(request DF1RequestMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *_CIPEncapsulationReadRequest {
 	_result := &_CIPEncapsulationReadRequest{
-		Request: request,
-    	_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Request:                 request,
+		_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	_result._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _result
 	return _result
@@ -103,7 +101,7 @@ func NewCIPEncapsulationReadRequest( request DF1RequestMessage , sessionHandle u
 
 // Deprecated: use the interface for direct cast
 func CastCIPEncapsulationReadRequest(structType interface{}) CIPEncapsulationReadRequest {
-    if casted, ok := structType.(CIPEncapsulationReadRequest); ok {
+	if casted, ok := structType.(CIPEncapsulationReadRequest); ok {
 		return casted
 	}
 	if casted, ok := structType.(*CIPEncapsulationReadRequest); ok {
@@ -125,7 +123,6 @@ func (m *_CIPEncapsulationReadRequest) GetLengthInBits(ctx context.Context) uint
 	return lengthInBits
 }
 
-
 func (m *_CIPEncapsulationReadRequest) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -147,7 +144,7 @@ func CIPEncapsulationReadRequestParseWithBuffer(ctx context.Context, readBuffer
 	if pullErr := readBuffer.PullContext("request"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for request")
 	}
-_request, _requestErr := DF1RequestMessageParseWithBuffer(ctx, readBuffer)
+	_request, _requestErr := DF1RequestMessageParseWithBuffer(ctx, readBuffer)
 	if _requestErr != nil {
 		return nil, errors.Wrap(_requestErr, "Error parsing 'request' field of CIPEncapsulationReadRequest")
 	}
@@ -162,9 +159,8 @@ _request, _requestErr := DF1RequestMessageParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_CIPEncapsulationReadRequest{
-		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{
-		},
-		Request: request,
+		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{},
+		Request:                 request,
 	}
 	_child._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _child
 	return _child, nil
@@ -186,17 +182,17 @@ func (m *_CIPEncapsulationReadRequest) SerializeWithWriteBuffer(ctx context.Cont
 			return errors.Wrap(pushErr, "Error pushing for CIPEncapsulationReadRequest")
 		}
 
-	// Simple Field (request)
-	if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for request")
-	}
-	_requestErr := writeBuffer.WriteSerializable(ctx, m.GetRequest())
-	if popErr := writeBuffer.PopContext("request"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for request")
-	}
-	if _requestErr != nil {
-		return errors.Wrap(_requestErr, "Error serializing 'request' field")
-	}
+		// Simple Field (request)
+		if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for request")
+		}
+		_requestErr := writeBuffer.WriteSerializable(ctx, m.GetRequest())
+		if popErr := writeBuffer.PopContext("request"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for request")
+		}
+		if _requestErr != nil {
+			return errors.Wrap(_requestErr, "Error serializing 'request' field")
+		}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadRequest"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for CIPEncapsulationReadRequest")
@@ -206,7 +202,6 @@ func (m *_CIPEncapsulationReadRequest) SerializeWithWriteBuffer(ctx context.Cont
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_CIPEncapsulationReadRequest) isCIPEncapsulationReadRequest() bool {
 	return true
 }
@@ -221,6 +216,3 @@ func (m *_CIPEncapsulationReadRequest) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index 049df0473c..6a5a216964 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // CIPEncapsulationReadResponse is the corresponding interface of CIPEncapsulationReadResponse
 type CIPEncapsulationReadResponse interface {
@@ -49,36 +47,37 @@ type CIPEncapsulationReadResponseExactly interface {
 // _CIPEncapsulationReadResponse is the data-structure of this message
 type _CIPEncapsulationReadResponse struct {
 	*_CIPEncapsulationPacket
-        Response DF1ResponseMessage
+	Response DF1ResponseMessage
 
 	// Arguments.
 	PacketLen uint16
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_CIPEncapsulationReadResponse)  GetCommandType() uint16 {
-return 0x0207}
+func (m *_CIPEncapsulationReadResponse) GetCommandType() uint16 {
+	return 0x0207
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_CIPEncapsulationReadResponse) InitializeParent(parent CIPEncapsulationPacket , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 ) {	m.SessionHandle = sessionHandle
+func (m *_CIPEncapsulationReadResponse) InitializeParent(parent CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
+	m.SessionHandle = sessionHandle
 	m.Status = status
 	m.SenderContext = senderContext
 	m.Options = options
 }
 
-func (m *_CIPEncapsulationReadResponse)  GetParent() CIPEncapsulationPacket {
+func (m *_CIPEncapsulationReadResponse) GetParent() CIPEncapsulationPacket {
 	return m._CIPEncapsulationPacket
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -93,12 +92,11 @@ func (m *_CIPEncapsulationReadResponse) GetResponse() DF1ResponseMessage {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewCIPEncapsulationReadResponse factory function for _CIPEncapsulationReadResponse
-func NewCIPEncapsulationReadResponse( response DF1ResponseMessage , sessionHandle uint32 , status uint32 , senderContext []uint8 , options uint32 , packetLen uint16 ) *_CIPEncapsulationReadResponse {
+func NewCIPEncapsulationReadResponse(response DF1ResponseMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32, packetLen uint16) *_CIPEncapsulationReadResponse {
 	_result := &_CIPEncapsulationReadResponse{
-		Response: response,
-    	_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Response:                response,
+		_CIPEncapsulationPacket: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	_result._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _result
 	return _result
@@ -106,7 +104,7 @@ func NewCIPEncapsulationReadResponse( response DF1ResponseMessage , sessionHandl
 
 // Deprecated: use the interface for direct cast
 func CastCIPEncapsulationReadResponse(structType interface{}) CIPEncapsulationReadResponse {
-    if casted, ok := structType.(CIPEncapsulationReadResponse); ok {
+	if casted, ok := structType.(CIPEncapsulationReadResponse); ok {
 		return casted
 	}
 	if casted, ok := structType.(*CIPEncapsulationReadResponse); ok {
@@ -128,7 +126,6 @@ func (m *_CIPEncapsulationReadResponse) GetLengthInBits(ctx context.Context) uin
 	return lengthInBits
 }
 
-
 func (m *_CIPEncapsulationReadResponse) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -150,7 +147,7 @@ func CIPEncapsulationReadResponseParseWithBuffer(ctx context.Context, readBuffer
 	if pullErr := readBuffer.PullContext("response"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for response")
 	}
-_response, _responseErr := DF1ResponseMessageParseWithBuffer(ctx, readBuffer , uint16( packetLen ) )
+	_response, _responseErr := DF1ResponseMessageParseWithBuffer(ctx, readBuffer, uint16(packetLen))
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field of CIPEncapsulationReadResponse")
 	}
@@ -165,9 +162,8 @@ _response, _responseErr := DF1ResponseMessageParseWithBuffer(ctx, readBuffer , u
 
 	// Create a partially initialized instance
 	_child := &_CIPEncapsulationReadResponse{
-		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{
-		},
-		Response: response,
+		_CIPEncapsulationPacket: &_CIPEncapsulationPacket{},
+		Response:                response,
 	}
 	_child._CIPEncapsulationPacket._CIPEncapsulationPacketChildRequirements = _child
 	return _child, nil
@@ -189,17 +185,17 @@ func (m *_CIPEncapsulationReadResponse) SerializeWithWriteBuffer(ctx context.Con
 			return errors.Wrap(pushErr, "Error pushing for CIPEncapsulationReadResponse")
 		}
 
-	// Simple Field (response)
-	if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for response")
-	}
-	_responseErr := writeBuffer.WriteSerializable(ctx, m.GetResponse())
-	if popErr := writeBuffer.PopContext("response"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for response")
-	}
-	if _responseErr != nil {
-		return errors.Wrap(_responseErr, "Error serializing 'response' field")
-	}
+		// Simple Field (response)
+		if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for response")
+		}
+		_responseErr := writeBuffer.WriteSerializable(ctx, m.GetResponse())
+		if popErr := writeBuffer.PopContext("response"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for response")
+		}
+		if _responseErr != nil {
+			return errors.Wrap(_responseErr, "Error serializing 'response' field")
+		}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadResponse"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for CIPEncapsulationReadResponse")
@@ -209,13 +205,13 @@ func (m *_CIPEncapsulationReadResponse) SerializeWithWriteBuffer(ctx context.Con
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 ////
 // Arguments Getter
 
 func (m *_CIPEncapsulationReadResponse) GetPacketLen() uint16 {
 	return m.PacketLen
 }
+
 //
 ////
 
@@ -233,6 +229,3 @@ func (m *_CIPEncapsulationReadResponse) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
index 6373e4440e..f64b6c42d8 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1CommandRequestMessage is the corresponding interface of DF1CommandRequestMessage
 type DF1CommandRequestMessage interface {
@@ -48,33 +46,34 @@ type DF1CommandRequestMessageExactly interface {
 // _DF1CommandRequestMessage is the data-structure of this message
 type _DF1CommandRequestMessage struct {
 	*_DF1RequestMessage
-        Command DF1RequestCommand
+	Command DF1RequestCommand
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_DF1CommandRequestMessage)  GetCommandCode() uint8 {
-return 0x0F}
+func (m *_DF1CommandRequestMessage) GetCommandCode() uint8 {
+	return 0x0F
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_DF1CommandRequestMessage) InitializeParent(parent DF1RequestMessage , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 ) {	m.DestinationAddress = destinationAddress
+func (m *_DF1CommandRequestMessage) InitializeParent(parent DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
+	m.DestinationAddress = destinationAddress
 	m.SourceAddress = sourceAddress
 	m.Status = status
 	m.TransactionCounter = transactionCounter
 }
 
-func (m *_DF1CommandRequestMessage)  GetParent() DF1RequestMessage {
+func (m *_DF1CommandRequestMessage) GetParent() DF1RequestMessage {
 	return m._DF1RequestMessage
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -89,12 +88,11 @@ func (m *_DF1CommandRequestMessage) GetCommand() DF1RequestCommand {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewDF1CommandRequestMessage factory function for _DF1CommandRequestMessage
-func NewDF1CommandRequestMessage( command DF1RequestCommand , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 ) *_DF1CommandRequestMessage {
+func NewDF1CommandRequestMessage(command DF1RequestCommand, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *_DF1CommandRequestMessage {
 	_result := &_DF1CommandRequestMessage{
-		Command: command,
-    	_DF1RequestMessage: NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
+		Command:            command,
+		_DF1RequestMessage: NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
 	}
 	_result._DF1RequestMessage._DF1RequestMessageChildRequirements = _result
 	return _result
@@ -102,7 +100,7 @@ func NewDF1CommandRequestMessage( command DF1RequestCommand , destinationAddress
 
 // Deprecated: use the interface for direct cast
 func CastDF1CommandRequestMessage(structType interface{}) DF1CommandRequestMessage {
-    if casted, ok := structType.(DF1CommandRequestMessage); ok {
+	if casted, ok := structType.(DF1CommandRequestMessage); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1CommandRequestMessage); ok {
@@ -124,7 +122,6 @@ func (m *_DF1CommandRequestMessage) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_DF1CommandRequestMessage) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -146,7 +143,7 @@ func DF1CommandRequestMessageParseWithBuffer(ctx context.Context, readBuffer uti
 	if pullErr := readBuffer.PullContext("command"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for command")
 	}
-_command, _commandErr := DF1RequestCommandParseWithBuffer(ctx, readBuffer)
+	_command, _commandErr := DF1RequestCommandParseWithBuffer(ctx, readBuffer)
 	if _commandErr != nil {
 		return nil, errors.Wrap(_commandErr, "Error parsing 'command' field of DF1CommandRequestMessage")
 	}
@@ -161,9 +158,8 @@ _command, _commandErr := DF1RequestCommandParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_DF1CommandRequestMessage{
-		_DF1RequestMessage: &_DF1RequestMessage{
-		},
-		Command: command,
+		_DF1RequestMessage: &_DF1RequestMessage{},
+		Command:            command,
 	}
 	_child._DF1RequestMessage._DF1RequestMessageChildRequirements = _child
 	return _child, nil
@@ -185,17 +181,17 @@ func (m *_DF1CommandRequestMessage) SerializeWithWriteBuffer(ctx context.Context
 			return errors.Wrap(pushErr, "Error pushing for DF1CommandRequestMessage")
 		}
 
-	// Simple Field (command)
-	if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for command")
-	}
-	_commandErr := writeBuffer.WriteSerializable(ctx, m.GetCommand())
-	if popErr := writeBuffer.PopContext("command"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for command")
-	}
-	if _commandErr != nil {
-		return errors.Wrap(_commandErr, "Error serializing 'command' field")
-	}
+		// Simple Field (command)
+		if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for command")
+		}
+		_commandErr := writeBuffer.WriteSerializable(ctx, m.GetCommand())
+		if popErr := writeBuffer.PopContext("command"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for command")
+		}
+		if _commandErr != nil {
+			return errors.Wrap(_commandErr, "Error serializing 'command' field")
+		}
 
 		if popErr := writeBuffer.PopContext("DF1CommandRequestMessage"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for DF1CommandRequestMessage")
@@ -205,7 +201,6 @@ func (m *_DF1CommandRequestMessage) SerializeWithWriteBuffer(ctx context.Context
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_DF1CommandRequestMessage) isDF1CommandRequestMessage() bool {
 	return true
 }
@@ -220,6 +215,3 @@ func (m *_DF1CommandRequestMessage) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index 1dce30b034..ddac0320f3 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1CommandResponseMessageProtectedTypedLogicalRead is the corresponding interface of DF1CommandResponseMessageProtectedTypedLogicalRead
 type DF1CommandResponseMessageProtectedTypedLogicalRead interface {
@@ -48,33 +46,34 @@ type DF1CommandResponseMessageProtectedTypedLogicalReadExactly interface {
 // _DF1CommandResponseMessageProtectedTypedLogicalRead is the data-structure of this message
 type _DF1CommandResponseMessageProtectedTypedLogicalRead struct {
 	*_DF1ResponseMessage
-        Data []uint8
+	Data []uint8
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead)  GetCommandCode() uint8 {
-return 0x4F}
+func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetCommandCode() uint8 {
+	return 0x4F
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(parent DF1ResponseMessage , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 ) {	m.DestinationAddress = destinationAddress
+func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(parent DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
+	m.DestinationAddress = destinationAddress
 	m.SourceAddress = sourceAddress
 	m.Status = status
 	m.TransactionCounter = transactionCounter
 }
 
-func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead)  GetParent() DF1ResponseMessage {
+func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetParent() DF1ResponseMessage {
 	return m._DF1ResponseMessage
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -89,12 +88,11 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetData() []uint8
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewDF1CommandResponseMessageProtectedTypedLogicalRead factory function for _DF1CommandResponseMessageProtectedTypedLogicalRead
-func NewDF1CommandResponseMessageProtectedTypedLogicalRead( data []uint8 , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 , payloadLength uint16 ) *_DF1CommandResponseMessageProtectedTypedLogicalRead {
+func NewDF1CommandResponseMessageProtectedTypedLogicalRead(data []uint8, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16, payloadLength uint16) *_DF1CommandResponseMessageProtectedTypedLogicalRead {
 	_result := &_DF1CommandResponseMessageProtectedTypedLogicalRead{
-		Data: data,
-    	_DF1ResponseMessage: NewDF1ResponseMessage(destinationAddress, sourceAddress, status, transactionCounter, payloadLength),
+		Data:                data,
+		_DF1ResponseMessage: NewDF1ResponseMessage(destinationAddress, sourceAddress, status, transactionCounter, payloadLength),
 	}
 	_result._DF1ResponseMessage._DF1ResponseMessageChildRequirements = _result
 	return _result
@@ -102,7 +100,7 @@ func NewDF1CommandResponseMessageProtectedTypedLogicalRead( data []uint8 , desti
 
 // Deprecated: use the interface for direct cast
 func CastDF1CommandResponseMessageProtectedTypedLogicalRead(structType interface{}) DF1CommandResponseMessageProtectedTypedLogicalRead {
-    if casted, ok := structType.(DF1CommandResponseMessageProtectedTypedLogicalRead); ok {
+	if casted, ok := structType.(DF1CommandResponseMessageProtectedTypedLogicalRead); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1CommandResponseMessageProtectedTypedLogicalRead); ok {
@@ -126,7 +124,6 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetLengthInBits(ct
 	return lengthInBits
 }
 
-
 func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -153,8 +150,8 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParseWithBuffer(ctx conte
 	{
 		_dataLength := uint16(payloadLength) - uint16(uint16(8))
 		_dataEndPos := positionAware.GetPos() + uint16(_dataLength)
-		for ;positionAware.GetPos() < _dataEndPos; {
-_item, _err := readBuffer.ReadUint8("", 8)
+		for positionAware.GetPos() < _dataEndPos {
+			_item, _err := readBuffer.ReadUint8("", 8)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'data' field of DF1CommandResponseMessageProtectedTypedLogicalRead")
 			}
@@ -196,20 +193,20 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) SerializeWithWrite
 			return errors.Wrap(pushErr, "Error pushing for DF1CommandResponseMessageProtectedTypedLogicalRead")
 		}
 
-	// Array Field (data)
-	if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for data")
-	}
-	for _curItem, _element := range m.GetData() {
-		_ = _curItem
-		_elementErr := writeBuffer.WriteUint8("", 8, _element)
-		if _elementErr != nil {
-			return errors.Wrap(_elementErr, "Error serializing 'data' field")
+		// Array Field (data)
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for data")
+		}
+		for _curItem, _element := range m.GetData() {
+			_ = _curItem
+			_elementErr := writeBuffer.WriteUint8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
+			}
+		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for data")
 		}
-	}
-	if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for data")
-	}
 
 		if popErr := writeBuffer.PopContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for DF1CommandResponseMessageProtectedTypedLogicalRead")
@@ -219,7 +216,6 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) SerializeWithWrite
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) isDF1CommandResponseMessageProtectedTypedLogicalRead() bool {
 	return true
 }
@@ -234,6 +230,3 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
index b67528fa22..68254bddd7 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1RequestCommand is the corresponding interface of DF1RequestCommand
 type DF1RequestCommand interface {
@@ -55,7 +53,6 @@ type _DF1RequestCommandChildRequirements interface {
 	GetFunctionCode() uint8
 }
 
-
 type DF1RequestCommandParent interface {
 	SerializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child DF1RequestCommand, serializeChildFunction func() error) error
 	GetTypeName() string
@@ -63,22 +60,21 @@ type DF1RequestCommandParent interface {
 
 type DF1RequestCommandChild interface {
 	utils.Serializable
-InitializeParent(parent DF1RequestCommand )
+	InitializeParent(parent DF1RequestCommand)
 	GetParent() *DF1RequestCommand
 
 	GetTypeName() string
 	DF1RequestCommand
 }
 
-
 // NewDF1RequestCommand factory function for _DF1RequestCommand
-func NewDF1RequestCommand( ) *_DF1RequestCommand {
-return &_DF1RequestCommand{ }
+func NewDF1RequestCommand() *_DF1RequestCommand {
+	return &_DF1RequestCommand{}
 }
 
 // Deprecated: use the interface for direct cast
 func CastDF1RequestCommand(structType interface{}) DF1RequestCommand {
-    if casted, ok := structType.(DF1RequestCommand); ok {
+	if casted, ok := structType.(DF1RequestCommand); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1RequestCommand); ok {
@@ -91,11 +87,10 @@ func (m *_DF1RequestCommand) GetTypeName() string {
 	return "DF1RequestCommand"
 }
 
-
 func (m *_DF1RequestCommand) GetParentLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (functionCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
@@ -126,15 +121,15 @@ func DF1RequestCommandParseWithBuffer(ctx context.Context, readBuffer utils.Read
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	type DF1RequestCommandChildSerializeRequirement interface {
 		DF1RequestCommand
-		InitializeParent(DF1RequestCommand )
+		InitializeParent(DF1RequestCommand)
 		GetParent() DF1RequestCommand
 	}
 	var _childTemp interface{}
 	var _child DF1RequestCommandChildSerializeRequirement
 	var typeSwitchError error
 	switch {
-case functionCode == 0xA2 : // DF1RequestProtectedTypedLogicalRead
-		_childTemp, typeSwitchError = DF1RequestProtectedTypedLogicalReadParseWithBuffer(ctx, readBuffer, )
+	case functionCode == 0xA2: // DF1RequestProtectedTypedLogicalRead
+		_childTemp, typeSwitchError = DF1RequestProtectedTypedLogicalReadParseWithBuffer(ctx, readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [functionCode=%v]", functionCode)
 	}
@@ -148,7 +143,7 @@ case functionCode == 0xA2 : // DF1RequestProtectedTypedLogicalRead
 	}
 
 	// Finish initializing
-_child.InitializeParent(_child )
+	_child.InitializeParent(_child)
 	return _child, nil
 }
 
@@ -158,7 +153,7 @@ func (pm *_DF1RequestCommand) SerializeParent(ctx context.Context, writeBuffer u
 	_ = m
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for DF1RequestCommand")
 	}
 
@@ -181,7 +176,6 @@ func (pm *_DF1RequestCommand) SerializeParent(ctx context.Context, writeBuffer u
 	return nil
 }
 
-
 func (m *_DF1RequestCommand) isDF1RequestCommand() bool {
 	return true
 }
@@ -196,6 +190,3 @@ func (m *_DF1RequestCommand) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
index 879f4e217f..c80ad2bf47 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1RequestMessage is the corresponding interface of DF1RequestMessage
 type DF1RequestMessage interface {
@@ -55,10 +53,10 @@ type DF1RequestMessageExactly interface {
 // _DF1RequestMessage is the data-structure of this message
 type _DF1RequestMessage struct {
 	_DF1RequestMessageChildRequirements
-        DestinationAddress uint8
-        SourceAddress uint8
-        Status uint8
-        TransactionCounter uint16
+	DestinationAddress uint8
+	SourceAddress      uint8
+	Status             uint8
+	TransactionCounter uint16
 	// Reserved Fields
 	reservedField0 *uint16
 }
@@ -69,7 +67,6 @@ type _DF1RequestMessageChildRequirements interface {
 	GetCommandCode() uint8
 }
 
-
 type DF1RequestMessageParent interface {
 	SerializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child DF1RequestMessage, serializeChildFunction func() error) error
 	GetTypeName() string
@@ -77,12 +74,13 @@ type DF1RequestMessageParent interface {
 
 type DF1RequestMessageChild interface {
 	utils.Serializable
-InitializeParent(parent DF1RequestMessage , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 )
+	InitializeParent(parent DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
 	GetParent() *DF1RequestMessage
 
 	GetTypeName() string
 	DF1RequestMessage
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -109,15 +107,14 @@ func (m *_DF1RequestMessage) GetTransactionCounter() uint16 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewDF1RequestMessage factory function for _DF1RequestMessage
-func NewDF1RequestMessage( destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 ) *_DF1RequestMessage {
-return &_DF1RequestMessage{ DestinationAddress: destinationAddress , SourceAddress: sourceAddress , Status: status , TransactionCounter: transactionCounter }
+func NewDF1RequestMessage(destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *_DF1RequestMessage {
+	return &_DF1RequestMessage{DestinationAddress: destinationAddress, SourceAddress: sourceAddress, Status: status, TransactionCounter: transactionCounter}
 }
 
 // Deprecated: use the interface for direct cast
 func CastDF1RequestMessage(structType interface{}) DF1RequestMessage {
-    if casted, ok := structType.(DF1RequestMessage); ok {
+	if casted, ok := structType.(DF1RequestMessage); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1RequestMessage); ok {
@@ -130,26 +127,25 @@ func (m *_DF1RequestMessage) GetTypeName() string {
 	return "DF1RequestMessage"
 }
 
-
 func (m *_DF1RequestMessage) GetParentLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Reserved Field (reserved)
 	lengthInBits += 16
 	// Discriminator Field (commandCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (status)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
@@ -172,14 +168,14 @@ func DF1RequestMessageParseWithBuffer(ctx context.Context, readBuffer utils.Read
 	_ = currentPos
 
 	// Simple Field (destinationAddress)
-_destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+	_destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field of DF1RequestMessage")
 	}
 	destinationAddress := _destinationAddress
 
 	// Simple Field (sourceAddress)
-_sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+	_sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field of DF1RequestMessage")
 	}
@@ -195,7 +191,7 @@ _sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 		if reserved != uint16(0x0000) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField0 = &reserved
@@ -209,14 +205,14 @@ _sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	}
 
 	// Simple Field (status)
-_status, _statusErr := readBuffer.ReadUint8("status", 8)
+	_status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field of DF1RequestMessage")
 	}
 	status := _status
 
 	// Simple Field (transactionCounter)
-_transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+	_transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field of DF1RequestMessage")
 	}
@@ -225,15 +221,15 @@ _transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactio
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	type DF1RequestMessageChildSerializeRequirement interface {
 		DF1RequestMessage
-		InitializeParent(DF1RequestMessage,  uint8, uint8, uint8, uint16)
+		InitializeParent(DF1RequestMessage, uint8, uint8, uint8, uint16)
 		GetParent() DF1RequestMessage
 	}
 	var _childTemp interface{}
 	var _child DF1RequestMessageChildSerializeRequirement
 	var typeSwitchError error
 	switch {
-case commandCode == 0x0F : // DF1CommandRequestMessage
-		_childTemp, typeSwitchError = DF1CommandRequestMessageParseWithBuffer(ctx, readBuffer, )
+	case commandCode == 0x0F: // DF1CommandRequestMessage
+		_childTemp, typeSwitchError = DF1CommandRequestMessageParseWithBuffer(ctx, readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandCode=%v]", commandCode)
 	}
@@ -247,7 +243,7 @@ case commandCode == 0x0F : // DF1CommandRequestMessage
 	}
 
 	// Finish initializing
-_child.InitializeParent(_child , destinationAddress , sourceAddress , status , transactionCounter )
+	_child.InitializeParent(_child, destinationAddress, sourceAddress, status, transactionCounter)
 	_child.GetParent().(*_DF1RequestMessage).reservedField0 = reservedField0
 	return _child, nil
 }
@@ -258,7 +254,7 @@ func (pm *_DF1RequestMessage) SerializeParent(ctx context.Context, writeBuffer u
 	_ = m
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for DF1RequestMessage")
 	}
 
@@ -282,7 +278,7 @@ func (pm *_DF1RequestMessage) SerializeParent(ctx context.Context, writeBuffer u
 		if pm.reservedField0 != nil {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Overriding reserved field with unexpected value.")
 			reserved = *pm.reservedField0
 		}
@@ -325,7 +321,6 @@ func (pm *_DF1RequestMessage) SerializeParent(ctx context.Context, writeBuffer u
 	return nil
 }
 
-
 func (m *_DF1RequestMessage) isDF1RequestMessage() bool {
 	return true
 }
@@ -340,6 +335,3 @@ func (m *_DF1RequestMessage) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 8157e53bbb..b2a2c7ba8c 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1RequestProtectedTypedLogicalRead is the corresponding interface of DF1RequestProtectedTypedLogicalRead
 type DF1RequestProtectedTypedLogicalRead interface {
@@ -56,33 +54,33 @@ type DF1RequestProtectedTypedLogicalReadExactly interface {
 // _DF1RequestProtectedTypedLogicalRead is the data-structure of this message
 type _DF1RequestProtectedTypedLogicalRead struct {
 	*_DF1RequestCommand
-        ByteSize uint8
-        FileNumber uint8
-        FileType uint8
-        ElementNumber uint8
-        SubElementNumber uint8
+	ByteSize         uint8
+	FileNumber       uint8
+	FileType         uint8
+	ElementNumber    uint8
+	SubElementNumber uint8
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_DF1RequestProtectedTypedLogicalRead)  GetFunctionCode() uint8 {
-return 0xA2}
+func (m *_DF1RequestProtectedTypedLogicalRead) GetFunctionCode() uint8 {
+	return 0xA2
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_DF1RequestProtectedTypedLogicalRead) InitializeParent(parent DF1RequestCommand ) {}
+func (m *_DF1RequestProtectedTypedLogicalRead) InitializeParent(parent DF1RequestCommand) {}
 
-func (m *_DF1RequestProtectedTypedLogicalRead)  GetParent() DF1RequestCommand {
+func (m *_DF1RequestProtectedTypedLogicalRead) GetParent() DF1RequestCommand {
 	return m._DF1RequestCommand
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -113,16 +111,15 @@ func (m *_DF1RequestProtectedTypedLogicalRead) GetSubElementNumber() uint8 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewDF1RequestProtectedTypedLogicalRead factory function for _DF1RequestProtectedTypedLogicalRead
-func NewDF1RequestProtectedTypedLogicalRead( byteSize uint8 , fileNumber uint8 , fileType uint8 , elementNumber uint8 , subElementNumber uint8 ) *_DF1RequestProtectedTypedLogicalRead {
+func NewDF1RequestProtectedTypedLogicalRead(byteSize uint8, fileNumber uint8, fileType uint8, elementNumber uint8, subElementNumber uint8) *_DF1RequestProtectedTypedLogicalRead {
 	_result := &_DF1RequestProtectedTypedLogicalRead{
-		ByteSize: byteSize,
-		FileNumber: fileNumber,
-		FileType: fileType,
-		ElementNumber: elementNumber,
-		SubElementNumber: subElementNumber,
-    	_DF1RequestCommand: NewDF1RequestCommand(),
+		ByteSize:           byteSize,
+		FileNumber:         fileNumber,
+		FileType:           fileType,
+		ElementNumber:      elementNumber,
+		SubElementNumber:   subElementNumber,
+		_DF1RequestCommand: NewDF1RequestCommand(),
 	}
 	_result._DF1RequestCommand._DF1RequestCommandChildRequirements = _result
 	return _result
@@ -130,7 +127,7 @@ func NewDF1RequestProtectedTypedLogicalRead( byteSize uint8 , fileNumber uint8 ,
 
 // Deprecated: use the interface for direct cast
 func CastDF1RequestProtectedTypedLogicalRead(structType interface{}) DF1RequestProtectedTypedLogicalRead {
-    if casted, ok := structType.(DF1RequestProtectedTypedLogicalRead); ok {
+	if casted, ok := structType.(DF1RequestProtectedTypedLogicalRead); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1RequestProtectedTypedLogicalRead); ok {
@@ -147,24 +144,23 @@ func (m *_DF1RequestProtectedTypedLogicalRead) GetLengthInBits(ctx context.Conte
 	lengthInBits := uint16(m.GetParentLengthInBits(ctx))
 
 	// Simple field (byteSize)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fileNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fileType)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (elementNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (subElementNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
 
-
 func (m *_DF1RequestProtectedTypedLogicalRead) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -183,35 +179,35 @@ func DF1RequestProtectedTypedLogicalReadParseWithBuffer(ctx context.Context, rea
 	_ = currentPos
 
 	// Simple Field (byteSize)
-_byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
+	_byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
 	if _byteSizeErr != nil {
 		return nil, errors.Wrap(_byteSizeErr, "Error parsing 'byteSize' field of DF1RequestProtectedTypedLogicalRead")
 	}
 	byteSize := _byteSize
 
 	// Simple Field (fileNumber)
-_fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
+	_fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
 	if _fileNumberErr != nil {
 		return nil, errors.Wrap(_fileNumberErr, "Error parsing 'fileNumber' field of DF1RequestProtectedTypedLogicalRead")
 	}
 	fileNumber := _fileNumber
 
 	// Simple Field (fileType)
-_fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
+	_fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
 	if _fileTypeErr != nil {
 		return nil, errors.Wrap(_fileTypeErr, "Error parsing 'fileType' field of DF1RequestProtectedTypedLogicalRead")
 	}
 	fileType := _fileType
 
 	// Simple Field (elementNumber)
-_elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
+	_elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
 	if _elementNumberErr != nil {
 		return nil, errors.Wrap(_elementNumberErr, "Error parsing 'elementNumber' field of DF1RequestProtectedTypedLogicalRead")
 	}
 	elementNumber := _elementNumber
 
 	// Simple Field (subElementNumber)
-_subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
+	_subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
 	if _subElementNumberErr != nil {
 		return nil, errors.Wrap(_subElementNumberErr, "Error parsing 'subElementNumber' field of DF1RequestProtectedTypedLogicalRead")
 	}
@@ -223,13 +219,12 @@ _subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumbe
 
 	// Create a partially initialized instance
 	_child := &_DF1RequestProtectedTypedLogicalRead{
-		_DF1RequestCommand: &_DF1RequestCommand{
-		},
-		ByteSize: byteSize,
-		FileNumber: fileNumber,
-		FileType: fileType,
-		ElementNumber: elementNumber,
-		SubElementNumber: subElementNumber,
+		_DF1RequestCommand: &_DF1RequestCommand{},
+		ByteSize:           byteSize,
+		FileNumber:         fileNumber,
+		FileType:           fileType,
+		ElementNumber:      elementNumber,
+		SubElementNumber:   subElementNumber,
 	}
 	_child._DF1RequestCommand._DF1RequestCommandChildRequirements = _child
 	return _child, nil
@@ -251,40 +246,40 @@ func (m *_DF1RequestProtectedTypedLogicalRead) SerializeWithWriteBuffer(ctx cont
 			return errors.Wrap(pushErr, "Error pushing for DF1RequestProtectedTypedLogicalRead")
 		}
 
-	// Simple Field (byteSize)
-	byteSize := uint8(m.GetByteSize())
-	_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
-	if _byteSizeErr != nil {
-		return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
-	}
+		// Simple Field (byteSize)
+		byteSize := uint8(m.GetByteSize())
+		_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
+		if _byteSizeErr != nil {
+			return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
+		}
 
-	// Simple Field (fileNumber)
-	fileNumber := uint8(m.GetFileNumber())
-	_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
-	if _fileNumberErr != nil {
-		return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
-	}
+		// Simple Field (fileNumber)
+		fileNumber := uint8(m.GetFileNumber())
+		_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
+		if _fileNumberErr != nil {
+			return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
+		}
 
-	// Simple Field (fileType)
-	fileType := uint8(m.GetFileType())
-	_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
-	if _fileTypeErr != nil {
-		return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
-	}
+		// Simple Field (fileType)
+		fileType := uint8(m.GetFileType())
+		_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
+		if _fileTypeErr != nil {
+			return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
+		}
 
-	// Simple Field (elementNumber)
-	elementNumber := uint8(m.GetElementNumber())
-	_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
-	if _elementNumberErr != nil {
-		return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
-	}
+		// Simple Field (elementNumber)
+		elementNumber := uint8(m.GetElementNumber())
+		_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
+		if _elementNumberErr != nil {
+			return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
+		}
 
-	// Simple Field (subElementNumber)
-	subElementNumber := uint8(m.GetSubElementNumber())
-	_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
-	if _subElementNumberErr != nil {
-		return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
-	}
+		// Simple Field (subElementNumber)
+		subElementNumber := uint8(m.GetSubElementNumber())
+		_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
+		if _subElementNumberErr != nil {
+			return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
+		}
 
 		if popErr := writeBuffer.PopContext("DF1RequestProtectedTypedLogicalRead"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for DF1RequestProtectedTypedLogicalRead")
@@ -294,7 +289,6 @@ func (m *_DF1RequestProtectedTypedLogicalRead) SerializeWithWriteBuffer(ctx cont
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_DF1RequestProtectedTypedLogicalRead) isDF1RequestProtectedTypedLogicalRead() bool {
 	return true
 }
@@ -309,6 +303,3 @@ func (m *_DF1RequestProtectedTypedLogicalRead) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
index c496f58b1a..c87ac8ceab 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // DF1ResponseMessage is the corresponding interface of DF1ResponseMessage
 type DF1ResponseMessage interface {
@@ -55,10 +53,10 @@ type DF1ResponseMessageExactly interface {
 // _DF1ResponseMessage is the data-structure of this message
 type _DF1ResponseMessage struct {
 	_DF1ResponseMessageChildRequirements
-        DestinationAddress uint8
-        SourceAddress uint8
-        Status uint8
-        TransactionCounter uint16
+	DestinationAddress uint8
+	SourceAddress      uint8
+	Status             uint8
+	TransactionCounter uint16
 
 	// Arguments.
 	PayloadLength uint16
@@ -73,7 +71,6 @@ type _DF1ResponseMessageChildRequirements interface {
 	GetCommandCode() uint8
 }
 
-
 type DF1ResponseMessageParent interface {
 	SerializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child DF1ResponseMessage, serializeChildFunction func() error) error
 	GetTypeName() string
@@ -81,12 +78,13 @@ type DF1ResponseMessageParent interface {
 
 type DF1ResponseMessageChild interface {
 	utils.Serializable
-InitializeParent(parent DF1ResponseMessage , destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 )
+	InitializeParent(parent DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
 	GetParent() *DF1ResponseMessage
 
 	GetTypeName() string
 	DF1ResponseMessage
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -113,15 +111,14 @@ func (m *_DF1ResponseMessage) GetTransactionCounter() uint16 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewDF1ResponseMessage factory function for _DF1ResponseMessage
-func NewDF1ResponseMessage( destinationAddress uint8 , sourceAddress uint8 , status uint8 , transactionCounter uint16 , payloadLength uint16 ) *_DF1ResponseMessage {
-return &_DF1ResponseMessage{ DestinationAddress: destinationAddress , SourceAddress: sourceAddress , Status: status , TransactionCounter: transactionCounter , PayloadLength: payloadLength }
+func NewDF1ResponseMessage(destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16, payloadLength uint16) *_DF1ResponseMessage {
+	return &_DF1ResponseMessage{DestinationAddress: destinationAddress, SourceAddress: sourceAddress, Status: status, TransactionCounter: transactionCounter, PayloadLength: payloadLength}
 }
 
 // Deprecated: use the interface for direct cast
 func CastDF1ResponseMessage(structType interface{}) DF1ResponseMessage {
-    if casted, ok := structType.(DF1ResponseMessage); ok {
+	if casted, ok := structType.(DF1ResponseMessage); ok {
 		return casted
 	}
 	if casted, ok := structType.(*DF1ResponseMessage); ok {
@@ -134,7 +131,6 @@ func (m *_DF1ResponseMessage) GetTypeName() string {
 	return "DF1ResponseMessage"
 }
 
-
 func (m *_DF1ResponseMessage) GetParentLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 
@@ -142,21 +138,21 @@ func (m *_DF1ResponseMessage) GetParentLengthInBits(ctx context.Context) uint16
 	lengthInBits += 8
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Reserved Field (reserved)
 	lengthInBits += 8
 	// Discriminator Field (commandCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (status)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
@@ -188,7 +184,7 @@ func DF1ResponseMessageParseWithBuffer(ctx context.Context, readBuffer utils.Rea
 		if reserved != uint8(0x00) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField0 = &reserved
@@ -196,14 +192,14 @@ func DF1ResponseMessageParseWithBuffer(ctx context.Context, readBuffer utils.Rea
 	}
 
 	// Simple Field (destinationAddress)
-_destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+	_destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field of DF1ResponseMessage")
 	}
 	destinationAddress := _destinationAddress
 
 	// Simple Field (sourceAddress)
-_sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+	_sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field of DF1ResponseMessage")
 	}
@@ -219,7 +215,7 @@ _sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 		if reserved != uint8(0x00) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField1 = &reserved
@@ -233,14 +229,14 @@ _sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	}
 
 	// Simple Field (status)
-_status, _statusErr := readBuffer.ReadUint8("status", 8)
+	_status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field of DF1ResponseMessage")
 	}
 	status := _status
 
 	// Simple Field (transactionCounter)
-_transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+	_transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field of DF1ResponseMessage")
 	}
@@ -249,14 +245,14 @@ _transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactio
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	type DF1ResponseMessageChildSerializeRequirement interface {
 		DF1ResponseMessage
-		InitializeParent(DF1ResponseMessage,  uint8, uint8, uint8, uint16)
+		InitializeParent(DF1ResponseMessage, uint8, uint8, uint8, uint16)
 		GetParent() DF1ResponseMessage
 	}
 	var _childTemp interface{}
 	var _child DF1ResponseMessageChildSerializeRequirement
 	var typeSwitchError error
 	switch {
-case commandCode == 0x4F : // DF1CommandResponseMessageProtectedTypedLogicalRead
+	case commandCode == 0x4F: // DF1CommandResponseMessageProtectedTypedLogicalRead
 		_childTemp, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParseWithBuffer(ctx, readBuffer, payloadLength)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandCode=%v]", commandCode)
@@ -271,7 +267,7 @@ case commandCode == 0x4F : // DF1CommandResponseMessageProtectedTypedLogicalRead
 	}
 
 	// Finish initializing
-_child.InitializeParent(_child , destinationAddress , sourceAddress , status , transactionCounter )
+	_child.InitializeParent(_child, destinationAddress, sourceAddress, status, transactionCounter)
 	_child.GetParent().(*_DF1ResponseMessage).reservedField0 = reservedField0
 	_child.GetParent().(*_DF1ResponseMessage).reservedField1 = reservedField1
 	return _child, nil
@@ -283,7 +279,7 @@ func (pm *_DF1ResponseMessage) SerializeParent(ctx context.Context, writeBuffer
 	_ = m
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for DF1ResponseMessage")
 	}
 
@@ -293,7 +289,7 @@ func (pm *_DF1ResponseMessage) SerializeParent(ctx context.Context, writeBuffer
 		if pm.reservedField0 != nil {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Overriding reserved field with unexpected value.")
 			reserved = *pm.reservedField0
 		}
@@ -323,7 +319,7 @@ func (pm *_DF1ResponseMessage) SerializeParent(ctx context.Context, writeBuffer
 		if pm.reservedField1 != nil {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Overriding reserved field with unexpected value.")
 			reserved = *pm.reservedField1
 		}
@@ -366,13 +362,13 @@ func (pm *_DF1ResponseMessage) SerializeParent(ctx context.Context, writeBuffer
 	return nil
 }
 
-
 ////
 // Arguments Getter
 
 func (m *_DF1ResponseMessage) GetPayloadLength() uint16 {
 	return m.PayloadLength
 }
+
 //
 ////
 
@@ -390,6 +386,3 @@ func (m *_DF1ResponseMessage) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/abeth/readwrite/model/plc4x_common.go b/plc4go/protocols/abeth/readwrite/model/plc4x_common.go
index 42166d94e6..d2d66e8bdd 100644
--- a/plc4go/protocols/abeth/readwrite/model/plc4x_common.go
+++ b/plc4go/protocols/abeth/readwrite/model/plc4x_common.go
@@ -15,7 +15,7 @@
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
-*/
+ */
 
 package model
 
@@ -25,4 +25,3 @@ import "github.com/rs/zerolog/log"
 
 // Plc4xModelLog is the Logger used by the Parse/Serialize methods
 var Plc4xModelLog = &log.Logger
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/XmlParserHelper.go b/plc4go/protocols/ads/discovery/readwrite/XmlParserHelper.go
index b1a30bcbe9..dbc2cbb1c1 100644
--- a/plc4go/protocols/ads/discovery/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/ads/discovery/readwrite/XmlParserHelper.go
@@ -21,8 +21,8 @@ package readwrite
 
 import (
 	"context"
-	"strings"
 	"strconv"
+	"strings"
 
 	"github.com/apache/plc4x/plc4go/protocols/ads/discovery/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi/utils"
@@ -43,17 +43,17 @@ func init() {
 }
 
 func (m AdsDiscoveryXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-    switch typeName {
-        case "AdsDiscovery":
-			return model.AdsDiscoveryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsDiscoveryBlock":
-			return model.AdsDiscoveryBlockParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsDiscoveryConstants":
-			return model.AdsDiscoveryConstantsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsNetId":
-			return model.AmsNetIdParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsString":
-			return model.AmsStringParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-    }
-    return nil, errors.Errorf("Unsupported type %s", typeName)
+	switch typeName {
+	case "AdsDiscovery":
+		return model.AdsDiscoveryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsDiscoveryBlock":
+		return model.AdsDiscoveryBlockParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsDiscoveryConstants":
+		return model.AdsDiscoveryConstantsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsNetId":
+		return model.AmsNetIdParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsString":
+		return model.AmsStringParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	}
+	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscovery.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscovery.go
index 0cade7a325..51acc0c4df 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscovery.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscovery.go
@@ -19,18 +19,16 @@
 
 package model
 
-
 import (
 	"context"
 	"encoding/binary"
 	"fmt"
+	spiContext "github.com/apache/plc4x/plc4go/spi/context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
-	spiContext "github.com/apache/plc4x/plc4go/spi/context"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // Constant values.
 const AdsDiscovery_HEADER uint32 = 0x71146603
@@ -60,14 +58,13 @@ type AdsDiscoveryExactly interface {
 
 // _AdsDiscovery is the data-structure of this message
 type _AdsDiscovery struct {
-        RequestId uint32
-        Operation Operation
-        AmsNetId AmsNetId
-        PortNumber AdsPortNumbers
-        Blocks []AdsDiscoveryBlock
+	RequestId  uint32
+	Operation  Operation
+	AmsNetId   AmsNetId
+	PortNumber AdsPortNumbers
+	Blocks     []AdsDiscoveryBlock
 }
 
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -111,15 +108,14 @@ func (m *_AdsDiscovery) GetHeader() uint32 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscovery factory function for _AdsDiscovery
-func NewAdsDiscovery( requestId uint32 , operation Operation , amsNetId AmsNetId , portNumber AdsPortNumbers , blocks []AdsDiscoveryBlock ) *_AdsDiscovery {
-return &_AdsDiscovery{ RequestId: requestId , Operation: operation , AmsNetId: amsNetId , PortNumber: portNumber , Blocks: blocks }
+func NewAdsDiscovery(requestId uint32, operation Operation, amsNetId AmsNetId, portNumber AdsPortNumbers, blocks []AdsDiscoveryBlock) *_AdsDiscovery {
+	return &_AdsDiscovery{RequestId: requestId, Operation: operation, AmsNetId: amsNetId, PortNumber: portNumber, Blocks: blocks}
 }
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscovery(structType interface{}) AdsDiscovery {
-    if casted, ok := structType.(AdsDiscovery); ok {
+	if casted, ok := structType.(AdsDiscovery); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscovery); ok {
@@ -139,7 +135,7 @@ func (m *_AdsDiscovery) GetLengthInBits(ctx context.Context) uint16 {
 	lengthInBits += 32
 
 	// Simple field (requestId)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (operation)
 	lengthInBits += 32
@@ -159,14 +155,13 @@ func (m *_AdsDiscovery) GetLengthInBits(ctx context.Context) uint16 {
 			arrayCtx := spiContext.CreateArrayContext(ctx, len(m.Blocks), _curItem)
 			_ = arrayCtx
 			_ = _curItem
-			lengthInBits += element.(interface{GetLengthInBits(context.Context) uint16}).GetLengthInBits(arrayCtx)
+			lengthInBits += element.(interface{ GetLengthInBits(context.Context) uint16 }).GetLengthInBits(arrayCtx)
 		}
 	}
 
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscovery) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -194,7 +189,7 @@ func AdsDiscoveryParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
 	}
 
 	// Simple Field (requestId)
-_requestId, _requestIdErr := readBuffer.ReadUint32("requestId", 32)
+	_requestId, _requestIdErr := readBuffer.ReadUint32("requestId", 32)
 	if _requestIdErr != nil {
 		return nil, errors.Wrap(_requestIdErr, "Error parsing 'requestId' field of AdsDiscovery")
 	}
@@ -204,7 +199,7 @@ _requestId, _requestIdErr := readBuffer.ReadUint32("requestId", 32)
 	if pullErr := readBuffer.PullContext("operation"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for operation")
 	}
-_operation, _operationErr := OperationParseWithBuffer(ctx, readBuffer)
+	_operation, _operationErr := OperationParseWithBuffer(ctx, readBuffer)
 	if _operationErr != nil {
 		return nil, errors.Wrap(_operationErr, "Error parsing 'operation' field of AdsDiscovery")
 	}
@@ -217,7 +212,7 @@ _operation, _operationErr := OperationParseWithBuffer(ctx, readBuffer)
 	if pullErr := readBuffer.PullContext("amsNetId"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for amsNetId")
 	}
-_amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
+	_amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
 	if _amsNetIdErr != nil {
 		return nil, errors.Wrap(_amsNetIdErr, "Error parsing 'amsNetId' field of AdsDiscovery")
 	}
@@ -230,7 +225,7 @@ _amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
 	if pullErr := readBuffer.PullContext("portNumber"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for portNumber")
 	}
-_portNumber, _portNumberErr := AdsPortNumbersParseWithBuffer(ctx, readBuffer)
+	_portNumber, _portNumberErr := AdsPortNumbersParseWithBuffer(ctx, readBuffer)
 	if _portNumberErr != nil {
 		return nil, errors.Wrap(_portNumberErr, "Error parsing 'portNumber' field of AdsDiscovery")
 	}
@@ -262,7 +257,7 @@ _portNumber, _portNumberErr := AdsPortNumbersParseWithBuffer(ctx, readBuffer)
 			arrayCtx := spiContext.CreateArrayContext(ctx, int(_numItems), int(_curItem))
 			_ = arrayCtx
 			_ = _curItem
-_item, _err := AdsDiscoveryBlockParseWithBuffer(arrayCtx, readBuffer)
+			_item, _err := AdsDiscoveryBlockParseWithBuffer(arrayCtx, readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'blocks' field of AdsDiscovery")
 			}
@@ -279,12 +274,12 @@ _item, _err := AdsDiscoveryBlockParseWithBuffer(arrayCtx, readBuffer)
 
 	// Create the instance
 	return &_AdsDiscovery{
-			RequestId: requestId,
-			Operation: operation,
-			AmsNetId: amsNetId,
-			PortNumber: portNumber,
-			Blocks: blocks,
-		}, nil
+		RequestId:  requestId,
+		Operation:  operation,
+		AmsNetId:   amsNetId,
+		PortNumber: portNumber,
+		Blocks:     blocks,
+	}, nil
 }
 
 func (m *_AdsDiscovery) Serialize() ([]byte, error) {
@@ -298,7 +293,7 @@ func (m *_AdsDiscovery) Serialize() ([]byte, error) {
 func (m *_AdsDiscovery) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("AdsDiscovery"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsDiscovery"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for AdsDiscovery")
 	}
 
@@ -381,7 +376,6 @@ func (m *_AdsDiscovery) SerializeWithWriteBuffer(ctx context.Context, writeBuffe
 	return nil
 }
 
-
 func (m *_AdsDiscovery) isAdsDiscovery() bool {
 	return true
 }
@@ -396,6 +390,3 @@ func (m *_AdsDiscovery) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlock.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlock.go
index d40305bfd1..887d8997a1 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlock.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlock.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlock is the corresponding interface of AdsDiscoveryBlock
 type AdsDiscoveryBlock interface {
@@ -55,7 +53,6 @@ type _AdsDiscoveryBlockChildRequirements interface {
 	GetBlockType() AdsDiscoveryBlockType
 }
 
-
 type AdsDiscoveryBlockParent interface {
 	SerializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child AdsDiscoveryBlock, serializeChildFunction func() error) error
 	GetTypeName() string
@@ -63,22 +60,21 @@ type AdsDiscoveryBlockParent interface {
 
 type AdsDiscoveryBlockChild interface {
 	utils.Serializable
-InitializeParent(parent AdsDiscoveryBlock )
+	InitializeParent(parent AdsDiscoveryBlock)
 	GetParent() *AdsDiscoveryBlock
 
 	GetTypeName() string
 	AdsDiscoveryBlock
 }
 
-
 // NewAdsDiscoveryBlock factory function for _AdsDiscoveryBlock
-func NewAdsDiscoveryBlock( ) *_AdsDiscoveryBlock {
-return &_AdsDiscoveryBlock{ }
+func NewAdsDiscoveryBlock() *_AdsDiscoveryBlock {
+	return &_AdsDiscoveryBlock{}
 }
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlock(structType interface{}) AdsDiscoveryBlock {
-    if casted, ok := structType.(AdsDiscoveryBlock); ok {
+	if casted, ok := structType.(AdsDiscoveryBlock); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlock); ok {
@@ -91,11 +87,10 @@ func (m *_AdsDiscoveryBlock) GetTypeName() string {
 	return "AdsDiscoveryBlock"
 }
 
-
 func (m *_AdsDiscoveryBlock) GetParentLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (blockType)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
@@ -133,31 +128,31 @@ func AdsDiscoveryBlockParseWithBuffer(ctx context.Context, readBuffer utils.Read
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	type AdsDiscoveryBlockChildSerializeRequirement interface {
 		AdsDiscoveryBlock
-		InitializeParent(AdsDiscoveryBlock )
+		InitializeParent(AdsDiscoveryBlock)
 		GetParent() AdsDiscoveryBlock
 	}
 	var _childTemp interface{}
 	var _child AdsDiscoveryBlockChildSerializeRequirement
 	var typeSwitchError error
 	switch {
-case blockType == AdsDiscoveryBlockType_STATUS : // AdsDiscoveryBlockStatus
-		_childTemp, typeSwitchError = AdsDiscoveryBlockStatusParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_PASSWORD : // AdsDiscoveryBlockPassword
-		_childTemp, typeSwitchError = AdsDiscoveryBlockPasswordParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_VERSION : // AdsDiscoveryBlockVersion
-		_childTemp, typeSwitchError = AdsDiscoveryBlockVersionParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_OS_DATA : // AdsDiscoveryBlockOsData
-		_childTemp, typeSwitchError = AdsDiscoveryBlockOsDataParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_HOST_NAME : // AdsDiscoveryBlockHostName
-		_childTemp, typeSwitchError = AdsDiscoveryBlockHostNameParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_AMS_NET_ID : // AdsDiscoveryBlockAmsNetId
-		_childTemp, typeSwitchError = AdsDiscoveryBlockAmsNetIdParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_ROUTE_NAME : // AdsDiscoveryBlockRouteName
-		_childTemp, typeSwitchError = AdsDiscoveryBlockRouteNameParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_USER_NAME : // AdsDiscoveryBlockUserName
-		_childTemp, typeSwitchError = AdsDiscoveryBlockUserNameParseWithBuffer(ctx, readBuffer, )
-case blockType == AdsDiscoveryBlockType_FINGERPRINT : // AdsDiscoveryBlockFingerprint
-		_childTemp, typeSwitchError = AdsDiscoveryBlockFingerprintParseWithBuffer(ctx, readBuffer, )
+	case blockType == AdsDiscoveryBlockType_STATUS: // AdsDiscoveryBlockStatus
+		_childTemp, typeSwitchError = AdsDiscoveryBlockStatusParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_PASSWORD: // AdsDiscoveryBlockPassword
+		_childTemp, typeSwitchError = AdsDiscoveryBlockPasswordParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_VERSION: // AdsDiscoveryBlockVersion
+		_childTemp, typeSwitchError = AdsDiscoveryBlockVersionParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_OS_DATA: // AdsDiscoveryBlockOsData
+		_childTemp, typeSwitchError = AdsDiscoveryBlockOsDataParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_HOST_NAME: // AdsDiscoveryBlockHostName
+		_childTemp, typeSwitchError = AdsDiscoveryBlockHostNameParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_AMS_NET_ID: // AdsDiscoveryBlockAmsNetId
+		_childTemp, typeSwitchError = AdsDiscoveryBlockAmsNetIdParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_ROUTE_NAME: // AdsDiscoveryBlockRouteName
+		_childTemp, typeSwitchError = AdsDiscoveryBlockRouteNameParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_USER_NAME: // AdsDiscoveryBlockUserName
+		_childTemp, typeSwitchError = AdsDiscoveryBlockUserNameParseWithBuffer(ctx, readBuffer)
+	case blockType == AdsDiscoveryBlockType_FINGERPRINT: // AdsDiscoveryBlockFingerprint
+		_childTemp, typeSwitchError = AdsDiscoveryBlockFingerprintParseWithBuffer(ctx, readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [blockType=%v]", blockType)
 	}
@@ -171,7 +166,7 @@ case blockType == AdsDiscoveryBlockType_FINGERPRINT : // AdsDiscoveryBlockFinger
 	}
 
 	// Finish initializing
-_child.InitializeParent(_child )
+	_child.InitializeParent(_child)
 	return _child, nil
 }
 
@@ -181,7 +176,7 @@ func (pm *_AdsDiscoveryBlock) SerializeParent(ctx context.Context, writeBuffer u
 	_ = m
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("AdsDiscoveryBlock"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsDiscoveryBlock"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlock")
 	}
 
@@ -210,7 +205,6 @@ func (pm *_AdsDiscoveryBlock) SerializeParent(ctx context.Context, writeBuffer u
 	return nil
 }
 
-
 func (m *_AdsDiscoveryBlock) isAdsDiscoveryBlock() bool {
 	return true
 }
@@ -225,6 +219,3 @@ func (m *_AdsDiscoveryBlock) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockAmsNetId.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockAmsNetId.go
index c7a05b761e..8b24abaaf7 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockAmsNetId.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockAmsNetId.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"fmt"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // Constant values.
 const AdsDiscoveryBlockAmsNetId_AMSNETIDLENGTH uint16 = 0x0006
@@ -52,29 +50,29 @@ type AdsDiscoveryBlockAmsNetIdExactly interface {
 // _AdsDiscoveryBlockAmsNetId is the data-structure of this message
 type _AdsDiscoveryBlockAmsNetId struct {
 	*_AdsDiscoveryBlock
-        AmsNetId AmsNetId
+	AmsNetId AmsNetId
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockAmsNetId)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_AMS_NET_ID}
+func (m *_AdsDiscoveryBlockAmsNetId) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_AMS_NET_ID
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockAmsNetId) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockAmsNetId) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockAmsNetId)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockAmsNetId) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -102,12 +100,11 @@ func (m *_AdsDiscoveryBlockAmsNetId) GetAmsNetIdLength() uint16 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockAmsNetId factory function for _AdsDiscoveryBlockAmsNetId
-func NewAdsDiscoveryBlockAmsNetId( amsNetId AmsNetId ) *_AdsDiscoveryBlockAmsNetId {
+func NewAdsDiscoveryBlockAmsNetId(amsNetId AmsNetId) *_AdsDiscoveryBlockAmsNetId {
 	_result := &_AdsDiscoveryBlockAmsNetId{
-		AmsNetId: amsNetId,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		AmsNetId:           amsNetId,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -115,7 +112,7 @@ func NewAdsDiscoveryBlockAmsNetId( amsNetId AmsNetId ) *_AdsDiscoveryBlockAmsNet
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockAmsNetId(structType interface{}) AdsDiscoveryBlockAmsNetId {
-    if casted, ok := structType.(AdsDiscoveryBlockAmsNetId); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockAmsNetId); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockAmsNetId); ok {
@@ -140,7 +137,6 @@ func (m *_AdsDiscoveryBlockAmsNetId) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockAmsNetId) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -171,7 +167,7 @@ func AdsDiscoveryBlockAmsNetIdParseWithBuffer(ctx context.Context, readBuffer ut
 	if pullErr := readBuffer.PullContext("amsNetId"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for amsNetId")
 	}
-_amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
+	_amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
 	if _amsNetIdErr != nil {
 		return nil, errors.Wrap(_amsNetIdErr, "Error parsing 'amsNetId' field of AdsDiscoveryBlockAmsNetId")
 	}
@@ -186,9 +182,8 @@ _amsNetId, _amsNetIdErr := AmsNetIdParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockAmsNetId{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		AmsNetId: amsNetId,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		AmsNetId:           amsNetId,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -210,23 +205,23 @@ func (m *_AdsDiscoveryBlockAmsNetId) SerializeWithWriteBuffer(ctx context.Contex
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockAmsNetId")
 		}
 
-	// Const Field (amsNetIdLength)
-	_amsNetIdLengthErr := writeBuffer.WriteUint16("amsNetIdLength", 16, 0x0006)
-	if _amsNetIdLengthErr != nil {
-		return errors.Wrap(_amsNetIdLengthErr, "Error serializing 'amsNetIdLength' field")
-	}
+		// Const Field (amsNetIdLength)
+		_amsNetIdLengthErr := writeBuffer.WriteUint16("amsNetIdLength", 16, 0x0006)
+		if _amsNetIdLengthErr != nil {
+			return errors.Wrap(_amsNetIdLengthErr, "Error serializing 'amsNetIdLength' field")
+		}
 
-	// Simple Field (amsNetId)
-	if pushErr := writeBuffer.PushContext("amsNetId"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for amsNetId")
-	}
-	_amsNetIdErr := writeBuffer.WriteSerializable(ctx, m.GetAmsNetId())
-	if popErr := writeBuffer.PopContext("amsNetId"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for amsNetId")
-	}
-	if _amsNetIdErr != nil {
-		return errors.Wrap(_amsNetIdErr, "Error serializing 'amsNetId' field")
-	}
+		// Simple Field (amsNetId)
+		if pushErr := writeBuffer.PushContext("amsNetId"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for amsNetId")
+		}
+		_amsNetIdErr := writeBuffer.WriteSerializable(ctx, m.GetAmsNetId())
+		if popErr := writeBuffer.PopContext("amsNetId"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for amsNetId")
+		}
+		if _amsNetIdErr != nil {
+			return errors.Wrap(_amsNetIdErr, "Error serializing 'amsNetId' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockAmsNetId"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockAmsNetId")
@@ -236,7 +231,6 @@ func (m *_AdsDiscoveryBlockAmsNetId) SerializeWithWriteBuffer(ctx context.Contex
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockAmsNetId) isAdsDiscoveryBlockAmsNetId() bool {
 	return true
 }
@@ -251,6 +245,3 @@ func (m *_AdsDiscoveryBlockAmsNetId) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockFingerprint.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockFingerprint.go
index 19d2350fd6..59c2e2bf09 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockFingerprint.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockFingerprint.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockFingerprint is the corresponding interface of AdsDiscoveryBlockFingerprint
 type AdsDiscoveryBlockFingerprint interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockFingerprintExactly interface {
 // _AdsDiscoveryBlockFingerprint is the data-structure of this message
 type _AdsDiscoveryBlockFingerprint struct {
 	*_AdsDiscoveryBlock
-        Data []byte
+	Data []byte
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockFingerprint)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_FINGERPRINT}
+func (m *_AdsDiscoveryBlockFingerprint) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_FINGERPRINT
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockFingerprint) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockFingerprint) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockFingerprint)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockFingerprint) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockFingerprint) GetData() []byte {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockFingerprint factory function for _AdsDiscoveryBlockFingerprint
-func NewAdsDiscoveryBlockFingerprint( data []byte ) *_AdsDiscoveryBlockFingerprint {
+func NewAdsDiscoveryBlockFingerprint(data []byte) *_AdsDiscoveryBlockFingerprint {
 	_result := &_AdsDiscoveryBlockFingerprint{
-		Data: data,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		Data:               data,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockFingerprint( data []byte ) *_AdsDiscoveryBlockFingerpri
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockFingerprint(structType interface{}) AdsDiscoveryBlockFingerprint {
-    if casted, ok := structType.(AdsDiscoveryBlockFingerprint); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockFingerprint); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockFingerprint); ok {
@@ -125,7 +122,6 @@ func (m *_AdsDiscoveryBlockFingerprint) GetLengthInBits(ctx context.Context) uin
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockFingerprint) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -162,9 +158,8 @@ func AdsDiscoveryBlockFingerprintParseWithBuffer(ctx context.Context, readBuffer
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockFingerprint{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		Data: data,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		Data:               data,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -186,18 +181,18 @@ func (m *_AdsDiscoveryBlockFingerprint) SerializeWithWriteBuffer(ctx context.Con
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockFingerprint")
 		}
 
-	// Implicit Field (dataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	dataLen := uint16(uint16(len(m.GetData())))
-	_dataLenErr := writeBuffer.WriteUint16("dataLen", 16, (dataLen))
-	if _dataLenErr != nil {
-		return errors.Wrap(_dataLenErr, "Error serializing 'dataLen' field")
-	}
+		// Implicit Field (dataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		dataLen := uint16(uint16(len(m.GetData())))
+		_dataLenErr := writeBuffer.WriteUint16("dataLen", 16, (dataLen))
+		if _dataLenErr != nil {
+			return errors.Wrap(_dataLenErr, "Error serializing 'dataLen' field")
+		}
 
-	// Array Field (data)
-	// Byte Array field (data)
-	if err := writeBuffer.WriteByteArray("data", m.GetData()); err != nil {
-		return errors.Wrap(err, "Error serializing 'data' field")
-	}
+		// Array Field (data)
+		// Byte Array field (data)
+		if err := writeBuffer.WriteByteArray("data", m.GetData()); err != nil {
+			return errors.Wrap(err, "Error serializing 'data' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockFingerprint"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockFingerprint")
@@ -207,7 +202,6 @@ func (m *_AdsDiscoveryBlockFingerprint) SerializeWithWriteBuffer(ctx context.Con
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockFingerprint) isAdsDiscoveryBlockFingerprint() bool {
 	return true
 }
@@ -222,6 +216,3 @@ func (m *_AdsDiscoveryBlockFingerprint) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockHostName.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockHostName.go
index f77a5e0a1b..087da8eb52 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockHostName.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockHostName.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockHostName is the corresponding interface of AdsDiscoveryBlockHostName
 type AdsDiscoveryBlockHostName interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockHostNameExactly interface {
 // _AdsDiscoveryBlockHostName is the data-structure of this message
 type _AdsDiscoveryBlockHostName struct {
 	*_AdsDiscoveryBlock
-        HostName AmsString
+	HostName AmsString
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockHostName)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_HOST_NAME}
+func (m *_AdsDiscoveryBlockHostName) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_HOST_NAME
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockHostName) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockHostName) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockHostName)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockHostName) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockHostName) GetHostName() AmsString {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockHostName factory function for _AdsDiscoveryBlockHostName
-func NewAdsDiscoveryBlockHostName( hostName AmsString ) *_AdsDiscoveryBlockHostName {
+func NewAdsDiscoveryBlockHostName(hostName AmsString) *_AdsDiscoveryBlockHostName {
 	_result := &_AdsDiscoveryBlockHostName{
-		HostName: hostName,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		HostName:           hostName,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockHostName( hostName AmsString ) *_AdsDiscoveryBlockHostN
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockHostName(structType interface{}) AdsDiscoveryBlockHostName {
-    if casted, ok := structType.(AdsDiscoveryBlockHostName); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockHostName); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockHostName); ok {
@@ -120,7 +117,6 @@ func (m *_AdsDiscoveryBlockHostName) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockHostName) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -142,7 +138,7 @@ func AdsDiscoveryBlockHostNameParseWithBuffer(ctx context.Context, readBuffer ut
 	if pullErr := readBuffer.PullContext("hostName"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for hostName")
 	}
-_hostName, _hostNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
+	_hostName, _hostNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 	if _hostNameErr != nil {
 		return nil, errors.Wrap(_hostNameErr, "Error parsing 'hostName' field of AdsDiscoveryBlockHostName")
 	}
@@ -157,9 +153,8 @@ _hostName, _hostNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockHostName{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		HostName: hostName,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		HostName:           hostName,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -181,17 +176,17 @@ func (m *_AdsDiscoveryBlockHostName) SerializeWithWriteBuffer(ctx context.Contex
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockHostName")
 		}
 
-	// Simple Field (hostName)
-	if pushErr := writeBuffer.PushContext("hostName"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for hostName")
-	}
-	_hostNameErr := writeBuffer.WriteSerializable(ctx, m.GetHostName())
-	if popErr := writeBuffer.PopContext("hostName"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for hostName")
-	}
-	if _hostNameErr != nil {
-		return errors.Wrap(_hostNameErr, "Error serializing 'hostName' field")
-	}
+		// Simple Field (hostName)
+		if pushErr := writeBuffer.PushContext("hostName"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for hostName")
+		}
+		_hostNameErr := writeBuffer.WriteSerializable(ctx, m.GetHostName())
+		if popErr := writeBuffer.PopContext("hostName"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for hostName")
+		}
+		if _hostNameErr != nil {
+			return errors.Wrap(_hostNameErr, "Error serializing 'hostName' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockHostName"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockHostName")
@@ -201,7 +196,6 @@ func (m *_AdsDiscoveryBlockHostName) SerializeWithWriteBuffer(ctx context.Contex
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockHostName) isAdsDiscoveryBlockHostName() bool {
 	return true
 }
@@ -216,6 +210,3 @@ func (m *_AdsDiscoveryBlockHostName) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockOsData.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockOsData.go
index c7cb80a1d6..727ac65855 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockOsData.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockOsData.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockOsData is the corresponding interface of AdsDiscoveryBlockOsData
 type AdsDiscoveryBlockOsData interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockOsDataExactly interface {
 // _AdsDiscoveryBlockOsData is the data-structure of this message
 type _AdsDiscoveryBlockOsData struct {
 	*_AdsDiscoveryBlock
-        OsData []byte
+	OsData []byte
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockOsData)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_OS_DATA}
+func (m *_AdsDiscoveryBlockOsData) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_OS_DATA
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockOsData) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockOsData) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockOsData)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockOsData) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockOsData) GetOsData() []byte {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockOsData factory function for _AdsDiscoveryBlockOsData
-func NewAdsDiscoveryBlockOsData( osData []byte ) *_AdsDiscoveryBlockOsData {
+func NewAdsDiscoveryBlockOsData(osData []byte) *_AdsDiscoveryBlockOsData {
 	_result := &_AdsDiscoveryBlockOsData{
-		OsData: osData,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		OsData:             osData,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockOsData( osData []byte ) *_AdsDiscoveryBlockOsData {
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockOsData(structType interface{}) AdsDiscoveryBlockOsData {
-    if casted, ok := structType.(AdsDiscoveryBlockOsData); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockOsData); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockOsData); ok {
@@ -125,7 +122,6 @@ func (m *_AdsDiscoveryBlockOsData) GetLengthInBits(ctx context.Context) uint16 {
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockOsData) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -162,9 +158,8 @@ func AdsDiscoveryBlockOsDataParseWithBuffer(ctx context.Context, readBuffer util
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockOsData{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		OsData: osData,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		OsData:             osData,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -186,18 +181,18 @@ func (m *_AdsDiscoveryBlockOsData) SerializeWithWriteBuffer(ctx context.Context,
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockOsData")
 		}
 
-	// Implicit Field (osDataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	osDataLen := uint16(uint16(len(m.GetOsData())))
-	_osDataLenErr := writeBuffer.WriteUint16("osDataLen", 16, (osDataLen))
-	if _osDataLenErr != nil {
-		return errors.Wrap(_osDataLenErr, "Error serializing 'osDataLen' field")
-	}
+		// Implicit Field (osDataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		osDataLen := uint16(uint16(len(m.GetOsData())))
+		_osDataLenErr := writeBuffer.WriteUint16("osDataLen", 16, (osDataLen))
+		if _osDataLenErr != nil {
+			return errors.Wrap(_osDataLenErr, "Error serializing 'osDataLen' field")
+		}
 
-	// Array Field (osData)
-	// Byte Array field (osData)
-	if err := writeBuffer.WriteByteArray("osData", m.GetOsData()); err != nil {
-		return errors.Wrap(err, "Error serializing 'osData' field")
-	}
+		// Array Field (osData)
+		// Byte Array field (osData)
+		if err := writeBuffer.WriteByteArray("osData", m.GetOsData()); err != nil {
+			return errors.Wrap(err, "Error serializing 'osData' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockOsData"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockOsData")
@@ -207,7 +202,6 @@ func (m *_AdsDiscoveryBlockOsData) SerializeWithWriteBuffer(ctx context.Context,
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockOsData) isAdsDiscoveryBlockOsData() bool {
 	return true
 }
@@ -222,6 +216,3 @@ func (m *_AdsDiscoveryBlockOsData) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockPassword.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockPassword.go
index d62d5a1dfe..889ef63712 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockPassword.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockPassword.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockPassword is the corresponding interface of AdsDiscoveryBlockPassword
 type AdsDiscoveryBlockPassword interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockPasswordExactly interface {
 // _AdsDiscoveryBlockPassword is the data-structure of this message
 type _AdsDiscoveryBlockPassword struct {
 	*_AdsDiscoveryBlock
-        Password AmsString
+	Password AmsString
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockPassword)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_PASSWORD}
+func (m *_AdsDiscoveryBlockPassword) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_PASSWORD
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockPassword) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockPassword) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockPassword)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockPassword) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockPassword) GetPassword() AmsString {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockPassword factory function for _AdsDiscoveryBlockPassword
-func NewAdsDiscoveryBlockPassword( password AmsString ) *_AdsDiscoveryBlockPassword {
+func NewAdsDiscoveryBlockPassword(password AmsString) *_AdsDiscoveryBlockPassword {
 	_result := &_AdsDiscoveryBlockPassword{
-		Password: password,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		Password:           password,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockPassword( password AmsString ) *_AdsDiscoveryBlockPassw
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockPassword(structType interface{}) AdsDiscoveryBlockPassword {
-    if casted, ok := structType.(AdsDiscoveryBlockPassword); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockPassword); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockPassword); ok {
@@ -120,7 +117,6 @@ func (m *_AdsDiscoveryBlockPassword) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockPassword) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -142,7 +138,7 @@ func AdsDiscoveryBlockPasswordParseWithBuffer(ctx context.Context, readBuffer ut
 	if pullErr := readBuffer.PullContext("password"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for password")
 	}
-_password, _passwordErr := AmsStringParseWithBuffer(ctx, readBuffer)
+	_password, _passwordErr := AmsStringParseWithBuffer(ctx, readBuffer)
 	if _passwordErr != nil {
 		return nil, errors.Wrap(_passwordErr, "Error parsing 'password' field of AdsDiscoveryBlockPassword")
 	}
@@ -157,9 +153,8 @@ _password, _passwordErr := AmsStringParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockPassword{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		Password: password,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		Password:           password,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -181,17 +176,17 @@ func (m *_AdsDiscoveryBlockPassword) SerializeWithWriteBuffer(ctx context.Contex
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockPassword")
 		}
 
-	// Simple Field (password)
-	if pushErr := writeBuffer.PushContext("password"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for password")
-	}
-	_passwordErr := writeBuffer.WriteSerializable(ctx, m.GetPassword())
-	if popErr := writeBuffer.PopContext("password"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for password")
-	}
-	if _passwordErr != nil {
-		return errors.Wrap(_passwordErr, "Error serializing 'password' field")
-	}
+		// Simple Field (password)
+		if pushErr := writeBuffer.PushContext("password"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for password")
+		}
+		_passwordErr := writeBuffer.WriteSerializable(ctx, m.GetPassword())
+		if popErr := writeBuffer.PopContext("password"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for password")
+		}
+		if _passwordErr != nil {
+			return errors.Wrap(_passwordErr, "Error serializing 'password' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockPassword"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockPassword")
@@ -201,7 +196,6 @@ func (m *_AdsDiscoveryBlockPassword) SerializeWithWriteBuffer(ctx context.Contex
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockPassword) isAdsDiscoveryBlockPassword() bool {
 	return true
 }
@@ -216,6 +210,3 @@ func (m *_AdsDiscoveryBlockPassword) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockRouteName.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockRouteName.go
index 253b231f1e..8825252657 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockRouteName.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockRouteName.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockRouteName is the corresponding interface of AdsDiscoveryBlockRouteName
 type AdsDiscoveryBlockRouteName interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockRouteNameExactly interface {
 // _AdsDiscoveryBlockRouteName is the data-structure of this message
 type _AdsDiscoveryBlockRouteName struct {
 	*_AdsDiscoveryBlock
-        RouteName AmsString
+	RouteName AmsString
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockRouteName)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_ROUTE_NAME}
+func (m *_AdsDiscoveryBlockRouteName) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_ROUTE_NAME
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockRouteName) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockRouteName) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockRouteName)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockRouteName) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockRouteName) GetRouteName() AmsString {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockRouteName factory function for _AdsDiscoveryBlockRouteName
-func NewAdsDiscoveryBlockRouteName( routeName AmsString ) *_AdsDiscoveryBlockRouteName {
+func NewAdsDiscoveryBlockRouteName(routeName AmsString) *_AdsDiscoveryBlockRouteName {
 	_result := &_AdsDiscoveryBlockRouteName{
-		RouteName: routeName,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		RouteName:          routeName,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockRouteName( routeName AmsString ) *_AdsDiscoveryBlockRou
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockRouteName(structType interface{}) AdsDiscoveryBlockRouteName {
-    if casted, ok := structType.(AdsDiscoveryBlockRouteName); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockRouteName); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockRouteName); ok {
@@ -120,7 +117,6 @@ func (m *_AdsDiscoveryBlockRouteName) GetLengthInBits(ctx context.Context) uint1
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockRouteName) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -142,7 +138,7 @@ func AdsDiscoveryBlockRouteNameParseWithBuffer(ctx context.Context, readBuffer u
 	if pullErr := readBuffer.PullContext("routeName"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for routeName")
 	}
-_routeName, _routeNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
+	_routeName, _routeNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 	if _routeNameErr != nil {
 		return nil, errors.Wrap(_routeNameErr, "Error parsing 'routeName' field of AdsDiscoveryBlockRouteName")
 	}
@@ -157,9 +153,8 @@ _routeName, _routeNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockRouteName{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		RouteName: routeName,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		RouteName:          routeName,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -181,17 +176,17 @@ func (m *_AdsDiscoveryBlockRouteName) SerializeWithWriteBuffer(ctx context.Conte
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockRouteName")
 		}
 
-	// Simple Field (routeName)
-	if pushErr := writeBuffer.PushContext("routeName"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for routeName")
-	}
-	_routeNameErr := writeBuffer.WriteSerializable(ctx, m.GetRouteName())
-	if popErr := writeBuffer.PopContext("routeName"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for routeName")
-	}
-	if _routeNameErr != nil {
-		return errors.Wrap(_routeNameErr, "Error serializing 'routeName' field")
-	}
+		// Simple Field (routeName)
+		if pushErr := writeBuffer.PushContext("routeName"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for routeName")
+		}
+		_routeNameErr := writeBuffer.WriteSerializable(ctx, m.GetRouteName())
+		if popErr := writeBuffer.PopContext("routeName"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for routeName")
+		}
+		if _routeNameErr != nil {
+			return errors.Wrap(_routeNameErr, "Error serializing 'routeName' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockRouteName"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockRouteName")
@@ -201,7 +196,6 @@ func (m *_AdsDiscoveryBlockRouteName) SerializeWithWriteBuffer(ctx context.Conte
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockRouteName) isAdsDiscoveryBlockRouteName() bool {
 	return true
 }
@@ -216,6 +210,3 @@ func (m *_AdsDiscoveryBlockRouteName) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockStatus.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockStatus.go
index f9f093134a..88e986de02 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockStatus.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockStatus.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"fmt"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // Constant values.
 const AdsDiscoveryBlockStatus_STATUSLENGTH uint16 = 0x0004
@@ -52,29 +50,29 @@ type AdsDiscoveryBlockStatusExactly interface {
 // _AdsDiscoveryBlockStatus is the data-structure of this message
 type _AdsDiscoveryBlockStatus struct {
 	*_AdsDiscoveryBlock
-        Status Status
+	Status Status
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockStatus)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_STATUS}
+func (m *_AdsDiscoveryBlockStatus) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_STATUS
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockStatus) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockStatus) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockStatus)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockStatus) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -102,12 +100,11 @@ func (m *_AdsDiscoveryBlockStatus) GetStatusLength() uint16 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockStatus factory function for _AdsDiscoveryBlockStatus
-func NewAdsDiscoveryBlockStatus( status Status ) *_AdsDiscoveryBlockStatus {
+func NewAdsDiscoveryBlockStatus(status Status) *_AdsDiscoveryBlockStatus {
 	_result := &_AdsDiscoveryBlockStatus{
-		Status: status,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		Status:             status,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -115,7 +112,7 @@ func NewAdsDiscoveryBlockStatus( status Status ) *_AdsDiscoveryBlockStatus {
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockStatus(structType interface{}) AdsDiscoveryBlockStatus {
-    if casted, ok := structType.(AdsDiscoveryBlockStatus); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockStatus); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockStatus); ok {
@@ -140,7 +137,6 @@ func (m *_AdsDiscoveryBlockStatus) GetLengthInBits(ctx context.Context) uint16 {
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockStatus) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -171,7 +167,7 @@ func AdsDiscoveryBlockStatusParseWithBuffer(ctx context.Context, readBuffer util
 	if pullErr := readBuffer.PullContext("status"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for status")
 	}
-_status, _statusErr := StatusParseWithBuffer(ctx, readBuffer)
+	_status, _statusErr := StatusParseWithBuffer(ctx, readBuffer)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field of AdsDiscoveryBlockStatus")
 	}
@@ -186,9 +182,8 @@ _status, _statusErr := StatusParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockStatus{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		Status: status,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		Status:             status,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -210,23 +205,23 @@ func (m *_AdsDiscoveryBlockStatus) SerializeWithWriteBuffer(ctx context.Context,
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockStatus")
 		}
 
-	// Const Field (statusLength)
-	_statusLengthErr := writeBuffer.WriteUint16("statusLength", 16, 0x0004)
-	if _statusLengthErr != nil {
-		return errors.Wrap(_statusLengthErr, "Error serializing 'statusLength' field")
-	}
+		// Const Field (statusLength)
+		_statusLengthErr := writeBuffer.WriteUint16("statusLength", 16, 0x0004)
+		if _statusLengthErr != nil {
+			return errors.Wrap(_statusLengthErr, "Error serializing 'statusLength' field")
+		}
 
-	// Simple Field (status)
-	if pushErr := writeBuffer.PushContext("status"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for status")
-	}
-	_statusErr := writeBuffer.WriteSerializable(ctx, m.GetStatus())
-	if popErr := writeBuffer.PopContext("status"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for status")
-	}
-	if _statusErr != nil {
-		return errors.Wrap(_statusErr, "Error serializing 'status' field")
-	}
+		// Simple Field (status)
+		if pushErr := writeBuffer.PushContext("status"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for status")
+		}
+		_statusErr := writeBuffer.WriteSerializable(ctx, m.GetStatus())
+		if popErr := writeBuffer.PopContext("status"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for status")
+		}
+		if _statusErr != nil {
+			return errors.Wrap(_statusErr, "Error serializing 'status' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockStatus"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockStatus")
@@ -236,7 +231,6 @@ func (m *_AdsDiscoveryBlockStatus) SerializeWithWriteBuffer(ctx context.Context,
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockStatus) isAdsDiscoveryBlockStatus() bool {
 	return true
 }
@@ -251,6 +245,3 @@ func (m *_AdsDiscoveryBlockStatus) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockType.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockType.go
index ab4c7f9638..9e2dedc863 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockType.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockType.go
@@ -34,15 +34,15 @@ type IAdsDiscoveryBlockType interface {
 	utils.Serializable
 }
 
-const(
-	AdsDiscoveryBlockType_STATUS AdsDiscoveryBlockType = 0x0001
-	AdsDiscoveryBlockType_PASSWORD AdsDiscoveryBlockType = 0x0002
-	AdsDiscoveryBlockType_VERSION AdsDiscoveryBlockType = 0x0003
-	AdsDiscoveryBlockType_OS_DATA AdsDiscoveryBlockType = 0x0004
-	AdsDiscoveryBlockType_HOST_NAME AdsDiscoveryBlockType = 0x0005
-	AdsDiscoveryBlockType_AMS_NET_ID AdsDiscoveryBlockType = 0x0007
-	AdsDiscoveryBlockType_ROUTE_NAME AdsDiscoveryBlockType = 0x000C
-	AdsDiscoveryBlockType_USER_NAME AdsDiscoveryBlockType = 0x000D
+const (
+	AdsDiscoveryBlockType_STATUS      AdsDiscoveryBlockType = 0x0001
+	AdsDiscoveryBlockType_PASSWORD    AdsDiscoveryBlockType = 0x0002
+	AdsDiscoveryBlockType_VERSION     AdsDiscoveryBlockType = 0x0003
+	AdsDiscoveryBlockType_OS_DATA     AdsDiscoveryBlockType = 0x0004
+	AdsDiscoveryBlockType_HOST_NAME   AdsDiscoveryBlockType = 0x0005
+	AdsDiscoveryBlockType_AMS_NET_ID  AdsDiscoveryBlockType = 0x0007
+	AdsDiscoveryBlockType_ROUTE_NAME  AdsDiscoveryBlockType = 0x000C
+	AdsDiscoveryBlockType_USER_NAME   AdsDiscoveryBlockType = 0x000D
 	AdsDiscoveryBlockType_FINGERPRINT AdsDiscoveryBlockType = 0x0012
 )
 
@@ -50,7 +50,7 @@ var AdsDiscoveryBlockTypeValues []AdsDiscoveryBlockType
 
 func init() {
 	_ = errors.New
-	AdsDiscoveryBlockTypeValues = []AdsDiscoveryBlockType {
+	AdsDiscoveryBlockTypeValues = []AdsDiscoveryBlockType{
 		AdsDiscoveryBlockType_STATUS,
 		AdsDiscoveryBlockType_PASSWORD,
 		AdsDiscoveryBlockType_VERSION,
@@ -65,24 +65,24 @@ func init() {
 
 func AdsDiscoveryBlockTypeByValue(value uint16) (enum AdsDiscoveryBlockType, ok bool) {
 	switch value {
-		case 0x0001:
-			return AdsDiscoveryBlockType_STATUS, true
-		case 0x0002:
-			return AdsDiscoveryBlockType_PASSWORD, true
-		case 0x0003:
-			return AdsDiscoveryBlockType_VERSION, true
-		case 0x0004:
-			return AdsDiscoveryBlockType_OS_DATA, true
-		case 0x0005:
-			return AdsDiscoveryBlockType_HOST_NAME, true
-		case 0x0007:
-			return AdsDiscoveryBlockType_AMS_NET_ID, true
-		case 0x000C:
-			return AdsDiscoveryBlockType_ROUTE_NAME, true
-		case 0x000D:
-			return AdsDiscoveryBlockType_USER_NAME, true
-		case 0x0012:
-			return AdsDiscoveryBlockType_FINGERPRINT, true
+	case 0x0001:
+		return AdsDiscoveryBlockType_STATUS, true
+	case 0x0002:
+		return AdsDiscoveryBlockType_PASSWORD, true
+	case 0x0003:
+		return AdsDiscoveryBlockType_VERSION, true
+	case 0x0004:
+		return AdsDiscoveryBlockType_OS_DATA, true
+	case 0x0005:
+		return AdsDiscoveryBlockType_HOST_NAME, true
+	case 0x0007:
+		return AdsDiscoveryBlockType_AMS_NET_ID, true
+	case 0x000C:
+		return AdsDiscoveryBlockType_ROUTE_NAME, true
+	case 0x000D:
+		return AdsDiscoveryBlockType_USER_NAME, true
+	case 0x0012:
+		return AdsDiscoveryBlockType_FINGERPRINT, true
 	}
 	return 0, false
 }
@@ -111,13 +111,13 @@ func AdsDiscoveryBlockTypeByName(value string) (enum AdsDiscoveryBlockType, ok b
 	return 0, false
 }
 
-func AdsDiscoveryBlockTypeKnows(value uint16)  bool {
+func AdsDiscoveryBlockTypeKnows(value uint16) bool {
 	for _, typeValue := range AdsDiscoveryBlockTypeValues {
 		if uint16(typeValue) == value {
 			return true
 		}
 	}
-	return false;
+	return false
 }
 
 func CastAdsDiscoveryBlockType(structType interface{}) AdsDiscoveryBlockType {
@@ -195,4 +195,3 @@ func (e AdsDiscoveryBlockType) PLC4XEnumName() string {
 func (e AdsDiscoveryBlockType) String() string {
 	return e.PLC4XEnumName()
 }
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockUserName.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockUserName.go
index 8c9c1b8ebc..7f6f953fe4 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockUserName.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockUserName.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockUserName is the corresponding interface of AdsDiscoveryBlockUserName
 type AdsDiscoveryBlockUserName interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockUserNameExactly interface {
 // _AdsDiscoveryBlockUserName is the data-structure of this message
 type _AdsDiscoveryBlockUserName struct {
 	*_AdsDiscoveryBlock
-        UserName AmsString
+	UserName AmsString
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockUserName)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_USER_NAME}
+func (m *_AdsDiscoveryBlockUserName) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_USER_NAME
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockUserName) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockUserName) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockUserName)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockUserName) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockUserName) GetUserName() AmsString {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockUserName factory function for _AdsDiscoveryBlockUserName
-func NewAdsDiscoveryBlockUserName( userName AmsString ) *_AdsDiscoveryBlockUserName {
+func NewAdsDiscoveryBlockUserName(userName AmsString) *_AdsDiscoveryBlockUserName {
 	_result := &_AdsDiscoveryBlockUserName{
-		UserName: userName,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		UserName:           userName,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockUserName( userName AmsString ) *_AdsDiscoveryBlockUserN
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockUserName(structType interface{}) AdsDiscoveryBlockUserName {
-    if casted, ok := structType.(AdsDiscoveryBlockUserName); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockUserName); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockUserName); ok {
@@ -120,7 +117,6 @@ func (m *_AdsDiscoveryBlockUserName) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockUserName) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -142,7 +138,7 @@ func AdsDiscoveryBlockUserNameParseWithBuffer(ctx context.Context, readBuffer ut
 	if pullErr := readBuffer.PullContext("userName"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for userName")
 	}
-_userName, _userNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
+	_userName, _userNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 	if _userNameErr != nil {
 		return nil, errors.Wrap(_userNameErr, "Error parsing 'userName' field of AdsDiscoveryBlockUserName")
 	}
@@ -157,9 +153,8 @@ _userName, _userNameErr := AmsStringParseWithBuffer(ctx, readBuffer)
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockUserName{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		UserName: userName,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		UserName:           userName,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -181,17 +176,17 @@ func (m *_AdsDiscoveryBlockUserName) SerializeWithWriteBuffer(ctx context.Contex
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockUserName")
 		}
 
-	// Simple Field (userName)
-	if pushErr := writeBuffer.PushContext("userName"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for userName")
-	}
-	_userNameErr := writeBuffer.WriteSerializable(ctx, m.GetUserName())
-	if popErr := writeBuffer.PopContext("userName"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for userName")
-	}
-	if _userNameErr != nil {
-		return errors.Wrap(_userNameErr, "Error serializing 'userName' field")
-	}
+		// Simple Field (userName)
+		if pushErr := writeBuffer.PushContext("userName"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for userName")
+		}
+		_userNameErr := writeBuffer.WriteSerializable(ctx, m.GetUserName())
+		if popErr := writeBuffer.PopContext("userName"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for userName")
+		}
+		if _userNameErr != nil {
+			return errors.Wrap(_userNameErr, "Error serializing 'userName' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockUserName"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockUserName")
@@ -201,7 +196,6 @@ func (m *_AdsDiscoveryBlockUserName) SerializeWithWriteBuffer(ctx context.Contex
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockUserName) isAdsDiscoveryBlockUserName() bool {
 	return true
 }
@@ -216,6 +210,3 @@ func (m *_AdsDiscoveryBlockUserName) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockVersion.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockVersion.go
index aa85e8dd49..6da172be9b 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockVersion.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryBlockVersion.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsDiscoveryBlockVersion is the corresponding interface of AdsDiscoveryBlockVersion
 type AdsDiscoveryBlockVersion interface {
@@ -48,29 +46,29 @@ type AdsDiscoveryBlockVersionExactly interface {
 // _AdsDiscoveryBlockVersion is the data-structure of this message
 type _AdsDiscoveryBlockVersion struct {
 	*_AdsDiscoveryBlock
-        VersionData []byte
+	VersionData []byte
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsDiscoveryBlockVersion)  GetBlockType() AdsDiscoveryBlockType {
-return AdsDiscoveryBlockType_VERSION}
+func (m *_AdsDiscoveryBlockVersion) GetBlockType() AdsDiscoveryBlockType {
+	return AdsDiscoveryBlockType_VERSION
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsDiscoveryBlockVersion) InitializeParent(parent AdsDiscoveryBlock ) {}
+func (m *_AdsDiscoveryBlockVersion) InitializeParent(parent AdsDiscoveryBlock) {}
 
-func (m *_AdsDiscoveryBlockVersion)  GetParent() AdsDiscoveryBlock {
+func (m *_AdsDiscoveryBlockVersion) GetParent() AdsDiscoveryBlock {
 	return m._AdsDiscoveryBlock
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -85,12 +83,11 @@ func (m *_AdsDiscoveryBlockVersion) GetVersionData() []byte {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryBlockVersion factory function for _AdsDiscoveryBlockVersion
-func NewAdsDiscoveryBlockVersion( versionData []byte ) *_AdsDiscoveryBlockVersion {
+func NewAdsDiscoveryBlockVersion(versionData []byte) *_AdsDiscoveryBlockVersion {
 	_result := &_AdsDiscoveryBlockVersion{
-		VersionData: versionData,
-    	_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
+		VersionData:        versionData,
+		_AdsDiscoveryBlock: NewAdsDiscoveryBlock(),
 	}
 	_result._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _result
 	return _result
@@ -98,7 +95,7 @@ func NewAdsDiscoveryBlockVersion( versionData []byte ) *_AdsDiscoveryBlockVersio
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryBlockVersion(structType interface{}) AdsDiscoveryBlockVersion {
-    if casted, ok := structType.(AdsDiscoveryBlockVersion); ok {
+	if casted, ok := structType.(AdsDiscoveryBlockVersion); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryBlockVersion); ok {
@@ -125,7 +122,6 @@ func (m *_AdsDiscoveryBlockVersion) GetLengthInBits(ctx context.Context) uint16
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryBlockVersion) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -162,9 +158,8 @@ func AdsDiscoveryBlockVersionParseWithBuffer(ctx context.Context, readBuffer uti
 
 	// Create a partially initialized instance
 	_child := &_AdsDiscoveryBlockVersion{
-		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{
-		},
-		VersionData: versionData,
+		_AdsDiscoveryBlock: &_AdsDiscoveryBlock{},
+		VersionData:        versionData,
 	}
 	_child._AdsDiscoveryBlock._AdsDiscoveryBlockChildRequirements = _child
 	return _child, nil
@@ -186,18 +181,18 @@ func (m *_AdsDiscoveryBlockVersion) SerializeWithWriteBuffer(ctx context.Context
 			return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryBlockVersion")
 		}
 
-	// Implicit Field (versionDataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	versionDataLen := uint16(uint16(len(m.GetVersionData())))
-	_versionDataLenErr := writeBuffer.WriteUint16("versionDataLen", 16, (versionDataLen))
-	if _versionDataLenErr != nil {
-		return errors.Wrap(_versionDataLenErr, "Error serializing 'versionDataLen' field")
-	}
+		// Implicit Field (versionDataLen) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		versionDataLen := uint16(uint16(len(m.GetVersionData())))
+		_versionDataLenErr := writeBuffer.WriteUint16("versionDataLen", 16, (versionDataLen))
+		if _versionDataLenErr != nil {
+			return errors.Wrap(_versionDataLenErr, "Error serializing 'versionDataLen' field")
+		}
 
-	// Array Field (versionData)
-	// Byte Array field (versionData)
-	if err := writeBuffer.WriteByteArray("versionData", m.GetVersionData()); err != nil {
-		return errors.Wrap(err, "Error serializing 'versionData' field")
-	}
+		// Array Field (versionData)
+		// Byte Array field (versionData)
+		if err := writeBuffer.WriteByteArray("versionData", m.GetVersionData()); err != nil {
+			return errors.Wrap(err, "Error serializing 'versionData' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDiscoveryBlockVersion"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsDiscoveryBlockVersion")
@@ -207,7 +202,6 @@ func (m *_AdsDiscoveryBlockVersion) SerializeWithWriteBuffer(ctx context.Context
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsDiscoveryBlockVersion) isAdsDiscoveryBlockVersion() bool {
 	return true
 }
@@ -222,6 +216,3 @@ func (m *_AdsDiscoveryBlockVersion) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryConstants.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryConstants.go
index 2eff0a5bbf..129ad04302 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryConstants.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsDiscoveryConstants.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"context"
 	"fmt"
@@ -27,8 +26,7 @@ import (
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // Constant values.
 const AdsDiscoveryConstants_ADSDISCOVERYUDPDEFAULTPORT uint16 = uint16(48899)
@@ -50,7 +48,6 @@ type AdsDiscoveryConstantsExactly interface {
 type _AdsDiscoveryConstants struct {
 }
 
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for const fields.
@@ -65,15 +62,14 @@ func (m *_AdsDiscoveryConstants) GetAdsDiscoveryUdpDefaultPort() uint16 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsDiscoveryConstants factory function for _AdsDiscoveryConstants
-func NewAdsDiscoveryConstants( ) *_AdsDiscoveryConstants {
-return &_AdsDiscoveryConstants{ }
+func NewAdsDiscoveryConstants() *_AdsDiscoveryConstants {
+	return &_AdsDiscoveryConstants{}
 }
 
 // Deprecated: use the interface for direct cast
 func CastAdsDiscoveryConstants(structType interface{}) AdsDiscoveryConstants {
-    if casted, ok := structType.(AdsDiscoveryConstants); ok {
+	if casted, ok := structType.(AdsDiscoveryConstants); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsDiscoveryConstants); ok {
@@ -95,7 +91,6 @@ func (m *_AdsDiscoveryConstants) GetLengthInBits(ctx context.Context) uint16 {
 	return lengthInBits
 }
 
-
 func (m *_AdsDiscoveryConstants) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -127,8 +122,7 @@ func AdsDiscoveryConstantsParseWithBuffer(ctx context.Context, readBuffer utils.
 	}
 
 	// Create the instance
-	return &_AdsDiscoveryConstants{
-		}, nil
+	return &_AdsDiscoveryConstants{}, nil
 }
 
 func (m *_AdsDiscoveryConstants) Serialize() ([]byte, error) {
@@ -142,7 +136,7 @@ func (m *_AdsDiscoveryConstants) Serialize() ([]byte, error) {
 func (m *_AdsDiscoveryConstants) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("AdsDiscoveryConstants"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsDiscoveryConstants"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for AdsDiscoveryConstants")
 	}
 
@@ -158,7 +152,6 @@ func (m *_AdsDiscoveryConstants) SerializeWithWriteBuffer(ctx context.Context, w
 	return nil
 }
 
-
 func (m *_AdsDiscoveryConstants) isAdsDiscoveryConstants() bool {
 	return true
 }
@@ -173,6 +166,3 @@ func (m *_AdsDiscoveryConstants) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AdsPortNumbers.go b/plc4go/protocols/ads/discovery/readwrite/model/AdsPortNumbers.go
index 743d3c5923..1014429e9f 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AdsPortNumbers.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AdsPortNumbers.go
@@ -34,27 +34,27 @@ type IAdsPortNumbers interface {
 	utils.Serializable
 }
 
-const(
-	AdsPortNumbers_LOGGER AdsPortNumbers = 100
-	AdsPortNumbers_EVENT_LOGGER AdsPortNumbers = 110
-	AdsPortNumbers_IO AdsPortNumbers = 300
-	AdsPortNumbers_ADDITIONAL_TASK_1 AdsPortNumbers = 301
-	AdsPortNumbers_ADDITIONAL_TASK_2 AdsPortNumbers = 302
-	AdsPortNumbers_NC AdsPortNumbers = 500
+const (
+	AdsPortNumbers_LOGGER               AdsPortNumbers = 100
+	AdsPortNumbers_EVENT_LOGGER         AdsPortNumbers = 110
+	AdsPortNumbers_IO                   AdsPortNumbers = 300
+	AdsPortNumbers_ADDITIONAL_TASK_1    AdsPortNumbers = 301
+	AdsPortNumbers_ADDITIONAL_TASK_2    AdsPortNumbers = 302
+	AdsPortNumbers_NC                   AdsPortNumbers = 500
 	AdsPortNumbers_PLC_RUNTIME_SYSTEM_1 AdsPortNumbers = 801
 	AdsPortNumbers_PLC_RUNTIME_SYSTEM_2 AdsPortNumbers = 811
 	AdsPortNumbers_PLC_RUNTIME_SYSTEM_3 AdsPortNumbers = 821
 	AdsPortNumbers_PLC_RUNTIME_SYSTEM_4 AdsPortNumbers = 831
-	AdsPortNumbers_CAM_SWITCH AdsPortNumbers = 900
-	AdsPortNumbers_SYSTEM_SERVICE AdsPortNumbers = 10000
-	AdsPortNumbers_SCOPE AdsPortNumbers = 14000
+	AdsPortNumbers_CAM_SWITCH           AdsPortNumbers = 900
+	AdsPortNumbers_SYSTEM_SERVICE       AdsPortNumbers = 10000
+	AdsPortNumbers_SCOPE                AdsPortNumbers = 14000
 )
 
 var AdsPortNumbersValues []AdsPortNumbers
 
 func init() {
 	_ = errors.New
-	AdsPortNumbersValues = []AdsPortNumbers {
+	AdsPortNumbersValues = []AdsPortNumbers{
 		AdsPortNumbers_LOGGER,
 		AdsPortNumbers_EVENT_LOGGER,
 		AdsPortNumbers_IO,
@@ -73,32 +73,32 @@ func init() {
 
 func AdsPortNumbersByValue(value uint16) (enum AdsPortNumbers, ok bool) {
 	switch value {
-		case 100:
-			return AdsPortNumbers_LOGGER, true
-		case 10000:
-			return AdsPortNumbers_SYSTEM_SERVICE, true
-		case 110:
-			return AdsPortNumbers_EVENT_LOGGER, true
-		case 14000:
-			return AdsPortNumbers_SCOPE, true
-		case 300:
-			return AdsPortNumbers_IO, true
-		case 301:
-			return AdsPortNumbers_ADDITIONAL_TASK_1, true
-		case 302:
-			return AdsPortNumbers_ADDITIONAL_TASK_2, true
-		case 500:
-			return AdsPortNumbers_NC, true
-		case 801:
-			return AdsPortNumbers_PLC_RUNTIME_SYSTEM_1, true
-		case 811:
-			return AdsPortNumbers_PLC_RUNTIME_SYSTEM_2, true
-		case 821:
-			return AdsPortNumbers_PLC_RUNTIME_SYSTEM_3, true
-		case 831:
-			return AdsPortNumbers_PLC_RUNTIME_SYSTEM_4, true
-		case 900:
-			return AdsPortNumbers_CAM_SWITCH, true
+	case 100:
+		return AdsPortNumbers_LOGGER, true
+	case 10000:
+		return AdsPortNumbers_SYSTEM_SERVICE, true
+	case 110:
+		return AdsPortNumbers_EVENT_LOGGER, true
+	case 14000:
+		return AdsPortNumbers_SCOPE, true
+	case 300:
+		return AdsPortNumbers_IO, true
+	case 301:
+		return AdsPortNumbers_ADDITIONAL_TASK_1, true
+	case 302:
+		return AdsPortNumbers_ADDITIONAL_TASK_2, true
+	case 500:
+		return AdsPortNumbers_NC, true
+	case 801:
+		return AdsPortNumbers_PLC_RUNTIME_SYSTEM_1, true
+	case 811:
+		return AdsPortNumbers_PLC_RUNTIME_SYSTEM_2, true
+	case 821:
+		return AdsPortNumbers_PLC_RUNTIME_SYSTEM_3, true
+	case 831:
+		return AdsPortNumbers_PLC_RUNTIME_SYSTEM_4, true
+	case 900:
+		return AdsPortNumbers_CAM_SWITCH, true
 	}
 	return 0, false
 }
@@ -135,13 +135,13 @@ func AdsPortNumbersByName(value string) (enum AdsPortNumbers, ok bool) {
 	return 0, false
 }
 
-func AdsPortNumbersKnows(value uint16)  bool {
+func AdsPortNumbersKnows(value uint16) bool {
 	for _, typeValue := range AdsPortNumbersValues {
 		if uint16(typeValue) == value {
 			return true
 		}
 	}
-	return false;
+	return false
 }
 
 func CastAdsPortNumbers(structType interface{}) AdsPortNumbers {
@@ -227,4 +227,3 @@ func (e AdsPortNumbers) PLC4XEnumName() string {
 func (e AdsPortNumbers) String() string {
 	return e.PLC4XEnumName()
 }
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AmsNetId.go b/plc4go/protocols/ads/discovery/readwrite/model/AmsNetId.go
index 3a72926937..0a02614385 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AmsNetId.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AmsNetId.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AmsNetId is the corresponding interface of AmsNetId
 type AmsNetId interface {
@@ -56,15 +54,14 @@ type AmsNetIdExactly interface {
 
 // _AmsNetId is the data-structure of this message
 type _AmsNetId struct {
-        Octet1 uint8
-        Octet2 uint8
-        Octet3 uint8
-        Octet4 uint8
-        Octet5 uint8
-        Octet6 uint8
+	Octet1 uint8
+	Octet2 uint8
+	Octet3 uint8
+	Octet4 uint8
+	Octet5 uint8
+	Octet6 uint8
 }
 
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -99,15 +96,14 @@ func (m *_AmsNetId) GetOctet6() uint8 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAmsNetId factory function for _AmsNetId
-func NewAmsNetId( octet1 uint8 , octet2 uint8 , octet3 uint8 , octet4 uint8 , octet5 uint8 , octet6 uint8 ) *_AmsNetId {
-return &_AmsNetId{ Octet1: octet1 , Octet2: octet2 , Octet3: octet3 , Octet4: octet4 , Octet5: octet5 , Octet6: octet6 }
+func NewAmsNetId(octet1 uint8, octet2 uint8, octet3 uint8, octet4 uint8, octet5 uint8, octet6 uint8) *_AmsNetId {
+	return &_AmsNetId{Octet1: octet1, Octet2: octet2, Octet3: octet3, Octet4: octet4, Octet5: octet5, Octet6: octet6}
 }
 
 // Deprecated: use the interface for direct cast
 func CastAmsNetId(structType interface{}) AmsNetId {
-    if casted, ok := structType.(AmsNetId); ok {
+	if casted, ok := structType.(AmsNetId); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AmsNetId); ok {
@@ -124,27 +120,26 @@ func (m *_AmsNetId) GetLengthInBits(ctx context.Context) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (octet1)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet2)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet3)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet4)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet5)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet6)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
 
-
 func (m *_AmsNetId) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -163,42 +158,42 @@ func AmsNetIdParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (
 	_ = currentPos
 
 	// Simple Field (octet1)
-_octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
+	_octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
 	if _octet1Err != nil {
 		return nil, errors.Wrap(_octet1Err, "Error parsing 'octet1' field of AmsNetId")
 	}
 	octet1 := _octet1
 
 	// Simple Field (octet2)
-_octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
+	_octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
 	if _octet2Err != nil {
 		return nil, errors.Wrap(_octet2Err, "Error parsing 'octet2' field of AmsNetId")
 	}
 	octet2 := _octet2
 
 	// Simple Field (octet3)
-_octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
+	_octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
 	if _octet3Err != nil {
 		return nil, errors.Wrap(_octet3Err, "Error parsing 'octet3' field of AmsNetId")
 	}
 	octet3 := _octet3
 
 	// Simple Field (octet4)
-_octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
+	_octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
 	if _octet4Err != nil {
 		return nil, errors.Wrap(_octet4Err, "Error parsing 'octet4' field of AmsNetId")
 	}
 	octet4 := _octet4
 
 	// Simple Field (octet5)
-_octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
+	_octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
 	if _octet5Err != nil {
 		return nil, errors.Wrap(_octet5Err, "Error parsing 'octet5' field of AmsNetId")
 	}
 	octet5 := _octet5
 
 	// Simple Field (octet6)
-_octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
+	_octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
 	if _octet6Err != nil {
 		return nil, errors.Wrap(_octet6Err, "Error parsing 'octet6' field of AmsNetId")
 	}
@@ -210,13 +205,13 @@ _octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
 
 	// Create the instance
 	return &_AmsNetId{
-			Octet1: octet1,
-			Octet2: octet2,
-			Octet3: octet3,
-			Octet4: octet4,
-			Octet5: octet5,
-			Octet6: octet6,
-		}, nil
+		Octet1: octet1,
+		Octet2: octet2,
+		Octet3: octet3,
+		Octet4: octet4,
+		Octet5: octet5,
+		Octet6: octet6,
+	}, nil
 }
 
 func (m *_AmsNetId) Serialize() ([]byte, error) {
@@ -230,7 +225,7 @@ func (m *_AmsNetId) Serialize() ([]byte, error) {
 func (m *_AmsNetId) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("AmsNetId"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsNetId"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for AmsNetId")
 	}
 
@@ -282,7 +277,6 @@ func (m *_AmsNetId) SerializeWithWriteBuffer(ctx context.Context, writeBuffer ut
 	return nil
 }
 
-
 func (m *_AmsNetId) isAmsNetId() bool {
 	return true
 }
@@ -297,6 +291,3 @@ func (m *_AmsNetId) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/AmsString.go b/plc4go/protocols/ads/discovery/readwrite/model/AmsString.go
index 4cbb5c9b51..3c8114194d 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/AmsString.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/AmsString.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AmsString is the corresponding interface of AmsString
 type AmsString interface {
@@ -46,12 +44,11 @@ type AmsStringExactly interface {
 
 // _AmsString is the data-structure of this message
 type _AmsString struct {
-        Text string
+	Text string
 	// Reserved Fields
 	reservedField0 *uint8
 }
 
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -66,15 +63,14 @@ func (m *_AmsString) GetText() string {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAmsString factory function for _AmsString
-func NewAmsString( text string ) *_AmsString {
-return &_AmsString{ Text: text }
+func NewAmsString(text string) *_AmsString {
+	return &_AmsString{Text: text}
 }
 
 // Deprecated: use the interface for direct cast
 func CastAmsString(structType interface{}) AmsString {
-    if casted, ok := structType.(AmsString); ok {
+	if casted, ok := structType.(AmsString); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AmsString); ok {
@@ -94,7 +90,7 @@ func (m *_AmsString) GetLengthInBits(ctx context.Context) uint16 {
 	lengthInBits += 16
 
 	// Simple field (text)
-	lengthInBits += uint16(int32(int32(8)) * int32((int32(uint16(uint16(len(m.GetText()))) + uint16(uint16(1))) - int32(int32(1)))))
+	lengthInBits += uint16(int32(int32(8)) * int32((int32(uint16(uint16(len(m.GetText())))+uint16(uint16(1))) - int32(int32(1)))))
 
 	// Reserved Field (reserved)
 	lengthInBits += 8
@@ -102,7 +98,6 @@ func (m *_AmsString) GetLengthInBits(ctx context.Context) uint16 {
 	return lengthInBits
 }
 
-
 func (m *_AmsString) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -128,7 +123,7 @@ func AmsStringParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer)
 	}
 
 	// Simple Field (text)
-_text, _textErr := readBuffer.ReadString("text", uint32(((8)) * (((strLen) - ((1))))), "UTF-8")
+	_text, _textErr := readBuffer.ReadString("text", uint32((8)*((strLen)-(1))), "UTF-8")
 	if _textErr != nil {
 		return nil, errors.Wrap(_textErr, "Error parsing 'text' field of AmsString")
 	}
@@ -144,7 +139,7 @@ _text, _textErr := readBuffer.ReadString("text", uint32(((8)) * (((strLen) - ((1
 		if reserved != uint8(0x00) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField0 = &reserved
@@ -157,9 +152,9 @@ _text, _textErr := readBuffer.ReadString("text", uint32(((8)) * (((strLen) - ((1
 
 	// Create the instance
 	return &_AmsString{
-			Text: text,
-			reservedField0: reservedField0,
-		}, nil
+		Text:           text,
+		reservedField0: reservedField0,
+	}, nil
 }
 
 func (m *_AmsString) Serialize() ([]byte, error) {
@@ -173,7 +168,7 @@ func (m *_AmsString) Serialize() ([]byte, error) {
 func (m *_AmsString) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
 	positionAware := writeBuffer
 	_ = positionAware
-	if pushErr :=writeBuffer.PushContext("AmsString"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsString"); pushErr != nil {
 		return errors.Wrap(pushErr, "Error pushing for AmsString")
 	}
 
@@ -186,7 +181,7 @@ func (m *_AmsString) SerializeWithWriteBuffer(ctx context.Context, writeBuffer u
 
 	// Simple Field (text)
 	text := string(m.GetText())
-	_textErr := writeBuffer.WriteString("text", uint32(((8)) * (((uint16(uint16(len(m.GetText()))) + uint16(uint16(1))) - ((1))))), "UTF-8", (text))
+	_textErr := writeBuffer.WriteString("text", uint32((8)*((uint16(uint16(len(m.GetText())))+uint16(uint16(1)))-(1))), "UTF-8", (text))
 	if _textErr != nil {
 		return errors.Wrap(_textErr, "Error serializing 'text' field")
 	}
@@ -197,7 +192,7 @@ func (m *_AmsString) SerializeWithWriteBuffer(ctx context.Context, writeBuffer u
 		if m.reservedField0 != nil {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Overriding reserved field with unexpected value.")
 			reserved = *m.reservedField0
 		}
@@ -213,7 +208,6 @@ func (m *_AmsString) SerializeWithWriteBuffer(ctx context.Context, writeBuffer u
 	return nil
 }
 
-
 func (m *_AmsString) isAmsString() bool {
 	return true
 }
@@ -228,6 +222,3 @@ func (m *_AmsString) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/Operation.go b/plc4go/protocols/ads/discovery/readwrite/model/Operation.go
index c411675acb..1fdfe30bbf 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/Operation.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/Operation.go
@@ -34,22 +34,22 @@ type IOperation interface {
 	utils.Serializable
 }
 
-const(
-	Operation_DISCOVERY_REQUEST Operation = 0x00000001
-	Operation_DISCOVERY_RESPONSE Operation = 0x80000001
-	Operation_ADD_OR_UPDATE_ROUTE_REQUEST Operation = 0x00000006
+const (
+	Operation_DISCOVERY_REQUEST            Operation = 0x00000001
+	Operation_DISCOVERY_RESPONSE           Operation = 0x80000001
+	Operation_ADD_OR_UPDATE_ROUTE_REQUEST  Operation = 0x00000006
 	Operation_ADD_OR_UPDATE_ROUTE_RESPONSE Operation = 0x80000006
-	Operation_DEL_ROUTE_REQUEST Operation = 0x00000007
-	Operation_DEL_ROUTE_RESPONSE Operation = 0x80000007
-	Operation_UNKNOWN_REQUEST Operation = 0x00000008
-	Operation_UNKNOWN_RESPONSE Operation = 0x80000008
+	Operation_DEL_ROUTE_REQUEST            Operation = 0x00000007
+	Operation_DEL_ROUTE_RESPONSE           Operation = 0x80000007
+	Operation_UNKNOWN_REQUEST              Operation = 0x00000008
+	Operation_UNKNOWN_RESPONSE             Operation = 0x80000008
 )
 
 var OperationValues []Operation
 
 func init() {
 	_ = errors.New
-	OperationValues = []Operation {
+	OperationValues = []Operation{
 		Operation_DISCOVERY_REQUEST,
 		Operation_DISCOVERY_RESPONSE,
 		Operation_ADD_OR_UPDATE_ROUTE_REQUEST,
@@ -63,22 +63,22 @@ func init() {
 
 func OperationByValue(value uint32) (enum Operation, ok bool) {
 	switch value {
-		case 0x00000001:
-			return Operation_DISCOVERY_REQUEST, true
-		case 0x00000006:
-			return Operation_ADD_OR_UPDATE_ROUTE_REQUEST, true
-		case 0x00000007:
-			return Operation_DEL_ROUTE_REQUEST, true
-		case 0x00000008:
-			return Operation_UNKNOWN_REQUEST, true
-		case 0x80000001:
-			return Operation_DISCOVERY_RESPONSE, true
-		case 0x80000006:
-			return Operation_ADD_OR_UPDATE_ROUTE_RESPONSE, true
-		case 0x80000007:
-			return Operation_DEL_ROUTE_RESPONSE, true
-		case 0x80000008:
-			return Operation_UNKNOWN_RESPONSE, true
+	case 0x00000001:
+		return Operation_DISCOVERY_REQUEST, true
+	case 0x00000006:
+		return Operation_ADD_OR_UPDATE_ROUTE_REQUEST, true
+	case 0x00000007:
+		return Operation_DEL_ROUTE_REQUEST, true
+	case 0x00000008:
+		return Operation_UNKNOWN_REQUEST, true
+	case 0x80000001:
+		return Operation_DISCOVERY_RESPONSE, true
+	case 0x80000006:
+		return Operation_ADD_OR_UPDATE_ROUTE_RESPONSE, true
+	case 0x80000007:
+		return Operation_DEL_ROUTE_RESPONSE, true
+	case 0x80000008:
+		return Operation_UNKNOWN_RESPONSE, true
 	}
 	return 0, false
 }
@@ -105,13 +105,13 @@ func OperationByName(value string) (enum Operation, ok bool) {
 	return 0, false
 }
 
-func OperationKnows(value uint32)  bool {
+func OperationKnows(value uint32) bool {
 	for _, typeValue := range OperationValues {
 		if uint32(typeValue) == value {
 			return true
 		}
 	}
-	return false;
+	return false
 }
 
 func CastOperation(structType interface{}) Operation {
@@ -187,4 +187,3 @@ func (e Operation) PLC4XEnumName() string {
 func (e Operation) String() string {
 	return e.PLC4XEnumName()
 }
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/Status.go b/plc4go/protocols/ads/discovery/readwrite/model/Status.go
index a620545b2f..8094ed3bb8 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/Status.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/Status.go
@@ -34,8 +34,8 @@ type IStatus interface {
 	utils.Serializable
 }
 
-const(
-	Status_SUCCESS Status = 0x00000000
+const (
+	Status_SUCCESS              Status = 0x00000000
 	Status_FAILURE_INVALID_DATA Status = 0x00000704
 	Status_FAILURE_MISSING_DATA Status = 0x00000706
 )
@@ -44,7 +44,7 @@ var StatusValues []Status
 
 func init() {
 	_ = errors.New
-	StatusValues = []Status {
+	StatusValues = []Status{
 		Status_SUCCESS,
 		Status_FAILURE_INVALID_DATA,
 		Status_FAILURE_MISSING_DATA,
@@ -53,12 +53,12 @@ func init() {
 
 func StatusByValue(value uint32) (enum Status, ok bool) {
 	switch value {
-		case 0x00000000:
-			return Status_SUCCESS, true
-		case 0x00000704:
-			return Status_FAILURE_INVALID_DATA, true
-		case 0x00000706:
-			return Status_FAILURE_MISSING_DATA, true
+	case 0x00000000:
+		return Status_SUCCESS, true
+	case 0x00000704:
+		return Status_FAILURE_INVALID_DATA, true
+	case 0x00000706:
+		return Status_FAILURE_MISSING_DATA, true
 	}
 	return 0, false
 }
@@ -75,13 +75,13 @@ func StatusByName(value string) (enum Status, ok bool) {
 	return 0, false
 }
 
-func StatusKnows(value uint32)  bool {
+func StatusKnows(value uint32) bool {
 	for _, typeValue := range StatusValues {
 		if uint32(typeValue) == value {
 			return true
 		}
 	}
-	return false;
+	return false
 }
 
 func CastStatus(structType interface{}) Status {
@@ -147,4 +147,3 @@ func (e Status) PLC4XEnumName() string {
 func (e Status) String() string {
 	return e.PLC4XEnumName()
 }
-
diff --git a/plc4go/protocols/ads/discovery/readwrite/model/plc4x_common.go b/plc4go/protocols/ads/discovery/readwrite/model/plc4x_common.go
index 42166d94e6..d2d66e8bdd 100644
--- a/plc4go/protocols/ads/discovery/readwrite/model/plc4x_common.go
+++ b/plc4go/protocols/ads/discovery/readwrite/model/plc4x_common.go
@@ -15,7 +15,7 @@
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
-*/
+ */
 
 package model
 
@@ -25,4 +25,3 @@ import "github.com/rs/zerolog/log"
 
 // Plc4xModelLog is the Logger used by the Parse/Serialize methods
 var Plc4xModelLog = &log.Logger
-
diff --git a/plc4go/protocols/ads/readwrite/ParserHelper.go b/plc4go/protocols/ads/readwrite/ParserHelper.go
index 9cb42b4bb5..cec94298e3 100644
--- a/plc4go/protocols/ads/readwrite/ParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/ParserHelper.go
@@ -37,7 +37,7 @@ func (m AdsParserHelper) Parse(typeName string, arguments []string, io utils.Rea
 	case "AmsSerialFrame":
 		return model.AmsSerialFrameParseWithBuffer(context.Background(), io)
 	case "DataItem":
-        plcValueType, _ := model.PlcValueTypeByName(arguments[0])
+		plcValueType, _ := model.PlcValueTypeByName(arguments[0])
 		stringLength, err := utils.StrToInt32(arguments[1])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
diff --git a/plc4go/protocols/ads/readwrite/XmlParserHelper.go b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
index 46a7cd0ddd..286ba1c17e 100644
--- a/plc4go/protocols/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
@@ -21,8 +21,8 @@ package readwrite
 
 import (
 	"context"
-	"strings"
 	"strconv"
+	"strings"
 
 	"github.com/apache/plc4x/plc4go/protocols/ads/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi/utils"
@@ -43,50 +43,50 @@ func init() {
 }
 
 func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-    switch typeName {
-        case "AmsSerialFrame":
-			return model.AmsSerialFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "DataItem":
-            plcValueType, _ := model.PlcValueTypeByName(parserArguments[0])
-            parsedInt1, err := strconv.ParseInt(parserArguments[1], 10, 32)
-            if err!=nil {
-                return nil, err
-            }
-            stringLength := int32(parsedInt1)
-            return model.DataItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), plcValueType,  stringLength  )
-        case "AdsTableSizes":
-			return model.AdsTableSizesParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsMultiRequestItem":
-			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
-			if err!=nil {
-				return nil, err
-			}
-			indexGroup := uint32(parsedUint0)
-            return model.AdsMultiRequestItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup  )
-        case "AmsSerialAcknowledgeFrame":
-			return model.AmsSerialAcknowledgeFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsDataTypeArrayInfo":
-			return model.AdsDataTypeArrayInfoParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsDataTypeTableEntry":
-			return model.AdsDataTypeTableEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsNetId":
-			return model.AmsNetIdParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsStampHeader":
-			return model.AdsStampHeaderParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsSerialResetFrame":
-			return model.AmsSerialResetFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsDataTypeTableChildEntry":
-			return model.AdsDataTypeTableChildEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsConstants":
-			return model.AdsConstantsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsNotificationSample":
-			return model.AdsNotificationSampleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsSymbolTableEntry":
-			return model.AdsSymbolTableEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsTCPPacket":
-			return model.AmsTCPPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsPacket":
-			return model.AmsPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-    }
-    return nil, errors.Errorf("Unsupported type %s", typeName)
+	switch typeName {
+	case "AmsSerialFrame":
+		return model.AmsSerialFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "DataItem":
+		plcValueType, _ := model.PlcValueTypeByName(parserArguments[0])
+		parsedInt1, err := strconv.ParseInt(parserArguments[1], 10, 32)
+		if err != nil {
+			return nil, err
+		}
+		stringLength := int32(parsedInt1)
+		return model.DataItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), plcValueType, stringLength)
+	case "AdsTableSizes":
+		return model.AdsTableSizesParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsMultiRequestItem":
+		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
+		if err != nil {
+			return nil, err
+		}
+		indexGroup := uint32(parsedUint0)
+		return model.AdsMultiRequestItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup)
+	case "AmsSerialAcknowledgeFrame":
+		return model.AmsSerialAcknowledgeFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsDataTypeArrayInfo":
+		return model.AdsDataTypeArrayInfoParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsDataTypeTableEntry":
+		return model.AdsDataTypeTableEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsNetId":
+		return model.AmsNetIdParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsStampHeader":
+		return model.AdsStampHeaderParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsSerialResetFrame":
+		return model.AmsSerialResetFrameParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsDataTypeTableChildEntry":
+		return model.AdsDataTypeTableChildEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsConstants":
+		return model.AdsConstantsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsNotificationSample":
+		return model.AdsNotificationSampleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsSymbolTableEntry":
+		return model.AdsSymbolTableEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsTCPPacket":
+		return model.AmsTCPPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsPacket":
+		return model.AmsPacketParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	}
+	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index 14aeab237d..87afa57e06 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsAddDeviceNotificationRequest is the corresponding interface of AdsAddDeviceNotificationRequest
 type AdsAddDeviceNotificationRequest interface {
@@ -58,36 +56,37 @@ type AdsAddDeviceNotificationRequestExactly interface {
 // _AdsAddDeviceNotificationRequest is the data-structure of this message
 type _AdsAddDeviceNotificationRequest struct {
 	*_AmsPacket
-        IndexGroup uint32
-        IndexOffset uint32
-        Length uint32
-        TransmissionMode AdsTransMode
-        MaxDelayInMs uint32
-        CycleTimeInMs uint32
+	IndexGroup       uint32
+	IndexOffset      uint32
+	Length           uint32
+	TransmissionMode AdsTransMode
+	MaxDelayInMs     uint32
+	CycleTimeInMs    uint32
 	// Reserved Fields
 	reservedField0 *uint64
 	reservedField1 *uint64
 }
 
-
-
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for discriminator values.
 ///////////////////////
 
-func (m *_AdsAddDeviceNotificationRequest)  GetCommandId() CommandId {
-return CommandId_ADS_ADD_DEVICE_NOTIFICATION}
+func (m *_AdsAddDeviceNotificationRequest) GetCommandId() CommandId {
+	return CommandId_ADS_ADD_DEVICE_NOTIFICATION
+}
 
-func (m *_AdsAddDeviceNotificationRequest)  GetResponse() bool {
-return bool(false)}
+func (m *_AdsAddDeviceNotificationRequest) GetResponse() bool {
+	return bool(false)
+}
 
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-func (m *_AdsAddDeviceNotificationRequest) InitializeParent(parent AmsPacket , targetAmsNetId AmsNetId , targetAmsPort uint16 , sourceAmsNetId AmsNetId , sourceAmsPort uint16 , errorCode uint32 , invokeId uint32 ) {	m.TargetAmsNetId = targetAmsNetId
+func (m *_AdsAddDeviceNotificationRequest) InitializeParent(parent AmsPacket, targetAmsNetId AmsNetId, targetAmsPort uint16, sourceAmsNetId AmsNetId, sourceAmsPort uint16, errorCode uint32, invokeId uint32) {
+	m.TargetAmsNetId = targetAmsNetId
 	m.TargetAmsPort = targetAmsPort
 	m.SourceAmsNetId = sourceAmsNetId
 	m.SourceAmsPort = sourceAmsPort
@@ -95,9 +94,10 @@ func (m *_AdsAddDeviceNotificationRequest) InitializeParent(parent AmsPacket , t
 	m.InvokeId = invokeId
 }
 
-func (m *_AdsAddDeviceNotificationRequest)  GetParent() AmsPacket {
+func (m *_AdsAddDeviceNotificationRequest) GetParent() AmsPacket {
 	return m._AmsPacket
 }
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
@@ -132,17 +132,16 @@ func (m *_AdsAddDeviceNotificationRequest) GetCycleTimeInMs() uint32 {
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 
-
 // NewAdsAddDeviceNotificationRequest factory function for _AdsAddDeviceNotificationRequest
-func NewAdsAddDeviceNotificationRequest( indexGroup uint32 , indexOffset uint32 , length uint32 , transmissionMode AdsTransMode , maxDelayInMs uint32 , cycleTimeInMs uint32 , targetAmsNetId AmsNetId , targetAmsPort uint16 , sourceAmsNetId AmsNetId , sourceAmsPort uint16 , errorCode uint32 , invokeId uint32 ) *_AdsAddDeviceNotificationRequest {
+func NewAdsAddDeviceNotificationRequest(indexGroup uint32, indexOffset uint32, length uint32, transmissionMode AdsTransMode, maxDelayInMs uint32, cycleTimeInMs uint32, targetAmsNetId AmsNetId, targetAmsPort uint16, sourceAmsNetId AmsNetId, sourceAmsPort uint16, errorCode uint32, invokeId uint32) *_AdsAddDeviceNotificationRequest {
 	_result := &_AdsAddDeviceNotificationRequest{
-		IndexGroup: indexGroup,
-		IndexOffset: indexOffset,
-		Length: length,
+		IndexGroup:       indexGroup,
+		IndexOffset:      indexOffset,
+		Length:           length,
 		TransmissionMode: transmissionMode,
-		MaxDelayInMs: maxDelayInMs,
-		CycleTimeInMs: cycleTimeInMs,
-    	_AmsPacket: NewAmsPacket(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, errorCode, invokeId),
+		MaxDelayInMs:     maxDelayInMs,
+		CycleTimeInMs:    cycleTimeInMs,
+		_AmsPacket:       NewAmsPacket(targetAmsNetId, targetAmsPort, sourceAmsNetId, sourceAmsPort, errorCode, invokeId),
 	}
 	_result._AmsPacket._AmsPacketChildRequirements = _result
 	return _result
@@ -150,7 +149,7 @@ func NewAdsAddDeviceNotificationRequest( indexGroup uint32 , indexOffset uint32
 
 // Deprecated: use the interface for direct cast
 func CastAdsAddDeviceNotificationRequest(structType interface{}) AdsAddDeviceNotificationRequest {
-    if casted, ok := structType.(AdsAddDeviceNotificationRequest); ok {
+	if casted, ok := structType.(AdsAddDeviceNotificationRequest); ok {
 		return casted
 	}
 	if casted, ok := structType.(*AdsAddDeviceNotificationRequest); ok {
@@ -167,22 +166,22 @@ func (m *_AdsAddDeviceNotificationRequest) GetLengthInBits(ctx context.Context)
 	lengthInBits := uint16(m.GetParentLengthInBits(ctx))
 
 	// Simple field (indexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (indexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (length)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (transmissionMode)
 	lengthInBits += 32
 
 	// Simple field (maxDelayInMs)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (cycleTimeInMs)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Reserved Field (reserved)
 	lengthInBits += 64
@@ -193,7 +192,6 @@ func (m *_AdsAddDeviceNotificationRequest) GetLengthInBits(ctx context.Context)
 	return lengthInBits
 }
 
-
 func (m *_AdsAddDeviceNotificationRequest) GetLengthInBytes(ctx context.Context) uint16 {
 	return m.GetLengthInBits(ctx) / 8
 }
@@ -212,21 +210,21 @@ func AdsAddDeviceNotificationRequestParseWithBuffer(ctx context.Context, readBuf
 	_ = currentPos
 
 	// Simple Field (indexGroup)
-_indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+	_indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field of AdsAddDeviceNotificationRequest")
 	}
 	indexGroup := _indexGroup
 
 	// Simple Field (indexOffset)
-_indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+	_indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field of AdsAddDeviceNotificationRequest")
 	}
 	indexOffset := _indexOffset
 
 	// Simple Field (length)
-_length, _lengthErr := readBuffer.ReadUint32("length", 32)
+	_length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field of AdsAddDeviceNotificationRequest")
 	}
@@ -236,7 +234,7 @@ _length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if pullErr := readBuffer.PullContext("transmissionMode"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for transmissionMode")
 	}
-_transmissionMode, _transmissionModeErr := AdsTransModeParseWithBuffer(ctx, readBuffer)
+	_transmissionMode, _transmissionModeErr := AdsTransModeParseWithBuffer(ctx, readBuffer)
 	if _transmissionModeErr != nil {
 		return nil, errors.Wrap(_transmissionModeErr, "Error parsing 'transmissionMode' field of AdsAddDeviceNotificationRequest")
 	}
@@ -246,14 +244,14 @@ _transmissionMode, _transmissionModeErr := AdsTransModeParseWithBuffer(ctx, read
 	}
 
 	// Simple Field (maxDelayInMs)
-_maxDelayInMs, _maxDelayInMsErr := readBuffer.ReadUint32("maxDelayInMs", 32)
+	_maxDelayInMs, _maxDelayInMsErr := readBuffer.ReadUint32("maxDelayInMs", 32)
 	if _maxDelayInMsErr != nil {
 		return nil, errors.Wrap(_maxDelayInMsErr, "Error parsing 'maxDelayInMs' field of AdsAddDeviceNotificationRequest")
 	}
 	maxDelayInMs := _maxDelayInMs
 
 	// Simple Field (cycleTimeInMs)
-_cycleTimeInMs, _cycleTimeInMsErr := readBuffer.ReadUint32("cycleTimeInMs", 32)
+	_cycleTimeInMs, _cycleTimeInMsErr := readBuffer.ReadUint32("cycleTimeInMs", 32)
 	if _cycleTimeInMsErr != nil {
 		return nil, errors.Wrap(_cycleTimeInMsErr, "Error parsing 'cycleTimeInMs' field of AdsAddDeviceNotificationRequest")
 	}
@@ -269,7 +267,7 @@ _cycleTimeInMs, _cycleTimeInMsErr := readBuffer.ReadUint32("cycleTimeInMs", 32)
 		if reserved != uint64(0x0000) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint64(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField0 = &reserved
@@ -286,7 +284,7 @@ _cycleTimeInMs, _cycleTimeInMsErr := readBuffer.ReadUint32("cycleTimeInMs", 32)
 		if reserved != uint64(0x0000) {
 			Plc4xModelLog.Info().Fields(map[string]interface{}{
 				"expected value": uint64(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response for reserved field.")
 			// We save the value, so it can be re-serialized
 			reservedField1 = &reserved
@@ -299,16 +297,15 @@ _cycleTimeInMs, _cycleTimeInMsErr := readBuffer.ReadUint32("cycleTimeInMs", 32)
 
 	// Create a partially initialized instance
 	_child := &_AdsAddDeviceNotificationRequest{
-		_AmsPacket: &_AmsPacket{
-		},
-		IndexGroup: indexGroup,
-		IndexOffset: indexOffset,
-		Length: length,
+		_AmsPacket:       &_AmsPacket{},
+		IndexGroup:       indexGroup,
+		IndexOffset:      indexOffset,
+		Length:           length,
 		TransmissionMode: transmissionMode,
-		MaxDelayInMs: maxDelayInMs,
-		CycleTimeInMs: cycleTimeInMs,
-		reservedField0: reservedField0,
-		reservedField1: reservedField1,
+		MaxDelayInMs:     maxDelayInMs,
+		CycleTimeInMs:    cycleTimeInMs,
+		reservedField0:   reservedField0,
+		reservedField1:   reservedField1,
 	}
 	_child._AmsPacket._AmsPacketChildRequirements = _child
 	return _child, nil
@@ -330,84 +327,84 @@ func (m *_AdsAddDeviceNotificationRequest) SerializeWithWriteBuffer(ctx context.
 			return errors.Wrap(pushErr, "Error pushing for AdsAddDeviceNotificationRequest")
 		}
 
-	// Simple Field (indexGroup)
-	indexGroup := uint32(m.GetIndexGroup())
-	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-	if _indexGroupErr != nil {
-		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-	}
-
-	// Simple Field (indexOffset)
-	indexOffset := uint32(m.GetIndexOffset())
-	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-	if _indexOffsetErr != nil {
-		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-	}
-
-	// Simple Field (length)
-	length := uint32(m.GetLength())
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.GetIndexGroup())
+		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+		}
 
-	// Simple Field (transmissionMode)
-	if pushErr := writeBuffer.PushContext("transmissionMode"); pushErr != nil {
-		return errors.Wrap(pushErr, "Error pushing for transmissionMode")
-	}
-	_transmissionModeErr := writeBuffer.WriteSerializable(ctx, m.GetTransmissionMode())
-	if popErr := writeBuffer.PopContext("transmissionMode"); popErr != nil {
-		return errors.Wrap(popErr, "Error popping for transmissionMode")
-	}
-	if _transmissionModeErr != nil {
-		return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
-	}
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.GetIndexOffset())
+		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+		}
 
-	// Simple Field (maxDelayInMs)
-	maxDelayInMs := uint32(m.GetMaxDelayInMs())
-	_maxDelayInMsErr := writeBuffer.WriteUint32("maxDelayInMs", 32, (maxDelayInMs))
-	if _maxDelayInMsErr != nil {
-		return errors.Wrap(_maxDelayInMsErr, "Error serializing 'maxDelayInMs' field")
-	}
+		// Simple Field (length)
+		length := uint32(m.GetLength())
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
 
-	// Simple Field (cycleTimeInMs)
-	cycleTimeInMs := uint32(m.GetCycleTimeInMs())
-	_cycleTimeInMsErr := writeBuffer.WriteUint32("cycleTimeInMs", 32, (cycleTimeInMs))
-	if _cycleTimeInMsErr != nil {
-		return errors.Wrap(_cycleTimeInMsErr, "Error serializing 'cycleTimeInMs' field")
-	}
+		// Simple Field (transmissionMode)
+		if pushErr := writeBuffer.PushContext("transmissionMode"); pushErr != nil {
+			return errors.Wrap(pushErr, "Error pushing for transmissionMode")
+		}
+		_transmissionModeErr := writeBuffer.WriteSerializable(ctx, m.GetTransmissionMode())
+		if popErr := writeBuffer.PopContext("transmissionMode"); popErr != nil {
+			return errors.Wrap(popErr, "Error popping for transmissionMode")
+		}
+		if _transmissionModeErr != nil {
+			return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
+		}
 
-	// Reserved Field (reserved)
-	{
-		var reserved uint64 = uint64(0x0000)
-		if m.reservedField0 != nil {
-			Plc4xModelLog.Info().Fields(map[string]interface{}{
-				"expected value": uint64(0x0000),
-				"got value": reserved,
-			}).Msg("Overriding reserved field with unexpected value.")
-			reserved = *m.reservedField0
+		// Simple Field (maxDelayInMs)
+		maxDelayInMs := uint32(m.GetMaxDelayInMs())
+		_maxDelayInMsErr := writeBuffer.WriteUint32("maxDelayInMs", 32, (maxDelayInMs))
+		if _maxDelayInMsErr != nil {
+			return errors.Wrap(_maxDelayInMsErr, "Error serializing 'maxDelayInMs' field")
 		}
-		_err := writeBuffer.WriteUint64("reserved", 64, reserved)
-		if _err != nil {
-			return errors.Wrap(_err, "Error serializing 'reserved' field")
+
+		// Simple Field (cycleTimeInMs)
+		cycleTimeInMs := uint32(m.GetCycleTimeInMs())
+		_cycleTimeInMsErr := writeBuffer.WriteUint32("cycleTimeInMs", 32, (cycleTimeInMs))
+		if _cycleTimeInMsErr != nil {
+			return errors.Wrap(_cycleTimeInMsErr, "Error serializing 'cycleTimeInMs' field")
 		}
-	}
 
-	// Reserved Field (reserved)
-	{
-		var reserved uint64 = uint64(0x0000)
-		if m.reservedField1 != nil {
-			Plc4xModelLog.Info().Fields(map[string]interface{}{
-				"expected value": uint64(0x0000),
-				"got value": reserved,
-			}).Msg("Overriding reserved field with unexpected value.")
-			reserved = *m.reservedField1
+		// Reserved Field (reserved)
+		{
+			var reserved uint64 = uint64(0x0000)
+			if m.reservedField0 != nil {
+				Plc4xModelLog.Info().Fields(map[string]interface{}{
+					"expected value": uint64(0x0000),
+					"got value":      reserved,
+				}).Msg("Overriding reserved field with unexpected value.")
+				reserved = *m.reservedField0
+			}
+			_err := writeBuffer.WriteUint64("reserved", 64, reserved)
+			if _err != nil {
+				return errors.Wrap(_err, "Error serializing 'reserved' field")
+			}
 		}
-		_err := writeBuffer.WriteUint64("reserved", 64, reserved)
-		if _err != nil {
-			return errors.Wrap(_err, "Error serializing 'reserved' field")
+
+		// Reserved Field (reserved)
+		{
+			var reserved uint64 = uint64(0x0000)
+			if m.reservedField1 != nil {
+				Plc4xModelLog.Info().Fields(map[string]interface{}{
+					"expected value": uint64(0x0000),
+					"got value":      reserved,
+				}).Msg("Overriding reserved field with unexpected value.")
+				reserved = *m.reservedField1
+			}
+			_err := writeBuffer.WriteUint64("reserved", 64, reserved)
+			if _err != nil {
+				return errors.Wrap(_err, "Error serializing 'reserved' field")
+			}
 		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationRequest"); popErr != nil {
 			return errors.Wrap(popErr, "Error popping for AdsAddDeviceNotificationRequest")
@@ -417,7 +414,6 @@ func (m *_AdsAddDeviceNotificationRequest) SerializeWithWriteBuffer(ctx context.
 	return m.SerializeParent(ctx, writeBuffer, m, ser)
 }
 
-
 func (m *_AdsAddDeviceNotificationRequest) isAdsAddDeviceNotificationRequest() bool {
 	return true
 }
@@ -432,6 +428,3 @@ func (m *_AdsAddDeviceNotificationRequest) String() string {
 	}
 	return writeBuffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index d92a01cb3d..34bdf7c721 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"context"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // AdsAddDeviceNotificationResponse is the corresponding interface of AdsAddDeviceNotificationResponse
... 399190 lines suppressed ...