You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/03/07 16:31:00 UTC

[plc4x] branch develop updated: refactor(plc4go/codegen): add GetParent() retriever method

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

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


The following commit(s) were added to refs/heads/develop by this push:
     new 1a234ed  refactor(plc4go/codegen): add GetParent() retriever method
1a234ed is described below

commit 1a234ed7941e4b5d330dbf898569bcd9223d0ab0
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon Mar 7 17:30:51 2022 +0100

    refactor(plc4go/codegen): add GetParent() retriever method
---
 .../src/main/resources/templates/go/model-template.go.ftlh          | 6 ++++++
 .../abeth/readwrite/model/CIPEncapsulationConnectionRequest.go      | 4 ++++
 .../abeth/readwrite/model/CIPEncapsulationConnectionResponse.go     | 4 ++++
 .../internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go | 2 ++
 .../plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go     | 4 ++++
 .../plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go    | 4 ++++
 .../plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go        | 4 ++++
 .../model/DF1CommandResponseMessageProtectedTypedLogicalRead.go     | 4 ++++
 plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go   | 2 ++
 plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go   | 2 ++
 .../abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go    | 4 ++++
 plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go  | 2 ++
 .../plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go   | 4 ++++
 .../plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go  | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsData.go               | 2 ++
 .../ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go       | 4 ++++
 .../ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go      | 4 ++++
 .../plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go      | 4 ++++
 .../plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go     | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go     | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go    | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go   | 2 ++
 .../internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go  | 4 ++++
 .../plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go      | 4 ++++
 .../internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go | 4 ++++
 .../internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go | 4 ++++
 .../plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go         | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go        | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go       | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go   | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go  | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go   | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go  | 4 ++++
 .../internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go   | 4 ++++
 .../internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go  | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go       | 4 ++++
 plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go      | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go             | 2 ++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go        | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go         | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go        | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go       | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go   | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go       | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnknown.go      | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTag.go         | 2 ++
 .../bacnetip/readwrite/model/BACnetApplicationTagBitString.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go  | 4 ++++
 .../bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagDate.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagDouble.go   | 4 ++++
 .../bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go      | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagNull.go     | 4 ++++
 .../readwrite/model/BACnetApplicationTagObjectIdentifier.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetApplicationTagOctetString.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagReal.go     | 4 ++++
 .../bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetApplicationTagTime.go     | 4 ++++
 .../bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetClosingTag.go | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go    | 2 ++
 .../readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go      | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go     | 4 ++++
 .../model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go      | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKCreateObject.go        | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go     | 4 ++++
 .../model/BACnetConfirmedServiceACKGetEnrollmentSummary.go          | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKReadProperty.go        | 4 ++++
 .../model/BACnetConfirmedServiceACKReadPropertyMultiple.go          | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go  | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go | 4 ++++
 .../BACnetConfirmedServiceACKRemovedReadPropertyConditional.go      | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go     | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go     | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceAddListElement.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go       | 2 ++
 .../model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go          | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestAddListElement.go  | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go  | 4 ++++
 .../model/BACnetConfirmedServiceRequestAtomicReadFileRecord.go      | 4 ++++
 .../model/BACnetConfirmedServiceRequestAtomicReadFileStream.go      | 4 ++++
 .../BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go    | 2 ++
 .../readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go | 4 ++++
 .../model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go  | 4 ++++
 ...BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go | 4 ++++
 .../BACnetConfirmedServiceRequestConfirmedEventNotification.go      | 4 ++++
 .../model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go  | 4 ++++
 .../model/BACnetConfirmedServiceRequestConfirmedTextMessage.go      | 4 ++++
 .../model/BACnetConfirmedServiceRequestConfirmedUnknown.go          | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestCreateObject.go    | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go    | 4 ++++
 .../BACnetConfirmedServiceRequestDeviceCommunicationControl.go      | 4 ++++
 .../model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go      | 4 ++++
 .../model/BACnetConfirmedServiceRequestGetEventInformation.go       | 4 ++++
 .../model/BACnetConfirmedServiceRequestLifeSafetyOperation.go       | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestReadProperty.go    | 4 ++++
 .../model/BACnetConfirmedServiceRequestReadPropertyMultiple.go      | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestReadRange.go       | 4 ++++
 .../model/BACnetConfirmedServiceRequestReinitializeDevice.go        | 4 ++++
 .../model/BACnetConfirmedServiceRequestRemoveListElement.go         | 4 ++++
 .../model/BACnetConfirmedServiceRequestRemovedAuthenticate.go       | 4 ++++
 .../BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go  | 4 ++++
 .../model/BACnetConfirmedServiceRequestRemovedRequestKey.go         | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go    | 4 ++++
 .../model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go      | 4 ++++
 .../BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go    | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestVTClose.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go | 4 ++++
 .../bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go | 4 ++++
 .../readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go   | 4 ++++
 .../model/BACnetConfirmedServiceRequestWritePropertyMultiple.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetConstructedData.go        | 2 ++
 .../plc4go/bacnetip/readwrite/model/BACnetConstructedDataCommand.go | 4 ++++
 .../readwrite/model/BACnetConstructedDataEventTimestamps.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetConstructedDataLifeSafetyZone.go | 4 ++++
 .../bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go    | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTag.go | 2 ++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagBitString.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagBoolean.go      | 4 ++++
 .../bacnetip/readwrite/model/BACnetContextTagCharacterString.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagDate.go         | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagDeviceState.go  | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagDouble.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagEmpty.go        | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagEnumerated.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagEventState.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagEventType.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagNotifyType.go   | 4 ++++
 .../bacnetip/readwrite/model/BACnetContextTagObjectIdentifier.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go  | 4 ++++
 .../bacnetip/readwrite/model/BACnetContextTagPropertyIdentifier.go  | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagReal.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetContextTagSignedInteger.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetContextTagTime.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go     | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go      | 2 ++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorAcknowledgeAlarm.go  | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go   | 4 ++++
 .../readwrite/model/BACnetErrorConfirmedEventNotification.go        | 4 ++++
 .../bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go      | 4 ++++
 .../readwrite/model/BACnetErrorDeviceCommunicationProtocol.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go   | 4 ++++
 .../bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go     | 4 ++++
 .../bacnetip/readwrite/model/BACnetErrorGetEventInformation.go      | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorPasswordFailure.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go      | 4 ++++
 .../bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go      | 4 ++++
 .../readwrite/model/BACnetErrorRemovedReadPropertyConditional.go    | 4 ++++
 .../internal/plc4go/bacnetip/readwrite/model/BACnetErrorUnknown.go  | 4 ++++
 .../internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go   | 4 ++++
 .../internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetErrorWriteProperty.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetNotificationParameters.go | 2 ++
 .../readwrite/model/BACnetNotificationParametersBufferReady.go      | 4 ++++
 .../model/BACnetNotificationParametersChangeOfBitString.go          | 4 ++++
 .../readwrite/model/BACnetNotificationParametersChangeOfState.go    | 4 ++++
 .../readwrite/model/BACnetNotificationParametersChangeOfValue.go    | 4 ++++
 .../model/BACnetNotificationParametersChangeOfValueNewValue.go      | 2 ++
 .../BACnetNotificationParametersChangeOfValueNewValueChangedBits.go | 4 ++++
 ...BACnetNotificationParametersChangeOfValueNewValueChangedValue.go | 4 ++++
 .../readwrite/model/BACnetNotificationParametersComplexEventType.go | 4 ++++
 .../readwrite/model/BACnetNotificationParametersExtended.go         | 4 ++++
 .../readwrite/model/BACnetNotificationParametersFloatingLimit.go    | 4 ++++
 .../readwrite/model/BACnetNotificationParametersOutOfRange.go       | 4 ++++
 .../readwrite/model/BACnetNotificationParametersUnsignedRange.go    | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetOpeningTag.go | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetPropertyStates.go         | 2 ++
 .../plc4go/bacnetip/readwrite/model/BACnetPropertyStatesAction.go   | 4 ++++
 .../bacnetip/readwrite/model/BACnetPropertyStatesBinaryValue.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBoolean.go  | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go | 2 ++
 .../bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go      | 4 ++++
 .../readwrite/model/BACnetServiceAckAtomicReadFileRecord.go         | 4 ++++
 .../readwrite/model/BACnetServiceAckAtomicReadFileStream.go         | 4 ++++
 .../readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go | 2 ++
 .../bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go     | 4 ++++
 .../readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go | 4 ++++
 .../bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go     | 4 ++++
 .../readwrite/model/BACnetServiceAckGetEnrollmentSummary.go         | 4 ++++
 .../bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go | 4 ++++
 .../readwrite/model/BACnetServiceAckReadPropertyMultiple.go         | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go    | 4 ++++
 .../bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go | 4 ++++
 .../model/BACnetServiceAckRemovedReadPropertyConditional.go         | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go       | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStamp.go  | 2 ++
 .../plc4go/bacnetip/readwrite/model/BACnetTimeStampDateTime.go      | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BACnetTimeStampSequence.go      | 4 ++++
 .../internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampTime.go | 4 ++++
 .../bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go     | 2 ++
 .../bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go  | 4 ++++
 .../readwrite/model/BACnetUnconfirmedServiceRequestIHave.go         | 4 ++++
 .../model/BACnetUnconfirmedServiceRequestTimeSynchronization.go     | 4 ++++
 .../model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go  | 4 ++++
 .../BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go    | 4 ++++
 ...etUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go | 4 ++++
 .../BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go  | 4 ++++
 .../BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go    | 4 ++++
 .../model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go  | 4 ++++
 .../model/BACnetUnconfirmedServiceRequestUnconfirmedUnknown.go      | 4 ++++
 .../readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go        | 4 ++++
 .../readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go         | 4 ++++
 .../readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go    | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go             | 2 ++
 .../bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go   | 4 ++++
 .../bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go    | 4 ++++
 .../internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go    | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go      | 4 ++++
 .../bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go  | 4 ++++
 .../readwrite/model/BVLCReadBroadcastDistributionTableAck.go        | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go   | 4 ++++
 .../bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go    | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go       | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go   | 4 ++++
 .../bacnetip/readwrite/model/BVLCWriteBroadcastDistributionTable.go | 4 ++++
 plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go              | 2 ++
 .../bacnetip/readwrite/model/NLMDisconnectConnectionToNetwork.go    | 4 ++++
 .../bacnetip/readwrite/model/NLMEstablishConnectionToNetwork.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go        | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMICouldBeRouterToNetwork.go   | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTable.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTableAck.go  | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMRejectRouterToNetwork.go     | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMRouterAvailableToNetwork.go  | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMRouterBusyToNetwork.go       | 4 ++++
 .../plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go      | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALData.go              | 2 ++
 .../internal/plc4go/cbus/readwrite/model/CALDataReplyAcknowledge.go | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyReply.go    | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatus.go   | 4 ++++
 .../plc4go/cbus/readwrite/model/CALDataReplyStatusExtended.go       | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/CALDataRequestGetStatus.go | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/CALDataRequestIdentify.go  | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestRecall.go | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestReset.go  | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALReply.go             | 2 ++
 plc4go/internal/plc4go/cbus/readwrite/model/CALReplyLong.go         | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALReplyReply.go        | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CALReplyShort.go        | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/CBusCommand.go          | 2 ++
 .../plc4go/cbus/readwrite/model/CBusCommandPointToMultiPoint.go     | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/CBusCommandPointToPoint.go | 4 ++++
 .../cbus/readwrite/model/CBusCommandPointToPointToMultiPoint.go     | 4 ++++
 .../readwrite/model/CBusCommandPointToPointToMultiPointNormal.go    | 4 ++++
 .../readwrite/model/CBusCommandPointToPointToMultiPointStatus.go    | 4 ++++
 .../plc4go/cbus/readwrite/model/CBusPointToMultiPointCommand.go     | 2 ++
 .../cbus/readwrite/model/CBusPointToMultiPointCommandNormal.go      | 4 ++++
 .../cbus/readwrite/model/CBusPointToMultiPointCommandStatus.go      | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/CBusPointToPointCommand.go | 2 ++
 .../plc4go/cbus/readwrite/model/CBusPointToPointCommandDirect.go    | 4 ++++
 .../plc4go/cbus/readwrite/model/CBusPointToPointCommandIndirect.go  | 4 ++++
 .../cbus/readwrite/model/CBusPointToPointToMultipointCommand.go     | 2 ++
 plc4go/internal/plc4go/cbus/readwrite/model/Confirmation.go         | 2 ++
 plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationReply.go    | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/ConfirmationSuccessful.go  | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/ExclamationMarkReply.go | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommand.go | 2 ++
 .../cbus/readwrite/model/IdentifyReplyCommandCurrentSenseLevels.go  | 4 ++++
 .../plc4go/cbus/readwrite/model/IdentifyReplyCommandDSIStatus.go    | 4 ++++
 .../plc4go/cbus/readwrite/model/IdentifyReplyCommandDelays.go       | 4 ++++
 .../model/IdentifyReplyCommandExtendedDiagnosticSummary.go          | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandFirmwareSummary.go     | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandFirmwareVersion.go     | 4 ++++
 .../readwrite/model/IdentifyReplyCommandGAVPhysicalAddresses.go     | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandGAVValuesCurrent.go    | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandGAVValuesStored.go     | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandLogicalAssignment.go   | 4 ++++
 .../plc4go/cbus/readwrite/model/IdentifyReplyCommandManufacturer.go | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandMaximumLevels.go       | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandMinimumLevels.go       | 4 ++++
 .../readwrite/model/IdentifyReplyCommandNetworkTerminalLevels.go    | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandNetworkVoltage.go      | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandOutputUnitSummary.go   | 4 ++++
 .../cbus/readwrite/model/IdentifyReplyCommandTerminalLevels.go      | 4 ++++
 .../plc4go/cbus/readwrite/model/IdentifyReplyCommandType.go         | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSAL.go         | 2 ++
 .../plc4go/cbus/readwrite/model/MonitoredSALLongFormSmartMode.go    | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALReply.go    | 4 ++++
 .../plc4go/cbus/readwrite/model/MonitoredSALShortFormBasicMode.go   | 4 ++++
 .../plc4go/cbus/readwrite/model/NotTransmittedCorruption.go         | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/NotTransmittedSyncLoss.go  | 4 ++++
 .../cbus/readwrite/model/NotTransmittedToManyReTransmissions.go     | 4 ++++
 .../internal/plc4go/cbus/readwrite/model/NotTransmittedTooLong.go   | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/ParameterChangeReply.go | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/PowerUpReply.go         | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/Reply.go                | 2 ++
 plc4go/internal/plc4go/cbus/readwrite/model/SALData.go              | 2 ++
 plc4go/internal/plc4go/cbus/readwrite/model/SALDataOff.go           | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/SALDataOn.go            | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/SALDataRampToLevel.go   | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/SALDataTerminateRamp.go | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/StatusRequest.go        | 2 ++
 .../plc4go/cbus/readwrite/model/StatusRequestBinaryState.go         | 4 ++++
 plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestLevel.go   | 4 ++++
 plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go            | 2 ++
 plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go             | 2 ++
 plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go | 4 ++++
 .../internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go | 4 ++++
 .../internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go | 4 ++++
 .../plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go         | 4 ++++
 .../plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go        | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go             | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go        | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go       | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipService.go            | 2 ++
 plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go       | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go      | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go  | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go  | 4 ++++
 plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go             | 2 ++
 .../internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go   | 4 ++++
 .../internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go  | 4 ++++
 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go    | 2 ++
 .../plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go | 4 ++++
 .../firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go     | 4 ++++
 .../plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go      | 4 ++++
 .../internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go  | 4 ++++
 .../plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go     | 4 ++++
 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go    | 2 ++
 .../plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go        | 4 ++++
 .../plc4go/firmata/readwrite/model/FirmataMessageCommand.go         | 4 ++++
 .../plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go       | 4 ++++
 .../readwrite/model/FirmataMessageSubscribeAnalogPinValue.go        | 4 ++++
 .../readwrite/model/FirmataMessageSubscribeDigitalPinValue.go       | 4 ++++
 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go      | 2 ++
 .../readwrite/model/SysexCommandAnalogMappingQueryRequest.go        | 4 ++++
 .../readwrite/model/SysexCommandAnalogMappingQueryResponse.go       | 4 ++++
 .../firmata/readwrite/model/SysexCommandAnalogMappingResponse.go    | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go   | 4 ++++
 .../firmata/readwrite/model/SysexCommandCapabilityResponse.go       | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go    | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandExtendedId.go        | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go     | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go  | 4 ++++
 .../firmata/readwrite/model/SysexCommandReportFirmwareRequest.go    | 4 ++++
 .../firmata/readwrite/model/SysexCommandReportFirmwareResponse.go   | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go  | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandStringData.go        | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go  | 4 ++++
 .../plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/Apdu.go             | 2 ++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControl.go      | 2 ++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlAck.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduControlConnect.go  | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduControlContainer.go         | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduControlDisconnect.go        | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlNack.go  | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go         | 2 ++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcRead.go  | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataAdcResponse.go | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataContainer.go   | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go      | 2 ++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go  | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeResponse.go | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressRead.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtDomainAddressResponse.go    | 4 ++++
 .../readwrite/model/ApduDataExtDomainAddressSelectiveRead.go        | 4 ++++
 .../readwrite/model/ApduDataExtDomainAddressSerialNumberRead.go     | 4 ++++
 .../readwrite/model/ApduDataExtDomainAddressSerialNumberResponse.go | 4 ++++
 .../readwrite/model/ApduDataExtDomainAddressSerialNumberWrite.go    | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtDomainAddressWrite.go       | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtFileStreamInfoReport.go     | 4 ++++
 .../readwrite/model/ApduDataExtGroupPropertyValueInfoReport.go      | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtGroupPropertyValueRead.go   | 4 ++++
 .../readwrite/model/ApduDataExtGroupPropertyValueResponse.go        | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtGroupPropertyValueWrite.go  | 4 ++++
 .../readwrite/model/ApduDataExtIndividualAddressSerialNumberRead.go | 4 ++++
 .../model/ApduDataExtIndividualAddressSerialNumberResponse.go       | 4 ++++
 .../model/ApduDataExtIndividualAddressSerialNumberWrite.go          | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtKeyResponse.go       | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyWrite.go | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkRead.go | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtLinkResponse.go      | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtLinkWrite.go         | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtMemoryBitWrite.go    | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtNetworkParameterRead.go     | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtNetworkParameterResponse.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtNetworkParameterWrite.go    | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtOpenRoutingTableRequest.go  | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtPropertyDescriptionRead.go  | 4 ++++
 .../readwrite/model/ApduDataExtPropertyDescriptionResponse.go       | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueRead.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go    | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go       | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRouterMemoryRequest.go  | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRouterMemoryResponse.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRouterStatusRequest.go  | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRouterStatusResponse.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRoutingTableRequest.go  | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtReadRoutingTableResponse.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtWriteRouterMemoryRequest.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtWriteRouterStatusRequest.go | 4 ++++
 .../knxnetip/readwrite/model/ApduDataExtWriteRoutingTableRequest.go | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataGroupValueRead.go       | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go   | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go      | 4 ++++
 .../knxnetip/readwrite/model/ApduDataIndividualAddressRead.go       | 4 ++++
 .../knxnetip/readwrite/model/ApduDataIndividualAddressResponse.go   | 4 ++++
 .../knxnetip/readwrite/model/ApduDataIndividualAddressWrite.go      | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryRead.go  | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go       | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryWrite.go | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataOther.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataRestart.go  | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ApduDataUserMessage.go | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go             | 2 ++
 .../plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go    | 2 ++
 .../readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go      | 4 ++++
 .../readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go   | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go   | 2 ++
 .../knxnetip/readwrite/model/ComObjectTableRealisationType1.go      | 4 ++++
 .../knxnetip/readwrite/model/ComObjectTableRealisationType2.go      | 4 ++++
 .../knxnetip/readwrite/model/ComObjectTableRealisationType6.go      | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go   | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go | 2 ++
 .../readwrite/model/ConnectionRequestInformationDeviceManagement.go | 4 ++++
 .../readwrite/model/ConnectionRequestInformationTunnelConnection.go | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go  | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go  | 2 ++
 .../readwrite/model/ConnectionResponseDataBlockDeviceManagement.go  | 4 ++++
 .../readwrite/model/ConnectionResponseDataBlockTunnelConnection.go  | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go       | 4 ++++
 .../plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go      | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go  | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go | 4 ++++
 .../plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go       | 4 ++++
 .../plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go  | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go  | 2 ++
 .../plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go        | 4 ++++
 .../plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go        | 4 ++++
 .../plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go     | 4 ++++
 .../plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go  | 2 ++
 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go  | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go  | 4 ++++
 .../readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go        | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go       | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go         | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrame.go       | 2 ++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go         | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go         | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go        | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataCon.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataReq.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LRawCon.go          | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LRawInd.go          | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/LRawReq.go          | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/MFuncPropCommandReq.go | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCon.go     | 4 ++++
 .../plc4go/knxnetip/readwrite/model/MFuncPropStateReadReq.go        | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MPropInfoInd.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadCon.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadReq.go     | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteCon.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteReq.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MResetInd.go        | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/MResetReq.go        | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go   | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go    | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go   | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go        | 2 ++
 .../internal/plc4go/knxnetip/readwrite/model/TDataConnectedInd.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/TDataConnectedReq.go   | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/TDataIndividualInd.go  | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/TDataIndividualReq.go  | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go | 4 ++++
 .../internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go   | 4 ++++
 plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go   | 4 ++++
 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go          | 2 ++
 .../plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go     | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go    | 4 ++++
 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go     | 4 ++++
 .../modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go    | 4 ++++
 .../modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go   | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go | 4 ++++
 .../modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go       | 4 ++++
 .../readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go     | 4 ++++
 .../readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go    | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go      | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go     | 4 ++++
 .../readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go     | 4 ++++
 .../readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go    | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go    | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go   | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go   | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go  | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go  | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go       | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go  | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go    | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go   | 4 ++++
 .../model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go      | 4 ++++
 .../model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go     | 4 ++++
 .../plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go | 4 ++++
 .../modbus/readwrite/model/ModbusPDUReportServerIdResponse.go       | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go       | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go      | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go    | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go   | 4 ++++
 .../model/ModbusPDUWriteMultipleHoldingRegistersRequest.go          | 4 ++++
 .../model/ModbusPDUWriteMultipleHoldingRegistersResponse.go         | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go       | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go      | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go   | 4 ++++
 .../modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go  | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go             | 2 ++
 .../plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go        | 4 ++++
 .../plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go       | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go         | 4 ++++
 .../plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go        | 4 ++++
 .../plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go       | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go    | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go          | 2 ++
 .../internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go   | 4 ++++
 .../internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go  | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go  | 4 ++++
 .../readwrite/model/COTPParameterDisconnectAdditionalInformation.go | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go  | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7Address.go              | 2 ++
 plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go           | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go     | 2 ++
 plc4go/internal/plc4go/s7/readwrite/model/S7Message.go              | 2 ++
 plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go   | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go       | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go      | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go  | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go      | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go            | 2 ++
 .../internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go | 4 ++++
 .../plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go         | 4 ++++
 .../plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go      | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go    | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go   | 2 ++
 .../s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go       | 4 ++++
 .../plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go         | 4 ++++
 .../plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go        | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go              | 2 ++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go        | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go   | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go        | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go       | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go       | 4 ++++
 .../plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go         | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go        | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go       | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go  | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go      | 4 ++++
 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go  | 2 ++
 .../s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go  | 4 ++++
 .../model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go       | 4 ++++
 .../readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go   | 4 ++++
 .../model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go     | 4 ++++
 .../model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go        | 4 ++++
 .../S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go | 4 ++++
 .../S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go      | 4 ++++
 .../S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go   | 4 ++++
 .../model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go         | 4 ++++
 .../model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go        | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go  | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go | 4 ++++
 .../internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go | 2 ++
 .../plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go   | 4 ++++
 589 files changed, 2226 insertions(+)

diff --git a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
index 904b948..b16fc7a 100644
--- a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -202,6 +202,8 @@ type I${type.name}Child interface {
 	)
 </...@compress>
 
+	GetParent() *${type.name}
+
 	GetTypeName() string
 	I${type.name}
 }
@@ -225,6 +227,10 @@ func (m *${type.name}) InitializeParent(parent *${type.parentType.orElseThrow().
 	m.${type.parentType.orElseThrow().name}.${field.name?cap_first} = ${field.name}
 	</#list>
 }
+
+func(m *${type.name}) GetParent() *${type.parentType.orElseThrow().name} {
+	return m.${type.parentType.orElseThrow().name}
+}
 </#if>
 <#if type.propertyFields?has_content>
 ///////////////////////////////////////////////////////////
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index 209d2b4..78b1d73 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -61,6 +61,10 @@ func (m *CIPEncapsulationConnectionRequest) InitializeParent(parent *CIPEncapsul
 	m.CIPEncapsulationPacket.Options = options
 }
 
+func (m *CIPEncapsulationConnectionRequest) GetParent() *CIPEncapsulationPacket {
+	return m.CIPEncapsulationPacket
+}
+
 // NewCIPEncapsulationConnectionRequest factory function for CIPEncapsulationConnectionRequest
 func NewCIPEncapsulationConnectionRequest(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationConnectionRequest{
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index 15f41fe..489593f 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -61,6 +61,10 @@ func (m *CIPEncapsulationConnectionResponse) InitializeParent(parent *CIPEncapsu
 	m.CIPEncapsulationPacket.Options = options
 }
 
+func (m *CIPEncapsulationConnectionResponse) GetParent() *CIPEncapsulationPacket {
+	return m.CIPEncapsulationPacket
+}
+
 // NewCIPEncapsulationConnectionResponse factory function for CIPEncapsulationConnectionResponse
 func NewCIPEncapsulationConnectionResponse(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationConnectionResponse{
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
index 135f873..00d3808 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -64,6 +64,8 @@ type ICIPEncapsulationPacketParent interface {
 type ICIPEncapsulationPacketChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32)
+	GetParent() *CIPEncapsulationPacket
+
 	GetTypeName() string
 	ICIPEncapsulationPacket
 }
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index 5a78f04..2438770 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -65,6 +65,10 @@ func (m *CIPEncapsulationReadRequest) InitializeParent(parent *CIPEncapsulationP
 	m.CIPEncapsulationPacket.Options = options
 }
 
+func (m *CIPEncapsulationReadRequest) GetParent() *CIPEncapsulationPacket {
+	return m.CIPEncapsulationPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index f3deb60..5d7ae80 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -68,6 +68,10 @@ func (m *CIPEncapsulationReadResponse) InitializeParent(parent *CIPEncapsulation
 	m.CIPEncapsulationPacket.Options = options
 }
 
+func (m *CIPEncapsulationReadResponse) GetParent() *CIPEncapsulationPacket {
+	return m.CIPEncapsulationPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
index 75fbd1f..217d8e3 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -65,6 +65,10 @@ func (m *DF1CommandRequestMessage) InitializeParent(parent *DF1RequestMessage, d
 	m.DF1RequestMessage.TransactionCounter = transactionCounter
 }
 
+func (m *DF1CommandRequestMessage) GetParent() *DF1RequestMessage {
+	return m.DF1RequestMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index 7c40996..916a8d9 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -68,6 +68,10 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(pa
 	m.DF1ResponseMessage.TransactionCounter = transactionCounter
 }
 
+func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) GetParent() *DF1ResponseMessage {
+	return m.DF1ResponseMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
index ddeb293..b0743d8 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
@@ -51,6 +51,8 @@ type IDF1RequestCommandParent interface {
 type IDF1RequestCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *DF1RequestCommand)
+	GetParent() *DF1RequestCommand
+
 	GetTypeName() string
 	IDF1RequestCommand
 }
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
index 5516bd6..5ea4215 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
@@ -64,6 +64,8 @@ type IDF1RequestMessageParent interface {
 type IDF1RequestMessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
+	GetParent() *DF1RequestMessage
+
 	GetTypeName() string
 	IDF1RequestMessage
 }
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 44b9e1c..97cb930 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -72,6 +72,10 @@ func (m *DF1RequestProtectedTypedLogicalRead) GetFunctionCode() uint8 {
 
 func (m *DF1RequestProtectedTypedLogicalRead) InitializeParent(parent *DF1RequestCommand) {}
 
+func (m *DF1RequestProtectedTypedLogicalRead) GetParent() *DF1RequestCommand {
+	return m.DF1RequestCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
index cbfecb7..4dae32d 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
@@ -67,6 +67,8 @@ type IDF1ResponseMessageParent interface {
 type IDF1ResponseMessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16)
+	GetParent() *DF1ResponseMessage
+
 	GetTypeName() string
 	IDF1ResponseMessage
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index b447b70..93ee56c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -80,6 +80,10 @@ func (m *AdsAddDeviceNotificationRequest) GetResponse() bool {
 
 func (m *AdsAddDeviceNotificationRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsAddDeviceNotificationRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index ccaa45e..d0bd108 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -67,6 +67,10 @@ func (m *AdsAddDeviceNotificationResponse) GetResponse() bool {
 
 func (m *AdsAddDeviceNotificationResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsAddDeviceNotificationResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
index 007439e..aa35af6 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
@@ -53,6 +53,8 @@ type IAdsDataParent interface {
 type IAdsDataChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *AdsData)
+	GetParent() *AdsData
+
 	GetTypeName() string
 	IAdsData
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index c0184a4..f065f75 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -64,6 +64,10 @@ func (m *AdsDeleteDeviceNotificationRequest) GetResponse() bool {
 
 func (m *AdsDeleteDeviceNotificationRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsDeleteDeviceNotificationRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index 291b2d5..112a062 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -64,6 +64,10 @@ func (m *AdsDeleteDeviceNotificationResponse) GetResponse() bool {
 
 func (m *AdsDeleteDeviceNotificationResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsDeleteDeviceNotificationResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 2768c3d..e180f23 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -70,6 +70,10 @@ func (m *AdsDeviceNotificationRequest) GetResponse() bool {
 
 func (m *AdsDeviceNotificationRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsDeviceNotificationRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
index d2ff5de..f9e929b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -60,6 +60,10 @@ func (m *AdsDeviceNotificationResponse) GetResponse() bool {
 
 func (m *AdsDeviceNotificationResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsDeviceNotificationResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 // NewAdsDeviceNotificationResponse factory function for AdsDeviceNotificationResponse
 func NewAdsDeviceNotificationResponse() *AdsData {
 	child := &AdsDeviceNotificationResponse{
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
index 0a2e31f..e1af35d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
@@ -60,6 +60,10 @@ func (m *AdsInvalidRequest) GetResponse() bool {
 
 func (m *AdsInvalidRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsInvalidRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 // NewAdsInvalidRequest factory function for AdsInvalidRequest
 func NewAdsInvalidRequest() *AdsData {
 	child := &AdsInvalidRequest{
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
index 066b640..d6057a5 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
@@ -60,6 +60,10 @@ func (m *AdsInvalidResponse) GetResponse() bool {
 
 func (m *AdsInvalidResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsInvalidResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 // NewAdsInvalidResponse factory function for AdsInvalidResponse
 func NewAdsInvalidResponse() *AdsData {
 	child := &AdsInvalidResponse{
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
index e18713e..42bf0f9 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
@@ -51,6 +51,8 @@ type IAdsMultiRequestItemParent interface {
 type IAdsMultiRequestItemChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *AdsMultiRequestItem)
+	GetParent() *AdsMultiRequestItem
+
 	GetTypeName() string
 	IAdsMultiRequestItem
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
index 8af3f52..bc0af4e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -66,6 +66,10 @@ func (m *AdsMultiRequestItemRead) GetIndexGroup() uint32 {
 
 func (m *AdsMultiRequestItemRead) InitializeParent(parent *AdsMultiRequestItem) {}
 
+func (m *AdsMultiRequestItemRead) GetParent() *AdsMultiRequestItem {
+	return m.AdsMultiRequestItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index 435ecf4..818affe 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -69,6 +69,10 @@ func (m *AdsMultiRequestItemReadWrite) GetIndexGroup() uint32 {
 
 func (m *AdsMultiRequestItemReadWrite) InitializeParent(parent *AdsMultiRequestItem) {}
 
+func (m *AdsMultiRequestItemReadWrite) GetParent() *AdsMultiRequestItem {
+	return m.AdsMultiRequestItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
index 9e36d45..8e797d3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -66,6 +66,10 @@ func (m *AdsMultiRequestItemWrite) GetIndexGroup() uint32 {
 
 func (m *AdsMultiRequestItemWrite) InitializeParent(parent *AdsMultiRequestItem) {}
 
+func (m *AdsMultiRequestItemWrite) GetParent() *AdsMultiRequestItem {
+	return m.AdsMultiRequestItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index ca6456a..e4e65d5 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -60,6 +60,10 @@ func (m *AdsReadDeviceInfoRequest) GetResponse() bool {
 
 func (m *AdsReadDeviceInfoRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadDeviceInfoRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 // NewAdsReadDeviceInfoRequest factory function for AdsReadDeviceInfoRequest
 func NewAdsReadDeviceInfoRequest() *AdsData {
 	child := &AdsReadDeviceInfoRequest{
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 11605cb..dcbed4a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -76,6 +76,10 @@ func (m *AdsReadDeviceInfoResponse) GetResponse() bool {
 
 func (m *AdsReadDeviceInfoResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadDeviceInfoResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
index 21a9b80..c65cdb5 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
@@ -70,6 +70,10 @@ func (m *AdsReadRequest) GetResponse() bool {
 
 func (m *AdsReadRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index d588262..1d06217 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -67,6 +67,10 @@ func (m *AdsReadResponse) GetResponse() bool {
 
 func (m *AdsReadResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
index 46ba99d..40e8c7c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
@@ -60,6 +60,10 @@ func (m *AdsReadStateRequest) GetResponse() bool {
 
 func (m *AdsReadStateRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadStateRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 // NewAdsReadStateRequest factory function for AdsReadStateRequest
 func NewAdsReadStateRequest() *AdsData {
 	child := &AdsReadStateRequest{
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
index 4d4d938..0bc830d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
@@ -70,6 +70,10 @@ func (m *AdsReadStateResponse) GetResponse() bool {
 
 func (m *AdsReadStateResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadStateResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index f3b5dce..f8b9d84 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -76,6 +76,10 @@ func (m *AdsReadWriteRequest) GetResponse() bool {
 
 func (m *AdsReadWriteRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadWriteRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index 9622a7c..fcfc89f 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -67,6 +67,10 @@ func (m *AdsReadWriteResponse) GetResponse() bool {
 
 func (m *AdsReadWriteResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsReadWriteResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index 3b725fc..3b6ce44 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -70,6 +70,10 @@ func (m *AdsWriteControlRequest) GetResponse() bool {
 
 func (m *AdsWriteControlRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsWriteControlRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
index 8a14a9e..cf8d0fa 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
@@ -64,6 +64,10 @@ func (m *AdsWriteControlResponse) GetResponse() bool {
 
 func (m *AdsWriteControlResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsWriteControlResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index 749e798..076dbf2 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -70,6 +70,10 @@ func (m *AdsWriteRequest) GetResponse() bool {
 
 func (m *AdsWriteRequest) InitializeParent(parent *AdsData) {}
 
+func (m *AdsWriteRequest) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
index c9ffe4b..8e17f2d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
@@ -64,6 +64,10 @@ func (m *AdsWriteResponse) GetResponse() bool {
 
 func (m *AdsWriteResponse) InitializeParent(parent *AdsData) {}
 
+func (m *AdsWriteResponse) GetParent() *AdsData {
+	return m.AdsData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
index cc22a46..9bd48d1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
@@ -54,6 +54,8 @@ type IAPDUParent interface {
 type IAPDUChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *APDU)
+	GetParent() *APDU
+
 	GetTypeName() string
 	IAPDU
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
index 6fb3b7e..debd982 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
@@ -70,6 +70,10 @@ func (m *APDUAbort) GetApduType() uint8 {
 
 func (m *APDUAbort) InitializeParent(parent *APDU) {}
 
+func (m *APDUAbort) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
index 0c1d898..082e9c5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
@@ -86,6 +86,10 @@ func (m *APDUComplexAck) GetApduType() uint8 {
 
 func (m *APDUComplexAck) InitializeParent(parent *APDU) {}
 
+func (m *APDUComplexAck) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
index e430dbe..6355bbf 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
@@ -88,6 +88,10 @@ func (m *APDUConfirmedRequest) GetApduType() uint8 {
 
 func (m *APDUConfirmedRequest) InitializeParent(parent *APDU) {}
 
+func (m *APDUConfirmedRequest) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
index f3dedf5..75fc772 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
@@ -67,6 +67,10 @@ func (m *APDUError) GetApduType() uint8 {
 
 func (m *APDUError) InitializeParent(parent *APDU) {}
 
+func (m *APDUError) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
index 8b60888..9468065 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
@@ -67,6 +67,10 @@ func (m *APDUReject) GetApduType() uint8 {
 
 func (m *APDUReject) InitializeParent(parent *APDU) {}
 
+func (m *APDUReject) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
index 2c810b5..2f11c70 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
@@ -76,6 +76,10 @@ func (m *APDUSegmentAck) GetApduType() uint8 {
 
 func (m *APDUSegmentAck) InitializeParent(parent *APDU) {}
 
+func (m *APDUSegmentAck) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
index 7117b65..9bbd56c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
@@ -67,6 +67,10 @@ func (m *APDUSimpleAck) GetApduType() uint8 {
 
 func (m *APDUSimpleAck) InitializeParent(parent *APDU) {}
 
+func (m *APDUSimpleAck) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
index 01a4498..cb4e4be 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
@@ -64,6 +64,10 @@ func (m *APDUUnconfirmedRequest) GetApduType() uint8 {
 
 func (m *APDUUnconfirmedRequest) InitializeParent(parent *APDU) {}
 
+func (m *APDUUnconfirmedRequest) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnknown.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnknown.go
index 6e14475..3cfeb44 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnknown.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnknown.go
@@ -63,6 +63,10 @@ func (m *APDUUnknown) GetApduType() uint8 {
 
 func (m *APDUUnknown) InitializeParent(parent *APDU) {}
 
+func (m *APDUUnknown) GetParent() *APDU {
+	return m.APDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTag.go
index 05a9e45..8d85a35 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTag.go
@@ -56,6 +56,8 @@ type IBACnetApplicationTagParent interface {
 type IBACnetApplicationTagChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetApplicationTag, header *BACnetTagHeader)
+	GetParent() *BACnetApplicationTag
+
 	GetTypeName() string
 	IBACnetApplicationTag
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBitString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
index 64b47cd..6aedec6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
@@ -58,6 +58,10 @@ func (m *BACnetApplicationTagBitString) InitializeParent(parent *BACnetApplicati
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagBitString) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
index 5d090cc..ebe42ca 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagBoolean) InitializeParent(parent *BACnetApplication
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagBoolean) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
index 22b7407..14e6006 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagCharacterString) InitializeParent(parent *BACnetApp
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagCharacterString) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDate.go
index 7426939..17f4181 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDate.go
@@ -58,6 +58,10 @@ func (m *BACnetApplicationTagDate) InitializeParent(parent *BACnetApplicationTag
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagDate) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDouble.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
index 86267be..df2c008 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagDouble) InitializeParent(parent *BACnetApplicationT
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagDouble) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
index 62b3ebc..a78c4e1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagEnumerated) InitializeParent(parent *BACnetApplicat
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagEnumerated) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagNull.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagNull.go
index f239fea..e56ce47 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagNull.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagNull.go
@@ -54,6 +54,10 @@ func (m *BACnetApplicationTagNull) InitializeParent(parent *BACnetApplicationTag
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagNull) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 // NewBACnetApplicationTagNull factory function for BACnetApplicationTagNull
 func NewBACnetApplicationTagNull(header *BACnetTagHeader) *BACnetApplicationTag {
 	child := &BACnetApplicationTagNull{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
index f6f088b..a04f972 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
@@ -62,6 +62,10 @@ func (m *BACnetApplicationTagObjectIdentifier) InitializeParent(parent *BACnetAp
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagObjectIdentifier) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
index d450b82..f4c4bcb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagOctetString) InitializeParent(parent *BACnetApplica
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagOctetString) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagReal.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagReal.go
index 8941974..defa7bd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagReal.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagReal.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagReal) InitializeParent(parent *BACnetApplicationTag
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagReal) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
index c2678fe..48fc872 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagSignedInteger) InitializeParent(parent *BACnetAppli
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagSignedInteger) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagTime.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagTime.go
index f75c5d4..8ff92bb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagTime.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagTime.go
@@ -58,6 +58,10 @@ func (m *BACnetApplicationTagTime) InitializeParent(parent *BACnetApplicationTag
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagTime) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
index 14db98c..fd9e26a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
@@ -60,6 +60,10 @@ func (m *BACnetApplicationTagUnsignedInteger) InitializeParent(parent *BACnetApp
 	m.BACnetApplicationTag.Header = header
 }
 
+func (m *BACnetApplicationTagUnsignedInteger) GetParent() *BACnetApplicationTag {
+	return m.BACnetApplicationTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetClosingTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetClosingTag.go
index cde1f7a..9c292ca 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetClosingTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetClosingTag.go
@@ -62,6 +62,10 @@ func (m *BACnetClosingTag) InitializeParent(parent *BACnetContextTag, header *BA
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetClosingTag) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 // NewBACnetClosingTag factory function for BACnetClosingTag
 func NewBACnetClosingTag(header *BACnetTagHeader, tagNumberArgument uint8, actualLength uint32) *BACnetContextTag {
 	child := &BACnetClosingTag{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
index 00d922a..6aafec3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
@@ -51,6 +51,8 @@ type IBACnetConfirmedServiceACKParent interface {
 type IBACnetConfirmedServiceACKChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetConfirmedServiceACK)
+	GetParent() *BACnetConfirmedServiceACK
+
 	GetTypeName() string
 	IBACnetConfirmedServiceACK
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
index be43c09..5b6a90c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKAtomicReadFile) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceACKAtomicReadFile) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKAtomicReadFile) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKAtomicReadFile factory function for BACnetConfirmedServiceACKAtomicReadFile
 func NewBACnetConfirmedServiceACKAtomicReadFile() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKAtomicReadFile{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
index e6a3843..531e828 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceACKAtomicWriteFile) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKAtomicWriteFile factory function for BACnetConfirmedServiceACKAtomicWriteFile
 func NewBACnetConfirmedServiceACKAtomicWriteFile() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKAtomicWriteFile{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
index a97d2e6..c801017 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetServiceChoice() u
 func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKConfirmedPrivateTransfer factory function for BACnetConfirmedServiceACKConfirmedPrivateTransfer
 func NewBACnetConfirmedServiceACKConfirmedPrivateTransfer() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKConfirmedPrivateTransfer{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
index afaa035..97b2e3f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceACKCreateObject) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceACKCreateObject) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceACKCreateObject) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKCreateObject factory function for BACnetConfirmedServiceACKCreateObject
 func NewBACnetConfirmedServiceACKCreateObject() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKCreateObject{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
index a60cd39..51cb765 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceACKGetAlarmSummary) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKGetAlarmSummary factory function for BACnetConfirmedServiceACKGetAlarmSummary
 func NewBACnetConfirmedServiceACKGetAlarmSummary() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKGetAlarmSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
index 176b055..33da403 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKGetEnrollmentSummary factory function for BACnetConfirmedServiceACKGetEnrollmentSummary
 func NewBACnetConfirmedServiceACKGetEnrollmentSummary() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKGetEnrollmentSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
index 63e0c5e..5ff2fee 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKGetEventInformation) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceACKGetEventInformation) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKGetEventInformation) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKGetEventInformation factory function for BACnetConfirmedServiceACKGetEventInformation
 func NewBACnetConfirmedServiceACKGetEventInformation() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKGetEventInformation{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
index 9e46197..bc2e749 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceACKReadProperty) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceACKReadProperty) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceACKReadProperty) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKReadProperty factory function for BACnetConfirmedServiceACKReadProperty
 func NewBACnetConfirmedServiceACKReadProperty() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKReadProperty{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
index ef0f84b..31bc85e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceACKReadPropertyMultiple) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKReadPropertyMultiple factory function for BACnetConfirmedServiceACKReadPropertyMultiple
 func NewBACnetConfirmedServiceACKReadPropertyMultiple() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKReadPropertyMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
index 21a1966..75d0e6a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceACKReadRange) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceACKReadRange) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceACKReadRange) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKReadRange factory function for BACnetConfirmedServiceACKReadRange
 func NewBACnetConfirmedServiceACKReadRange() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKReadRange{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
index 24df3a1..afb39c1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceACKRemovedAuthenticate) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKRemovedAuthenticate factory function for BACnetConfirmedServiceACKRemovedAuthenticate
 func NewBACnetConfirmedServiceACKRemovedAuthenticate() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKRemovedAuthenticate{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
index 5a7340f..5d0ced8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
@@ -57,6 +57,10 @@ func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) GetServiceChoi
 func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) InitializeParent(parent *BACnetConfirmedServiceACK) {
 }
 
+func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKRemovedReadPropertyConditional factory function for BACnetConfirmedServiceACKRemovedReadPropertyConditional
 func NewBACnetConfirmedServiceACKRemovedReadPropertyConditional() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKRemovedReadPropertyConditional{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
index 009d544..82ce8b9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceACKVTData) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceACKVTData) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceACKVTData) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKVTData factory function for BACnetConfirmedServiceACKVTData
 func NewBACnetConfirmedServiceACKVTData() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKVTData{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
index 0fa583b..9547448 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceACKVTOpen) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceACKVTOpen) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceACKVTOpen) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceACKVTOpen factory function for BACnetConfirmedServiceACKVTOpen
 func NewBACnetConfirmedServiceACKVTOpen() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceACKVTOpen{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
index 233d4b0..6e684fe 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
@@ -56,6 +56,10 @@ func (m *BACnetConfirmedServiceAddListElement) GetServiceChoice() uint8 {
 
 func (m *BACnetConfirmedServiceAddListElement) InitializeParent(parent *BACnetConfirmedServiceACK) {}
 
+func (m *BACnetConfirmedServiceAddListElement) GetParent() *BACnetConfirmedServiceACK {
+	return m.BACnetConfirmedServiceACK
+}
+
 // NewBACnetConfirmedServiceAddListElement factory function for BACnetConfirmedServiceAddListElement
 func NewBACnetConfirmedServiceAddListElement() *BACnetConfirmedServiceACK {
 	child := &BACnetConfirmedServiceAddListElement{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
index e156cf6..22848d3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
@@ -54,6 +54,8 @@ type IBACnetConfirmedServiceRequestParent interface {
 type IBACnetConfirmedServiceRequestChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetConfirmedServiceRequest)
+	GetParent() *BACnetConfirmedServiceRequest
+
 	GetTypeName() string
 	IBACnetConfirmedServiceRequest
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
index 32f0514..77f4e66 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestAcknowledgeAlarm factory function for BACnetConfirmedServiceRequestAcknowledgeAlarm
 func NewBACnetConfirmedServiceRequestAcknowledgeAlarm(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestAcknowledgeAlarm{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
index ecc573e..43eb477 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestAddListElement) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestAddListElement) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestAddListElement) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestAddListElement factory function for BACnetConfirmedServiceRequestAddListElement
 func NewBACnetConfirmedServiceRequestAddListElement(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestAddListElement{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
index 13be941..b0d018a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
@@ -67,6 +67,10 @@ func (m *BACnetConfirmedServiceRequestAtomicReadFile) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestAtomicReadFile) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestAtomicReadFile) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileRecord.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileRecord.go
index 7983681..e2b6aa8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileRecord.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileRecord.go
@@ -63,6 +63,10 @@ func (m *BACnetConfirmedServiceRequestAtomicReadFileRecord) InitializeParent(par
 	m.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.ClosingTag = closingTag
 }
 
+func (m *BACnetConfirmedServiceRequestAtomicReadFileRecord) GetParent() *BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord {
+	return m.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStream.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStream.go
index 4bb30b9..dd0edef 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStream.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStream.go
@@ -63,6 +63,10 @@ func (m *BACnetConfirmedServiceRequestAtomicReadFileStream) InitializeParent(par
 	m.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.ClosingTag = closingTag
 }
 
+func (m *BACnetConfirmedServiceRequestAtomicReadFileStream) GetParent() *BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord {
+	return m.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
index 8722795..ee7a37e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
@@ -60,6 +60,8 @@ type IBACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParent interface
 type IBACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord, peekedTagHeader *BACnetTagHeader, openingTag *BACnetOpeningTag, closingTag *BACnetClosingTag)
+	GetParent() *BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord
+
 	GetTypeName() string
 	IBACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
index 3faadc9..2f42e60 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
@@ -77,6 +77,10 @@ func (m *BACnetConfirmedServiceRequestAtomicWriteFile) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceRequestAtomicWriteFile) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestAtomicWriteFile) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
index 34b33c0..2487623 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
@@ -76,6 +76,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedCOVNotification) GetServiceChoice
 func (m *BACnetConfirmedServiceRequestConfirmedCOVNotification) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedCOVNotification) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
index 9873bea..d4b859c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple) GetServi
 func (m *BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple factory function for BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple
 func NewBACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
index c4c6e1a..5468072 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
@@ -101,6 +101,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedEventNotification) GetServiceChoi
 func (m *BACnetConfirmedServiceRequestConfirmedEventNotification) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedEventNotification) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
index 6309f76..b7925d3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedPrivateTransfer) GetServiceChoice
 func (m *BACnetConfirmedServiceRequestConfirmedPrivateTransfer) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedPrivateTransfer) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestConfirmedPrivateTransfer factory function for BACnetConfirmedServiceRequestConfirmedPrivateTransfer
 func NewBACnetConfirmedServiceRequestConfirmedPrivateTransfer(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestConfirmedPrivateTransfer{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
index e10f948..fe31990 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedTextMessage) GetServiceChoice() u
 func (m *BACnetConfirmedServiceRequestConfirmedTextMessage) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedTextMessage) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestConfirmedTextMessage factory function for BACnetConfirmedServiceRequestConfirmedTextMessage
 func NewBACnetConfirmedServiceRequestConfirmedTextMessage(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestConfirmedTextMessage{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedUnknown.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedUnknown.go
index 446be72..47e76a9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedUnknown.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedUnknown.go
@@ -64,6 +64,10 @@ func (m *BACnetConfirmedServiceRequestConfirmedUnknown) GetServiceChoice() uint8
 func (m *BACnetConfirmedServiceRequestConfirmedUnknown) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestConfirmedUnknown) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
index 9c58bb0..6c5b3f9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestCreateObject) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestCreateObject) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestCreateObject) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestCreateObject factory function for BACnetConfirmedServiceRequestCreateObject
 func NewBACnetConfirmedServiceRequestCreateObject(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestCreateObject{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
index 302f284..488070c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestDeleteObject) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestDeleteObject) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestDeleteObject) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestDeleteObject factory function for BACnetConfirmedServiceRequestDeleteObject
 func NewBACnetConfirmedServiceRequestDeleteObject(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestDeleteObject{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
index dce67d88..4008ce7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
@@ -71,6 +71,10 @@ func (m *BACnetConfirmedServiceRequestDeviceCommunicationControl) GetServiceChoi
 func (m *BACnetConfirmedServiceRequestDeviceCommunicationControl) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestDeviceCommunicationControl) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
index f6d7a4d..03c47ab 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestGetEnrollmentSummary) GetServiceChoice() u
 func (m *BACnetConfirmedServiceRequestGetEnrollmentSummary) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestGetEnrollmentSummary) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestGetEnrollmentSummary factory function for BACnetConfirmedServiceRequestGetEnrollmentSummary
 func NewBACnetConfirmedServiceRequestGetEnrollmentSummary(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestGetEnrollmentSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
index dd3e919..084a215 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestGetEventInformation) GetServiceChoice() ui
 func (m *BACnetConfirmedServiceRequestGetEventInformation) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestGetEventInformation) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestGetEventInformation factory function for BACnetConfirmedServiceRequestGetEventInformation
 func NewBACnetConfirmedServiceRequestGetEventInformation(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestGetEventInformation{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
index b7fd1dc..82804f3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestLifeSafetyOperation) GetServiceChoice() ui
 func (m *BACnetConfirmedServiceRequestLifeSafetyOperation) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestLifeSafetyOperation) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestLifeSafetyOperation factory function for BACnetConfirmedServiceRequestLifeSafetyOperation
 func NewBACnetConfirmedServiceRequestLifeSafetyOperation(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestLifeSafetyOperation{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
index d782161..f377028 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
@@ -71,6 +71,10 @@ func (m *BACnetConfirmedServiceRequestReadProperty) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestReadProperty) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestReadProperty) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
index d09bc4b..c44d583 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
@@ -64,6 +64,10 @@ func (m *BACnetConfirmedServiceRequestReadPropertyMultiple) GetServiceChoice() u
 func (m *BACnetConfirmedServiceRequestReadPropertyMultiple) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestReadPropertyMultiple) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
index 164e378..c637166 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestReadRange) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestReadRange) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestReadRange) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestReadRange factory function for BACnetConfirmedServiceRequestReadRange
 func NewBACnetConfirmedServiceRequestReadRange(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestReadRange{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
index 8883b31..62f6e78 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
@@ -68,6 +68,10 @@ func (m *BACnetConfirmedServiceRequestReinitializeDevice) GetServiceChoice() uin
 func (m *BACnetConfirmedServiceRequestReinitializeDevice) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestReinitializeDevice) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
index a03bf28..0f97798 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestRemoveListElement) GetServiceChoice() uint
 func (m *BACnetConfirmedServiceRequestRemoveListElement) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestRemoveListElement) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestRemoveListElement factory function for BACnetConfirmedServiceRequestRemoveListElement
 func NewBACnetConfirmedServiceRequestRemoveListElement(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestRemoveListElement{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
index 579a5b8..9209e9c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestRemovedAuthenticate) GetServiceChoice() ui
 func (m *BACnetConfirmedServiceRequestRemovedAuthenticate) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestRemovedAuthenticate) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestRemovedAuthenticate factory function for BACnetConfirmedServiceRequestRemovedAuthenticate
 func NewBACnetConfirmedServiceRequestRemovedAuthenticate(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestRemovedAuthenticate{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
index 7a44f5e..17e5248 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestRemovedReadPropertyConditional) GetService
 func (m *BACnetConfirmedServiceRequestRemovedReadPropertyConditional) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestRemovedReadPropertyConditional) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestRemovedReadPropertyConditional factory function for BACnetConfirmedServiceRequestRemovedReadPropertyConditional
 func NewBACnetConfirmedServiceRequestRemovedReadPropertyConditional(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestRemovedReadPropertyConditional{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
index f500188..1f6d089 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestRemovedRequestKey) GetServiceChoice() uint
 func (m *BACnetConfirmedServiceRequestRemovedRequestKey) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestRemovedRequestKey) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestRemovedRequestKey factory function for BACnetConfirmedServiceRequestRemovedRequestKey
 func NewBACnetConfirmedServiceRequestRemovedRequestKey(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestRemovedRequestKey{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
index 61e5ad3..9cd9b70 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
@@ -73,6 +73,10 @@ func (m *BACnetConfirmedServiceRequestSubscribeCOV) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestSubscribeCOV) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestSubscribeCOV) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
index 16794e8..200b86a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestSubscribeCOVProperty) GetServiceChoice() u
 func (m *BACnetConfirmedServiceRequestSubscribeCOVProperty) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestSubscribeCOVProperty) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestSubscribeCOVProperty factory function for BACnetConfirmedServiceRequestSubscribeCOVProperty
 func NewBACnetConfirmedServiceRequestSubscribeCOVProperty(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestSubscribeCOVProperty{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
index 26c1542..f4c049c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple) GetServiceCh
 func (m *BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple factory function for BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple
 func NewBACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
index e36e4cd..1a75339 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestVTClose) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestVTClose) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestVTClose) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestVTClose factory function for BACnetConfirmedServiceRequestVTClose
 func NewBACnetConfirmedServiceRequestVTClose(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestVTClose{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
index 0e41df8..1a893a7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestVTData) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestVTData) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestVTData) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestVTData factory function for BACnetConfirmedServiceRequestVTData
 func NewBACnetConfirmedServiceRequestVTData(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestVTData{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
index 9cbbdc9..6ec568d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestVTOpen) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestVTOpen) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestVTOpen) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestVTOpen factory function for BACnetConfirmedServiceRequestVTOpen
 func NewBACnetConfirmedServiceRequestVTOpen(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestVTOpen{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
index 1f6d074..97124dc 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
@@ -77,6 +77,10 @@ func (m *BACnetConfirmedServiceRequestWriteProperty) GetServiceChoice() uint8 {
 func (m *BACnetConfirmedServiceRequestWriteProperty) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestWriteProperty) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
index 03cf6e7..f1312e7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
@@ -60,6 +60,10 @@ func (m *BACnetConfirmedServiceRequestWritePropertyMultiple) GetServiceChoice()
 func (m *BACnetConfirmedServiceRequestWritePropertyMultiple) InitializeParent(parent *BACnetConfirmedServiceRequest) {
 }
 
+func (m *BACnetConfirmedServiceRequestWritePropertyMultiple) GetParent() *BACnetConfirmedServiceRequest {
+	return m.BACnetConfirmedServiceRequest
+}
+
 // NewBACnetConfirmedServiceRequestWritePropertyMultiple factory function for BACnetConfirmedServiceRequestWritePropertyMultiple
 func NewBACnetConfirmedServiceRequestWritePropertyMultiple(len uint16) *BACnetConfirmedServiceRequest {
 	child := &BACnetConfirmedServiceRequestWritePropertyMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedData.go
index 857248b..34166d5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedData.go
@@ -63,6 +63,8 @@ type IBACnetConstructedDataParent interface {
 type IBACnetConstructedDataChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetConstructedData, openingTag *BACnetOpeningTag, closingTag *BACnetClosingTag)
+	GetParent() *BACnetConstructedData
+
 	GetTypeName() string
 	IBACnetConstructedData
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataCommand.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataCommand.go
index e991d39..7b5d75e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataCommand.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataCommand.go
@@ -73,6 +73,10 @@ func (m *BACnetConstructedDataCommand) InitializeParent(parent *BACnetConstructe
 	m.BACnetConstructedData.ClosingTag = closingTag
 }
 
+func (m *BACnetConstructedDataCommand) GetParent() *BACnetConstructedData {
+	return m.BACnetConstructedData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataEventTimestamps.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataEventTimestamps.go
index bc38c63..c0e874e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataEventTimestamps.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataEventTimestamps.go
@@ -73,6 +73,10 @@ func (m *BACnetConstructedDataEventTimestamps) InitializeParent(parent *BACnetCo
 	m.BACnetConstructedData.ClosingTag = closingTag
 }
 
+func (m *BACnetConstructedDataEventTimestamps) GetParent() *BACnetConstructedData {
+	return m.BACnetConstructedData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataLifeSafetyZone.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataLifeSafetyZone.go
index 2d03121..199a327 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataLifeSafetyZone.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataLifeSafetyZone.go
@@ -67,6 +67,10 @@ func (m *BACnetConstructedDataLifeSafetyZone) InitializeParent(parent *BACnetCon
 	m.BACnetConstructedData.ClosingTag = closingTag
 }
 
+func (m *BACnetConstructedDataLifeSafetyZone) GetParent() *BACnetConstructedData {
+	return m.BACnetConstructedData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
index d1b4b00..31e49f0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
@@ -76,6 +76,10 @@ func (m *BACnetConstructedDataUnspecified) InitializeParent(parent *BACnetConstr
 	m.BACnetConstructedData.ClosingTag = closingTag
 }
 
+func (m *BACnetConstructedDataUnspecified) GetParent() *BACnetConstructedData {
+	return m.BACnetConstructedData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTag.go
index b695f6e..226f12f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTag.go
@@ -63,6 +63,8 @@ type IBACnetContextTagParent interface {
 type IBACnetContextTagChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetContextTag, header *BACnetTagHeader)
+	GetParent() *BACnetContextTag
+
 	GetTypeName() string
 	IBACnetContextTag
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBitString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBitString.go
index b344148..e9632be 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBitString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBitString.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagBitString) InitializeParent(parent *BACnetContextTag, h
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagBitString) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBoolean.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBoolean.go
index 668b78c..1786af6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBoolean.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagBoolean.go
@@ -71,6 +71,10 @@ func (m *BACnetContextTagBoolean) InitializeParent(parent *BACnetContextTag, hea
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagBoolean) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
index 5e4a9ee..34826a8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagCharacterString) InitializeParent(parent *BACnetContext
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagCharacterString) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDate.go
index 06ed5e7..79d9e2c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDate.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagDate) InitializeParent(parent *BACnetContextTag, header
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagDate) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDeviceState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDeviceState.go
index 4cbb496..3a7cd01 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDeviceState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDeviceState.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagDeviceState) InitializeParent(parent *BACnetContextTag,
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagDeviceState) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDouble.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDouble.go
index 8bb86da..ef0de2e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDouble.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagDouble.go
@@ -68,6 +68,10 @@ func (m *BACnetContextTagDouble) InitializeParent(parent *BACnetContextTag, head
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagDouble) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEmpty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEmpty.go
index 1c9a5b1..6eb78c8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEmpty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEmpty.go
@@ -61,6 +61,10 @@ func (m *BACnetContextTagEmpty) InitializeParent(parent *BACnetContextTag, heade
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagEmpty) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 // NewBACnetContextTagEmpty factory function for BACnetContextTagEmpty
 func NewBACnetContextTagEmpty(header *BACnetTagHeader, tagNumberArgument uint8) *BACnetContextTag {
 	child := &BACnetContextTagEmpty{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEnumerated.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEnumerated.go
index b8f0cd4..ed2d71c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEnumerated.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEnumerated.go
@@ -68,6 +68,10 @@ func (m *BACnetContextTagEnumerated) InitializeParent(parent *BACnetContextTag,
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagEnumerated) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventState.go
index 592ae06..8006fd5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventState.go
@@ -72,6 +72,10 @@ func (m *BACnetContextTagEventState) InitializeParent(parent *BACnetContextTag,
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagEventState) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventType.go
index b3b6610..d795d9a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagEventType.go
@@ -72,6 +72,10 @@ func (m *BACnetContextTagEventType) InitializeParent(parent *BACnetContextTag, h
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagEventType) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagNotifyType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagNotifyType.go
index 6db4a0e..bcd37e0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagNotifyType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagNotifyType.go
@@ -67,6 +67,10 @@ func (m *BACnetContextTagNotifyType) InitializeParent(parent *BACnetContextTag,
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagNotifyType) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagObjectIdentifier.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagObjectIdentifier.go
index f6e524a..baf5bff 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagObjectIdentifier.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagObjectIdentifier.go
@@ -70,6 +70,10 @@ func (m *BACnetContextTagObjectIdentifier) InitializeParent(parent *BACnetContex
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagObjectIdentifier) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
index 9c711ed..3c77ba1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagOctetString) InitializeParent(parent *BACnetContextTag,
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagOctetString) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagPropertyIdentifier.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagPropertyIdentifier.go
index da8571d..2ac13f8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagPropertyIdentifier.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagPropertyIdentifier.go
@@ -72,6 +72,10 @@ func (m *BACnetContextTagPropertyIdentifier) InitializeParent(parent *BACnetCont
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagPropertyIdentifier) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagReal.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagReal.go
index dfa1bdc..997367b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagReal.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagReal.go
@@ -68,6 +68,10 @@ func (m *BACnetContextTagReal) InitializeParent(parent *BACnetContextTag, header
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagReal) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
index 55c08d1..80a26c2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagSignedInteger.go
@@ -68,6 +68,10 @@ func (m *BACnetContextTagSignedInteger) InitializeParent(parent *BACnetContextTa
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagSignedInteger) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagTime.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagTime.go
index d858cfa..6e1a68c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagTime.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagTime.go
@@ -66,6 +66,10 @@ func (m *BACnetContextTagTime) InitializeParent(parent *BACnetContextTag, header
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagTime) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
index 2beca1c..90395d8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagUnsignedInteger.go
@@ -68,6 +68,10 @@ func (m *BACnetContextTagUnsignedInteger) InitializeParent(parent *BACnetContext
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetContextTagUnsignedInteger) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
index 8d44a74..6e9c870 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
@@ -57,6 +57,8 @@ type IBACnetErrorParent interface {
 type IBACnetErrorChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetError, errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated)
+	GetParent() *BACnetError
+
 	GetTypeName() string
 	IBACnetError
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAcknowledgeAlarm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAcknowledgeAlarm.go
index 90b938d..fddd4fa 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAcknowledgeAlarm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAcknowledgeAlarm.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorAcknowledgeAlarm) InitializeParent(parent *BACnetError, erro
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorAcknowledgeAlarm) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorAcknowledgeAlarm factory function for BACnetErrorAcknowledgeAlarm
 func NewBACnetErrorAcknowledgeAlarm(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorAcknowledgeAlarm{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
index f857602..64a26c7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorAtomicReadFile) InitializeParent(parent *BACnetError, errorC
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorAtomicReadFile) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorAtomicReadFile factory function for BACnetErrorAtomicReadFile
 func NewBACnetErrorAtomicReadFile(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorAtomicReadFile{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
index 200cc6e..c6ad8b9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorAtomicWriteFile) InitializeParent(parent *BACnetError, error
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorAtomicWriteFile) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorAtomicWriteFile factory function for BACnetErrorAtomicWriteFile
 func NewBACnetErrorAtomicWriteFile(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorAtomicWriteFile{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedEventNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedEventNotification.go
index f32b3e2..a664f97 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedEventNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedEventNotification.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorConfirmedEventNotification) InitializeParent(parent *BACnetE
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorConfirmedEventNotification) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorConfirmedEventNotification factory function for BACnetErrorConfirmedEventNotification
 func NewBACnetErrorConfirmedEventNotification(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorConfirmedEventNotification{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
index aeddc06..cd9c186 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorConfirmedPrivateTransfer) InitializeParent(parent *BACnetErr
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorConfirmedPrivateTransfer) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorConfirmedPrivateTransfer factory function for BACnetErrorConfirmedPrivateTransfer
 func NewBACnetErrorConfirmedPrivateTransfer(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorConfirmedPrivateTransfer{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
index 9d4066d..8635552 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorCreateObject) InitializeParent(parent *BACnetError, errorCla
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorCreateObject) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorCreateObject factory function for BACnetErrorCreateObject
 func NewBACnetErrorCreateObject(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorCreateObject{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorDeviceCommunicationProtocol.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorDeviceCommunicationProtocol.go
index b28a4e4..4315ea4 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorDeviceCommunicationProtocol.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorDeviceCommunicationProtocol.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorDeviceCommunicationProtocol) InitializeParent(parent *BACnet
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorDeviceCommunicationProtocol) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorDeviceCommunicationProtocol factory function for BACnetErrorDeviceCommunicationProtocol
 func NewBACnetErrorDeviceCommunicationProtocol(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorDeviceCommunicationProtocol{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
index 01cb762..cc44034 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorGetAlarmSummary) InitializeParent(parent *BACnetError, error
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorGetAlarmSummary) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorGetAlarmSummary factory function for BACnetErrorGetAlarmSummary
 func NewBACnetErrorGetAlarmSummary(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorGetAlarmSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
index 97f9841..b7e96a7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorGetEnrollmentSummary) InitializeParent(parent *BACnetError,
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorGetEnrollmentSummary) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorGetEnrollmentSummary factory function for BACnetErrorGetEnrollmentSummary
 func NewBACnetErrorGetEnrollmentSummary(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorGetEnrollmentSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
index 49f2cc0..8c85976 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorGetEventInformation) InitializeParent(parent *BACnetError, e
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorGetEventInformation) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorGetEventInformation factory function for BACnetErrorGetEventInformation
 func NewBACnetErrorGetEventInformation(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorGetEventInformation{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorPasswordFailure.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorPasswordFailure.go
index 57f1749..8be874b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorPasswordFailure.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorPasswordFailure.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorPasswordFailure) InitializeParent(parent *BACnetError, error
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorPasswordFailure) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorPasswordFailure factory function for BACnetErrorPasswordFailure
 func NewBACnetErrorPasswordFailure(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorPasswordFailure{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
index def4e8d..ab91e09 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorReadProperty) InitializeParent(parent *BACnetError, errorCla
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorReadProperty) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorReadProperty factory function for BACnetErrorReadProperty
 func NewBACnetErrorReadProperty(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorReadProperty{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
index c3cf463..4e10387 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorReadPropertyMultiple) InitializeParent(parent *BACnetError,
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorReadPropertyMultiple) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorReadPropertyMultiple factory function for BACnetErrorReadPropertyMultiple
 func NewBACnetErrorReadPropertyMultiple(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorReadPropertyMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
index 84073d4..99f31e9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorReadRange) InitializeParent(parent *BACnetError, errorClass
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorReadRange) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorReadRange factory function for BACnetErrorReadRange
 func NewBACnetErrorReadRange(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorReadRange{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
index 5086bba..07510e8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorRemovedAuthenticate) InitializeParent(parent *BACnetError, e
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorRemovedAuthenticate) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorRemovedAuthenticate factory function for BACnetErrorRemovedAuthenticate
 func NewBACnetErrorRemovedAuthenticate(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorRemovedAuthenticate{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
index b8ef372..4657a53 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorRemovedReadPropertyConditional) InitializeParent(parent *BAC
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorRemovedReadPropertyConditional) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorRemovedReadPropertyConditional factory function for BACnetErrorRemovedReadPropertyConditional
 func NewBACnetErrorRemovedReadPropertyConditional(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorRemovedReadPropertyConditional{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorUnknown.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorUnknown.go
index 24a188d..69de872 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorUnknown.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorUnknown.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorUnknown) InitializeParent(parent *BACnetError, errorClass *B
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorUnknown) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorUnknown factory function for BACnetErrorUnknown
 func NewBACnetErrorUnknown(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorUnknown{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
index 5fff22c..14893bd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorVTData) InitializeParent(parent *BACnetError, errorClass *BA
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorVTData) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorVTData factory function for BACnetErrorVTData
 func NewBACnetErrorVTData(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorVTData{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
index 2ec2d60..c74e15a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorVTOpen) InitializeParent(parent *BACnetError, errorClass *BA
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorVTOpen) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorVTOpen factory function for BACnetErrorVTOpen
 func NewBACnetErrorVTOpen(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorVTOpen{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorWriteProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorWriteProperty.go
index 8860665..5fe9432 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorWriteProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorWriteProperty.go
@@ -59,6 +59,10 @@ func (m *BACnetErrorWriteProperty) InitializeParent(parent *BACnetError, errorCl
 	m.BACnetError.ErrorCode = errorCode
 }
 
+func (m *BACnetErrorWriteProperty) GetParent() *BACnetError {
+	return m.BACnetError
+}
+
 // NewBACnetErrorWriteProperty factory function for BACnetErrorWriteProperty
 func NewBACnetErrorWriteProperty(errorClass *BACnetApplicationTagEnumerated, errorCode *BACnetApplicationTagEnumerated) *BACnetError {
 	child := &BACnetErrorWriteProperty{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParameters.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParameters.go
index a0f0c3a..205fc2f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParameters.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParameters.go
@@ -64,6 +64,8 @@ type IBACnetNotificationParametersParent interface {
 type IBACnetNotificationParametersChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetNotificationParameters, openingTag *BACnetOpeningTag, peekedTagHeader *BACnetTagHeader, closingTag *BACnetClosingTag)
+	GetParent() *BACnetNotificationParameters
+
 	GetTypeName() string
 	IBACnetNotificationParameters
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersBufferReady.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersBufferReady.go
index 300529c..40305fa 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersBufferReady.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersBufferReady.go
@@ -76,6 +76,10 @@ func (m *BACnetNotificationParametersBufferReady) InitializeParent(parent *BACne
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersBufferReady) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfBitString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfBitString.go
index 6e6b55a..3791c1a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfBitString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfBitString.go
@@ -73,6 +73,10 @@ func (m *BACnetNotificationParametersChangeOfBitString) InitializeParent(parent
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersChangeOfBitString) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfState.go
index 78f2fff..09734e1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfState.go
@@ -73,6 +73,10 @@ func (m *BACnetNotificationParametersChangeOfState) InitializeParent(parent *BAC
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersChangeOfState) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValue.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValue.go
index 7648571..3494d37 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValue.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValue.go
@@ -73,6 +73,10 @@ func (m *BACnetNotificationParametersChangeOfValue) InitializeParent(parent *BAC
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersChangeOfValue) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
index 5e7c793..2e1e5f0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
@@ -63,6 +63,8 @@ type IBACnetNotificationParametersChangeOfValueNewValueParent interface {
 type IBACnetNotificationParametersChangeOfValueNewValueChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetNotificationParametersChangeOfValueNewValue, openingTag *BACnetOpeningTag, peekedTagHeader *BACnetTagHeader, closingTag *BACnetClosingTag)
+	GetParent() *BACnetNotificationParametersChangeOfValueNewValue
+
 	GetTypeName() string
 	IBACnetNotificationParametersChangeOfValueNewValue
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedBits.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedBits.go
index 88d69c1..e790c91 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedBits.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedBits.go
@@ -63,6 +63,10 @@ func (m *BACnetNotificationParametersChangeOfValueNewValueChangedBits) Initializ
 	m.BACnetNotificationParametersChangeOfValueNewValue.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersChangeOfValueNewValueChangedBits) GetParent() *BACnetNotificationParametersChangeOfValueNewValue {
+	return m.BACnetNotificationParametersChangeOfValueNewValue
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedValue.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedValue.go
index 6f33ef7..81d501a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedValue.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValueChangedValue.go
@@ -63,6 +63,10 @@ func (m *BACnetNotificationParametersChangeOfValueNewValueChangedValue) Initiali
 	m.BACnetNotificationParametersChangeOfValueNewValue.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersChangeOfValueNewValueChangedValue) GetParent() *BACnetNotificationParametersChangeOfValueNewValue {
+	return m.BACnetNotificationParametersChangeOfValueNewValue
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersComplexEventType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersComplexEventType.go
index 3f8014e..dede42e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersComplexEventType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersComplexEventType.go
@@ -64,6 +64,10 @@ func (m *BACnetNotificationParametersComplexEventType) InitializeParent(parent *
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersComplexEventType) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersExtended.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersExtended.go
index cf392b2..e8f3ad2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersExtended.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersExtended.go
@@ -76,6 +76,10 @@ func (m *BACnetNotificationParametersExtended) InitializeParent(parent *BACnetNo
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersExtended) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersFloatingLimit.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersFloatingLimit.go
index 538d65b..3d24d21 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersFloatingLimit.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersFloatingLimit.go
@@ -79,6 +79,10 @@ func (m *BACnetNotificationParametersFloatingLimit) InitializeParent(parent *BAC
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersFloatingLimit) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersOutOfRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersOutOfRange.go
index 6972589..604046d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersOutOfRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersOutOfRange.go
@@ -79,6 +79,10 @@ func (m *BACnetNotificationParametersOutOfRange) InitializeParent(parent *BACnet
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersOutOfRange) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersUnsignedRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersUnsignedRange.go
index 3c7c82e..686b9b0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersUnsignedRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotificationParametersUnsignedRange.go
@@ -76,6 +76,10 @@ func (m *BACnetNotificationParametersUnsignedRange) InitializeParent(parent *BAC
 	m.BACnetNotificationParameters.ClosingTag = closingTag
 }
 
+func (m *BACnetNotificationParametersUnsignedRange) GetParent() *BACnetNotificationParameters {
+	return m.BACnetNotificationParameters
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetOpeningTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetOpeningTag.go
index 08e9d60..7e54710 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetOpeningTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetOpeningTag.go
@@ -62,6 +62,10 @@ func (m *BACnetOpeningTag) InitializeParent(parent *BACnetContextTag, header *BA
 	m.BACnetContextTag.Header = header
 }
 
+func (m *BACnetOpeningTag) GetParent() *BACnetContextTag {
+	return m.BACnetContextTag
+}
+
 // NewBACnetOpeningTag factory function for BACnetOpeningTag
 func NewBACnetOpeningTag(header *BACnetTagHeader, tagNumberArgument uint8, actualLength uint32) *BACnetContextTag {
 	child := &BACnetOpeningTag{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStates.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStates.go
index 14b16f1..a069a39 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStates.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStates.go
@@ -63,6 +63,8 @@ type IBACnetPropertyStatesParent interface {
 type IBACnetPropertyStatesChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetPropertyStates, openingTag *BACnetOpeningTag, peekedTagHeader *BACnetTagHeader, closingTag *BACnetClosingTag)
+	GetParent() *BACnetPropertyStates
+
 	GetTypeName() string
 	IBACnetPropertyStates
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesAction.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesAction.go
index d19dabb..aa29447 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesAction.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesAction.go
@@ -64,6 +64,10 @@ func (m *BACnetPropertyStatesAction) InitializeParent(parent *BACnetPropertyStat
 	m.BACnetPropertyStates.ClosingTag = closingTag
 }
 
+func (m *BACnetPropertyStatesAction) GetParent() *BACnetPropertyStates {
+	return m.BACnetPropertyStates
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBinaryValue.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBinaryValue.go
index 78d2aa7..01b14b6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBinaryValue.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBinaryValue.go
@@ -64,6 +64,10 @@ func (m *BACnetPropertyStatesBinaryValue) InitializeParent(parent *BACnetPropert
 	m.BACnetPropertyStates.ClosingTag = closingTag
 }
 
+func (m *BACnetPropertyStatesBinaryValue) GetParent() *BACnetPropertyStates {
+	return m.BACnetPropertyStates
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBoolean.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBoolean.go
index f2bb2fe..77ef396 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBoolean.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPropertyStatesBoolean.go
@@ -64,6 +64,10 @@ func (m *BACnetPropertyStatesBoolean) InitializeParent(parent *BACnetPropertySta
 	m.BACnetPropertyStates.ClosingTag = closingTag
 }
 
+func (m *BACnetPropertyStatesBoolean) GetParent() *BACnetPropertyStates {
+	return m.BACnetPropertyStates
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
index 0b5d26b..83b2cf6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
@@ -51,6 +51,8 @@ type IBACnetServiceAckParent interface {
 type IBACnetServiceAckChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetServiceAck)
+	GetParent() *BACnetServiceAck
+
 	GetTypeName() string
 	IBACnetServiceAck
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
index 7899e19..1241612 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
@@ -63,6 +63,10 @@ func (m *BACnetServiceAckAtomicReadFile) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckAtomicReadFile) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckAtomicReadFile) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileRecord.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileRecord.go
index c08d47a..7df443d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileRecord.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileRecord.go
@@ -66,6 +66,10 @@ func (m *BACnetServiceAckAtomicReadFileRecord) InitializeParent(parent *BACnetSe
 	m.BACnetServiceAckAtomicReadFileStreamOrRecord.ClosingTag = closingTag
 }
 
+func (m *BACnetServiceAckAtomicReadFileRecord) GetParent() *BACnetServiceAckAtomicReadFileStreamOrRecord {
+	return m.BACnetServiceAckAtomicReadFileStreamOrRecord
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStream.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStream.go
index 876bf93..412075a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStream.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStream.go
@@ -63,6 +63,10 @@ func (m *BACnetServiceAckAtomicReadFileStream) InitializeParent(parent *BACnetSe
 	m.BACnetServiceAckAtomicReadFileStreamOrRecord.ClosingTag = closingTag
 }
 
+func (m *BACnetServiceAckAtomicReadFileStream) GetParent() *BACnetServiceAckAtomicReadFileStreamOrRecord {
+	return m.BACnetServiceAckAtomicReadFileStreamOrRecord
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
index 4c69655..aeed489 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
@@ -60,6 +60,8 @@ type IBACnetServiceAckAtomicReadFileStreamOrRecordParent interface {
 type IBACnetServiceAckAtomicReadFileStreamOrRecordChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetServiceAckAtomicReadFileStreamOrRecord, peekedTagHeader *BACnetTagHeader, openingTag *BACnetOpeningTag, closingTag *BACnetClosingTag)
+	GetParent() *BACnetServiceAckAtomicReadFileStreamOrRecord
+
 	GetTypeName() string
 	IBACnetServiceAckAtomicReadFileStreamOrRecord
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
index 1d841f6..04ed4f0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
@@ -60,6 +60,10 @@ func (m *BACnetServiceAckAtomicWriteFile) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckAtomicWriteFile) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckAtomicWriteFile) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
index dddfa65..b6b79cc 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckConfirmedPrivateTransfer) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckConfirmedPrivateTransfer) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckConfirmedPrivateTransfer) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckConfirmedPrivateTransfer factory function for BACnetServiceAckConfirmedPrivateTransfer
 func NewBACnetServiceAckConfirmedPrivateTransfer() *BACnetServiceAck {
 	child := &BACnetServiceAckConfirmedPrivateTransfer{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
index e8d8c92..8f9f270 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckCreateObject) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckCreateObject) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckCreateObject) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckCreateObject factory function for BACnetServiceAckCreateObject
 func NewBACnetServiceAckCreateObject() *BACnetServiceAck {
 	child := &BACnetServiceAckCreateObject{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
index 0ed27fa..8a6cabd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckGetAlarmSummary) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckGetAlarmSummary) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckGetAlarmSummary) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckGetAlarmSummary factory function for BACnetServiceAckGetAlarmSummary
 func NewBACnetServiceAckGetAlarmSummary() *BACnetServiceAck {
 	child := &BACnetServiceAckGetAlarmSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
index 5cb9dbf..b167cb1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckGetEnrollmentSummary) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckGetEnrollmentSummary) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckGetEnrollmentSummary) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckGetEnrollmentSummary factory function for BACnetServiceAckGetEnrollmentSummary
 func NewBACnetServiceAckGetEnrollmentSummary() *BACnetServiceAck {
 	child := &BACnetServiceAckGetEnrollmentSummary{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
index 0a39ec5..95cca7a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckGetEventInformation) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckGetEventInformation) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckGetEventInformation) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckGetEventInformation factory function for BACnetServiceAckGetEventInformation
 func NewBACnetServiceAckGetEventInformation() *BACnetServiceAck {
 	child := &BACnetServiceAckGetEventInformation{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
index 6d07418..6c11ac7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
@@ -70,6 +70,10 @@ func (m *BACnetServiceAckReadProperty) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckReadProperty) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckReadProperty) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
index 9dbde95..529a7e4 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckReadPropertyMultiple) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckReadPropertyMultiple) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckReadPropertyMultiple) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckReadPropertyMultiple factory function for BACnetServiceAckReadPropertyMultiple
 func NewBACnetServiceAckReadPropertyMultiple() *BACnetServiceAck {
 	child := &BACnetServiceAckReadPropertyMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
index 8ec576a..9050f79 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckReadRange) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckReadRange) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckReadRange) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckReadRange factory function for BACnetServiceAckReadRange
 func NewBACnetServiceAckReadRange() *BACnetServiceAck {
 	child := &BACnetServiceAckReadRange{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
index 4ef5652..9b64304 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckRemovedAuthenticate) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckRemovedAuthenticate) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckRemovedAuthenticate) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckRemovedAuthenticate factory function for BACnetServiceAckRemovedAuthenticate
 func NewBACnetServiceAckRemovedAuthenticate() *BACnetServiceAck {
 	child := &BACnetServiceAckRemovedAuthenticate{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
index ba7b1f1..28e9039 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckRemovedReadPropertyConditional) GetServiceChoice() uint
 
 func (m *BACnetServiceAckRemovedReadPropertyConditional) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckRemovedReadPropertyConditional) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckRemovedReadPropertyConditional factory function for BACnetServiceAckRemovedReadPropertyConditional
 func NewBACnetServiceAckRemovedReadPropertyConditional() *BACnetServiceAck {
 	child := &BACnetServiceAckRemovedReadPropertyConditional{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
index d5f23d4..5680c1f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckVTData) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckVTData) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckVTData) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckVTData factory function for BACnetServiceAckVTData
 func NewBACnetServiceAckVTData() *BACnetServiceAck {
 	child := &BACnetServiceAckVTData{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
index 97d0a58..01c187c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
@@ -56,6 +56,10 @@ func (m *BACnetServiceAckVTOpen) GetServiceChoice() uint8 {
 
 func (m *BACnetServiceAckVTOpen) InitializeParent(parent *BACnetServiceAck) {}
 
+func (m *BACnetServiceAckVTOpen) GetParent() *BACnetServiceAck {
+	return m.BACnetServiceAck
+}
+
 // NewBACnetServiceAckVTOpen factory function for BACnetServiceAckVTOpen
 func NewBACnetServiceAckVTOpen() *BACnetServiceAck {
 	child := &BACnetServiceAckVTOpen{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStamp.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStamp.go
index 519d51e..f5309cb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStamp.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStamp.go
@@ -63,6 +63,8 @@ type IBACnetTimeStampParent interface {
 type IBACnetTimeStampChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetTimeStamp, openingTag *BACnetOpeningTag, peekedTagHeader *BACnetTagHeader, closingTag *BACnetClosingTag)
+	GetParent() *BACnetTimeStamp
+
 	GetTypeName() string
 	IBACnetTimeStamp
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampDateTime.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampDateTime.go
index ca97af4..86c7235 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampDateTime.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampDateTime.go
@@ -63,6 +63,10 @@ func (m *BACnetTimeStampDateTime) InitializeParent(parent *BACnetTimeStamp, open
 	m.BACnetTimeStamp.ClosingTag = closingTag
 }
 
+func (m *BACnetTimeStampDateTime) GetParent() *BACnetTimeStamp {
+	return m.BACnetTimeStamp
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampSequence.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampSequence.go
index 6bdcd3b..46f168e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampSequence.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampSequence.go
@@ -63,6 +63,10 @@ func (m *BACnetTimeStampSequence) InitializeParent(parent *BACnetTimeStamp, open
 	m.BACnetTimeStamp.ClosingTag = closingTag
 }
 
+func (m *BACnetTimeStampSequence) GetParent() *BACnetTimeStamp {
+	return m.BACnetTimeStamp
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampTime.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampTime.go
index 26472db..9b475aa 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampTime.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimeStampTime.go
@@ -63,6 +63,10 @@ func (m *BACnetTimeStampTime) InitializeParent(parent *BACnetTimeStamp, openingT
 	m.BACnetTimeStamp.ClosingTag = closingTag
 }
 
+func (m *BACnetTimeStampTime) GetParent() *BACnetTimeStamp {
+	return m.BACnetTimeStamp
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
index 09ef3b3..1717549 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
@@ -54,6 +54,8 @@ type IBACnetUnconfirmedServiceRequestParent interface {
 type IBACnetUnconfirmedServiceRequestChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BACnetUnconfirmedServiceRequest)
+	GetParent() *BACnetUnconfirmedServiceRequest
+
 	GetTypeName() string
 	IBACnetUnconfirmedServiceRequest
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
index d8d252f..9478a44 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
@@ -73,6 +73,10 @@ func (m *BACnetUnconfirmedServiceRequestIAm) GetServiceChoice() uint8 {
 func (m *BACnetUnconfirmedServiceRequestIAm) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestIAm) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
index 5115c07..8be1db8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
@@ -70,6 +70,10 @@ func (m *BACnetUnconfirmedServiceRequestIHave) GetServiceChoice() uint8 {
 func (m *BACnetUnconfirmedServiceRequestIHave) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestIHave) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
index 2c2f964..08a43f3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
@@ -67,6 +67,10 @@ func (m *BACnetUnconfirmedServiceRequestTimeSynchronization) GetServiceChoice()
 func (m *BACnetUnconfirmedServiceRequestTimeSynchronization) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestTimeSynchronization) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
index c773553..edbf4c6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
@@ -60,6 +60,10 @@ func (m *BACnetUnconfirmedServiceRequestUTCTimeSynchronization) GetServiceChoice
 func (m *BACnetUnconfirmedServiceRequestUTCTimeSynchronization) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUTCTimeSynchronization) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 // NewBACnetUnconfirmedServiceRequestUTCTimeSynchronization factory function for BACnetUnconfirmedServiceRequestUTCTimeSynchronization
 func NewBACnetUnconfirmedServiceRequestUTCTimeSynchronization(len uint16) *BACnetUnconfirmedServiceRequest {
 	child := &BACnetUnconfirmedServiceRequestUTCTimeSynchronization{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
index 15f7c20..049cebf 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
@@ -76,6 +76,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification) GetServiceCh
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
index f6949d2..9591bbb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
@@ -60,6 +60,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple) GetS
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 // NewBACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple factory function for BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple
 func NewBACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple(len uint16) *BACnetUnconfirmedServiceRequest {
 	child := &BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
index 137769a..6a9660b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
@@ -60,6 +60,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedEventNotification) GetService
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedEventNotification) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedEventNotification) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 // NewBACnetUnconfirmedServiceRequestUnconfirmedEventNotification factory function for BACnetUnconfirmedServiceRequestUnconfirmedEventNotification
 func NewBACnetUnconfirmedServiceRequestUnconfirmedEventNotification(len uint16) *BACnetUnconfirmedServiceRequest {
 	child := &BACnetUnconfirmedServiceRequestUnconfirmedEventNotification{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
index de84f85..07a7bd4 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
@@ -71,6 +71,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) GetServiceCh
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
index 2cf4210..2256fd3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
@@ -60,6 +60,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedTextMessage) GetServiceChoice
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedTextMessage) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedTextMessage) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 // NewBACnetUnconfirmedServiceRequestUnconfirmedTextMessage factory function for BACnetUnconfirmedServiceRequestUnconfirmedTextMessage
 func NewBACnetUnconfirmedServiceRequestUnconfirmedTextMessage(len uint16) *BACnetUnconfirmedServiceRequest {
 	child := &BACnetUnconfirmedServiceRequestUnconfirmedTextMessage{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedUnknown.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedUnknown.go
index f424b37..43a574f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedUnknown.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedUnknown.go
@@ -64,6 +64,10 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedUnknown) GetServiceChoice() u
 func (m *BACnetUnconfirmedServiceRequestUnconfirmedUnknown) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestUnconfirmedUnknown) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
index 0ef7041..58f75fa 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
@@ -74,6 +74,10 @@ func (m *BACnetUnconfirmedServiceRequestWhoHas) GetServiceChoice() uint8 {
 func (m *BACnetUnconfirmedServiceRequestWhoHas) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestWhoHas) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
index fc759a2..0fa54bf 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
@@ -68,6 +68,10 @@ func (m *BACnetUnconfirmedServiceRequestWhoIs) GetServiceChoice() uint8 {
 func (m *BACnetUnconfirmedServiceRequestWhoIs) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestWhoIs) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
index c91fa15..cdaa590 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
@@ -60,6 +60,10 @@ func (m *BACnetUnconfirmedServiceRequestWriteGroup) GetServiceChoice() uint8 {
 func (m *BACnetUnconfirmedServiceRequestWriteGroup) InitializeParent(parent *BACnetUnconfirmedServiceRequest) {
 }
 
+func (m *BACnetUnconfirmedServiceRequestWriteGroup) GetParent() *BACnetUnconfirmedServiceRequest {
+	return m.BACnetUnconfirmedServiceRequest
+}
+
 // NewBACnetUnconfirmedServiceRequestWriteGroup factory function for BACnetUnconfirmedServiceRequestWriteGroup
 func NewBACnetUnconfirmedServiceRequestWriteGroup(len uint16) *BACnetUnconfirmedServiceRequest {
 	child := &BACnetUnconfirmedServiceRequestWriteGroup{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
index c7cb753..9429336 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
@@ -57,6 +57,8 @@ type IBVLCParent interface {
 type IBVLCChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *BVLC)
+	GetParent() *BVLC
+
 	GetTypeName() string
 	IBVLC
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
index 9d921ca..074e3d2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
@@ -56,6 +56,10 @@ func (m *BVLCDeleteForeignDeviceTableEntry) GetBvlcFunction() uint8 {
 
 func (m *BVLCDeleteForeignDeviceTableEntry) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCDeleteForeignDeviceTableEntry) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCDeleteForeignDeviceTableEntry factory function for BVLCDeleteForeignDeviceTableEntry
 func NewBVLCDeleteForeignDeviceTableEntry() *BVLC {
 	child := &BVLCDeleteForeignDeviceTableEntry{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
index 5652f3c..3de6359 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
@@ -63,6 +63,10 @@ func (m *BVLCDistributeBroadcastToNetwork) GetBvlcFunction() uint8 {
 
 func (m *BVLCDistributeBroadcastToNetwork) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCDistributeBroadcastToNetwork) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
index b5a5460..2147f46 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
@@ -69,6 +69,10 @@ func (m *BVLCForwardedNPDU) GetBvlcFunction() uint8 {
 
 func (m *BVLCForwardedNPDU) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCForwardedNPDU) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
index 40c3e89..c985e94 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
@@ -63,6 +63,10 @@ func (m *BVLCOriginalBroadcastNPDU) GetBvlcFunction() uint8 {
 
 func (m *BVLCOriginalBroadcastNPDU) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCOriginalBroadcastNPDU) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
index 4a1c062..ac31ec5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
@@ -63,6 +63,10 @@ func (m *BVLCOriginalUnicastNPDU) GetBvlcFunction() uint8 {
 
 func (m *BVLCOriginalUnicastNPDU) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCOriginalUnicastNPDU) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
index f956d36..a5d6cb1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
@@ -56,6 +56,10 @@ func (m *BVLCReadBroadcastDistributionTable) GetBvlcFunction() uint8 {
 
 func (m *BVLCReadBroadcastDistributionTable) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCReadBroadcastDistributionTable) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCReadBroadcastDistributionTable factory function for BVLCReadBroadcastDistributionTable
 func NewBVLCReadBroadcastDistributionTable() *BVLC {
 	child := &BVLCReadBroadcastDistributionTable{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
index c303f90..cf2ea64 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
@@ -56,6 +56,10 @@ func (m *BVLCReadBroadcastDistributionTableAck) GetBvlcFunction() uint8 {
 
 func (m *BVLCReadBroadcastDistributionTableAck) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCReadBroadcastDistributionTableAck) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCReadBroadcastDistributionTableAck factory function for BVLCReadBroadcastDistributionTableAck
 func NewBVLCReadBroadcastDistributionTableAck() *BVLC {
 	child := &BVLCReadBroadcastDistributionTableAck{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
index 4bfde8a..f7b207c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
@@ -56,6 +56,10 @@ func (m *BVLCReadForeignDeviceTable) GetBvlcFunction() uint8 {
 
 func (m *BVLCReadForeignDeviceTable) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCReadForeignDeviceTable) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCReadForeignDeviceTable factory function for BVLCReadForeignDeviceTable
 func NewBVLCReadForeignDeviceTable() *BVLC {
 	child := &BVLCReadForeignDeviceTable{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
index ac47bfe..4d332f5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
@@ -56,6 +56,10 @@ func (m *BVLCReadForeignDeviceTableAck) GetBvlcFunction() uint8 {
 
 func (m *BVLCReadForeignDeviceTableAck) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCReadForeignDeviceTableAck) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCReadForeignDeviceTableAck factory function for BVLCReadForeignDeviceTableAck
 func NewBVLCReadForeignDeviceTableAck() *BVLC {
 	child := &BVLCReadForeignDeviceTableAck{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
index 6621079..394c18e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
@@ -60,6 +60,10 @@ func (m *BVLCRegisterForeignDevice) GetBvlcFunction() uint8 {
 
 func (m *BVLCRegisterForeignDevice) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCRegisterForeignDevice) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
index 1466467..25dd761 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
@@ -60,6 +60,10 @@ func (m *BVLCResult) GetBvlcFunction() uint8 {
 
 func (m *BVLCResult) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCResult) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
index 5fab121..de593af 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
@@ -56,6 +56,10 @@ func (m *BVLCSecureBVLL) GetBvlcFunction() uint8 {
 
 func (m *BVLCSecureBVLL) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCSecureBVLL) GetParent() *BVLC {
+	return m.BVLC
+}
+
 // NewBVLCSecureBVLL factory function for BVLCSecureBVLL
 func NewBVLCSecureBVLL() *BVLC {
 	child := &BVLCSecureBVLL{
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWriteBroadcastDistributionTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWriteBroadcastDistributionTable.go
index 39942b9..8f574ea 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWriteBroadcastDistributionTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWriteBroadcastDistributionTable.go
@@ -63,6 +63,10 @@ func (m *BVLCWriteBroadcastDistributionTable) GetBvlcFunction() uint8 {
 
 func (m *BVLCWriteBroadcastDistributionTable) InitializeParent(parent *BVLC) {}
 
+func (m *BVLCWriteBroadcastDistributionTable) GetParent() *BVLC {
+	return m.BVLC
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
index 37889b6..55a1a79 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
@@ -57,6 +57,8 @@ type INLMParent interface {
 type INLMChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *NLM, vendorId *uint16)
+	GetParent() *NLM
+
 	GetTypeName() string
 	INLM
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMDisconnectConnectionToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMDisconnectConnectionToNetwork.go
index f25bef7..771c9d0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMDisconnectConnectionToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMDisconnectConnectionToNetwork.go
@@ -65,6 +65,10 @@ func (m *NLMDisconnectConnectionToNetwork) InitializeParent(parent *NLM, vendorI
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMDisconnectConnectionToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMEstablishConnectionToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMEstablishConnectionToNetwork.go
index d7371fc..c606f83 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMEstablishConnectionToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMEstablishConnectionToNetwork.go
@@ -68,6 +68,10 @@ func (m *NLMEstablishConnectionToNetwork) InitializeParent(parent *NLM, vendorId
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMEstablishConnectionToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
index 8ddfe7e..1cbf8c6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
@@ -65,6 +65,10 @@ func (m *NLMIAmRouterToNetwork) InitializeParent(parent *NLM, vendorId *uint16)
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMIAmRouterToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMICouldBeRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMICouldBeRouterToNetwork.go
index 6acd246..eb49c73 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMICouldBeRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMICouldBeRouterToNetwork.go
@@ -68,6 +68,10 @@ func (m *NLMICouldBeRouterToNetwork) InitializeParent(parent *NLM, vendorId *uin
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMICouldBeRouterToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTable.go
index 9339304..371bca6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTable.go
@@ -68,6 +68,10 @@ func (m *NLMInitalizeRoutingTable) InitializeParent(parent *NLM, vendorId *uint1
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMInitalizeRoutingTable) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTableAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTableAck.go
index 8d01a38..843c37b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTableAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMInitalizeRoutingTableAck.go
@@ -68,6 +68,10 @@ func (m *NLMInitalizeRoutingTableAck) InitializeParent(parent *NLM, vendorId *ui
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMInitalizeRoutingTableAck) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRejectRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRejectRouterToNetwork.go
index 77d1f11..48d50d9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRejectRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRejectRouterToNetwork.go
@@ -68,6 +68,10 @@ func (m *NLMRejectRouterToNetwork) InitializeParent(parent *NLM, vendorId *uint1
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMRejectRouterToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterAvailableToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterAvailableToNetwork.go
index 152d13d..4e41ac0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterAvailableToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterAvailableToNetwork.go
@@ -65,6 +65,10 @@ func (m *NLMRouterAvailableToNetwork) InitializeParent(parent *NLM, vendorId *ui
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMRouterAvailableToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterBusyToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterBusyToNetwork.go
index af1673f..a078a17 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterBusyToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMRouterBusyToNetwork.go
@@ -65,6 +65,10 @@ func (m *NLMRouterBusyToNetwork) InitializeParent(parent *NLM, vendorId *uint16)
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMRouterBusyToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
index 3c3d969..deb02c2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
@@ -65,6 +65,10 @@ func (m *NLMWhoIsRouterToNetwork) InitializeParent(parent *NLM, vendorId *uint16
 	m.NLM.VendorId = vendorId
 }
 
+func (m *NLMWhoIsRouterToNetwork) GetParent() *NLM {
+	return m.NLM
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALData.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALData.go
index 7ae362a..e854e31 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALData.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALData.go
@@ -54,6 +54,8 @@ type ICALDataParent interface {
 type ICALDataChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CALData, commandTypeContainer CALCommandTypeContainer)
+	GetParent() *CALData
+
 	GetTypeName() string
 	ICALData
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyAcknowledge.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyAcknowledge.go
index 839b5f3..946f8af 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyAcknowledge.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyAcknowledge.go
@@ -61,6 +61,10 @@ func (m *CALDataReplyAcknowledge) InitializeParent(parent *CALData, commandTypeC
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataReplyAcknowledge) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyReply.go
index 21c1441..bd576d3 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyReply.go
@@ -61,6 +61,10 @@ func (m *CALDataReplyReply) InitializeParent(parent *CALData, commandTypeContain
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataReplyReply) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatus.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatus.go
index b32876f..11d55ee 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatus.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatus.go
@@ -64,6 +64,10 @@ func (m *CALDataReplyStatus) InitializeParent(parent *CALData, commandTypeContai
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataReplyStatus) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatusExtended.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatusExtended.go
index 509b728..4f0d69d 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatusExtended.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataReplyStatusExtended.go
@@ -67,6 +67,10 @@ func (m *CALDataReplyStatusExtended) InitializeParent(parent *CALData, commandTy
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataReplyStatusExtended) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestGetStatus.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestGetStatus.go
index c61a491..aa84c63 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestGetStatus.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestGetStatus.go
@@ -61,6 +61,10 @@ func (m *CALDataRequestGetStatus) InitializeParent(parent *CALData, commandTypeC
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataRequestGetStatus) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestIdentify.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestIdentify.go
index 44ad693..4bed6c5 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestIdentify.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestIdentify.go
@@ -58,6 +58,10 @@ func (m *CALDataRequestIdentify) InitializeParent(parent *CALData, commandTypeCo
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataRequestIdentify) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestRecall.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestRecall.go
index d167ee5..c2dcd34 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestRecall.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestRecall.go
@@ -61,6 +61,10 @@ func (m *CALDataRequestRecall) InitializeParent(parent *CALData, commandTypeCont
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataRequestRecall) GetParent() *CALData {
+	return m.CALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestReset.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestReset.go
index 6758b03..cb32693 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestReset.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALDataRequestReset.go
@@ -54,6 +54,10 @@ func (m *CALDataRequestReset) InitializeParent(parent *CALData, commandTypeConta
 	m.CALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *CALDataRequestReset) GetParent() *CALData {
+	return m.CALData
+}
+
 // NewCALDataRequestReset factory function for CALDataRequestReset
 func NewCALDataRequestReset(commandTypeContainer CALCommandTypeContainer) *CALData {
 	child := &CALDataRequestReset{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALReply.go
index d3f362c..ab9a7a8 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALReply.go
@@ -60,6 +60,8 @@ type ICALReplyParent interface {
 type ICALReplyChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CALReply, calType byte, calData *CALData)
+	GetParent() *CALReply
+
 	GetTypeName() string
 	ICALReply
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyLong.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyLong.go
index 9c8d203..ea777df 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyLong.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyLong.go
@@ -78,6 +78,10 @@ func (m *CALReplyLong) InitializeParent(parent *CALReply, calType byte, calData
 	m.CALReply.CalData = calData
 }
 
+func (m *CALReplyLong) GetParent() *CALReply {
+	return m.CALReply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyReply.go
index 2b79332..a02c27d 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyReply.go
@@ -58,6 +58,10 @@ func (m *CALReplyReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *CALReplyReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyShort.go b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyShort.go
index 03c61ca..8cba40c 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyShort.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CALReplyShort.go
@@ -55,6 +55,10 @@ func (m *CALReplyShort) InitializeParent(parent *CALReply, calType byte, calData
 	m.CALReply.CalData = calData
 }
 
+func (m *CALReplyShort) GetParent() *CALReply {
+	return m.CALReply
+}
+
 // NewCALReplyShort factory function for CALReplyShort
 func NewCALReplyShort(calType byte, calData *CALData) *CALReply {
 	child := &CALReplyShort{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommand.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommand.go
index 6e92a15..53a86bc 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommand.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommand.go
@@ -61,6 +61,8 @@ type ICBusCommandParent interface {
 type ICBusCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CBusCommand, header *CBusHeader)
+	GetParent() *CBusCommand
+
 	GetTypeName() string
 	ICBusCommand
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToMultiPoint.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToMultiPoint.go
index 70ebab8..5c42a88 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToMultiPoint.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToMultiPoint.go
@@ -61,6 +61,10 @@ func (m *CBusCommandPointToMultiPoint) InitializeParent(parent *CBusCommand, hea
 	m.CBusCommand.Header = header
 }
 
+func (m *CBusCommandPointToMultiPoint) GetParent() *CBusCommand {
+	return m.CBusCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPoint.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPoint.go
index d0fba66..a270aa7 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPoint.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPoint.go
@@ -61,6 +61,10 @@ func (m *CBusCommandPointToPoint) InitializeParent(parent *CBusCommand, header *
 	m.CBusCommand.Header = header
 }
 
+func (m *CBusCommandPointToPoint) GetParent() *CBusCommand {
+	return m.CBusCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPoint.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPoint.go
index 53ef96f..9b1eb55 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPoint.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPoint.go
@@ -61,6 +61,10 @@ func (m *CBusCommandPointToPointToMultiPoint) InitializeParent(parent *CBusComma
 	m.CBusCommand.Header = header
 }
 
+func (m *CBusCommandPointToPointToMultiPoint) GetParent() *CBusCommand {
+	return m.CBusCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointNormal.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointNormal.go
index 87e2eb8..241b765 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointNormal.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointNormal.go
@@ -80,6 +80,10 @@ func (m *CBusCommandPointToPointToMultiPointNormal) InitializeParent(parent *CBu
 	m.CBusPointToPointToMultipointCommand.PeekedApplication = peekedApplication
 }
 
+func (m *CBusCommandPointToPointToMultiPointNormal) GetParent() *CBusPointToPointToMultipointCommand {
+	return m.CBusPointToPointToMultipointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointStatus.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointStatus.go
index d111922..3411654 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointStatus.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusCommandPointToPointToMultiPointStatus.go
@@ -78,6 +78,10 @@ func (m *CBusCommandPointToPointToMultiPointStatus) InitializeParent(parent *CBu
 	m.CBusPointToPointToMultipointCommand.PeekedApplication = peekedApplication
 }
 
+func (m *CBusCommandPointToPointToMultiPointStatus) GetParent() *CBusPointToPointToMultipointCommand {
+	return m.CBusPointToPointToMultipointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommand.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommand.go
index e9f2cb1..4793296 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommand.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommand.go
@@ -55,6 +55,8 @@ type ICBusPointToMultiPointCommandParent interface {
 type ICBusPointToMultiPointCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CBusPointToMultiPointCommand, peekedApplication byte)
+	GetParent() *CBusPointToMultiPointCommand
+
 	GetTypeName() string
 	ICBusPointToMultiPointCommand
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandNormal.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandNormal.go
index 1c0ae19..ee0133f 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandNormal.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandNormal.go
@@ -79,6 +79,10 @@ func (m *CBusPointToMultiPointCommandNormal) InitializeParent(parent *CBusPointT
 	m.CBusPointToMultiPointCommand.PeekedApplication = peekedApplication
 }
 
+func (m *CBusPointToMultiPointCommandNormal) GetParent() *CBusPointToMultiPointCommand {
+	return m.CBusPointToMultiPointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandStatus.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandStatus.go
index ca68dc1..b394c3d 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandStatus.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToMultiPointCommandStatus.go
@@ -76,6 +76,10 @@ func (m *CBusPointToMultiPointCommandStatus) InitializeParent(parent *CBusPointT
 	m.CBusPointToMultiPointCommand.PeekedApplication = peekedApplication
 }
 
+func (m *CBusPointToMultiPointCommandStatus) GetParent() *CBusPointToMultiPointCommand {
+	return m.CBusPointToMultiPointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommand.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommand.go
index d33eb42..e6dded7 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommand.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommand.go
@@ -74,6 +74,8 @@ type ICBusPointToPointCommandParent interface {
 type ICBusPointToPointCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CBusPointToPointCommand, bridgeAddressCountPeek uint16, calData *CALData, crc *Checksum, peekAlpha byte, alpha *Alpha)
+	GetParent() *CBusPointToPointCommand
+
 	GetTypeName() string
 	ICBusPointToPointCommand
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandDirect.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandDirect.go
index a44368d..5576a21 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandDirect.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandDirect.go
@@ -66,6 +66,10 @@ func (m *CBusPointToPointCommandDirect) InitializeParent(parent *CBusPointToPoin
 	m.CBusPointToPointCommand.Alpha = alpha
 }
 
+func (m *CBusPointToPointCommandDirect) GetParent() *CBusPointToPointCommand {
+	return m.CBusPointToPointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandIndirect.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandIndirect.go
index 002a48c..0fb7ab3 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandIndirect.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointCommandIndirect.go
@@ -71,6 +71,10 @@ func (m *CBusPointToPointCommandIndirect) InitializeParent(parent *CBusPointToPo
 	m.CBusPointToPointCommand.Alpha = alpha
 }
 
+func (m *CBusPointToPointCommandIndirect) GetParent() *CBusPointToPointCommand {
+	return m.CBusPointToPointCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointToMultipointCommand.go b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointToMultipointCommand.go
index c5f8b70..8be405b 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointToMultipointCommand.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/CBusPointToPointToMultipointCommand.go
@@ -61,6 +61,8 @@ type ICBusPointToPointToMultipointCommandParent interface {
 type ICBusPointToPointToMultipointCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CBusPointToPointToMultipointCommand, bridgeAddress *BridgeAddress, networkRoute *NetworkRoute, peekedApplication byte)
+	GetParent() *CBusPointToPointToMultipointCommand
+
 	GetTypeName() string
 	ICBusPointToPointToMultipointCommand
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/Confirmation.go b/plc4go/internal/plc4go/cbus/readwrite/model/Confirmation.go
index 4f126bf..2384be2 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/Confirmation.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/Confirmation.go
@@ -54,6 +54,8 @@ type IConfirmationParent interface {
 type IConfirmationChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *Confirmation, alpha *Alpha)
+	GetParent() *Confirmation
+
 	GetTypeName() string
 	IConfirmation
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationReply.go
index e4b3fb0..fc24bac 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationReply.go
@@ -58,6 +58,10 @@ func (m *ConfirmationReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *ConfirmationReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationSuccessful.go b/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationSuccessful.go
index 62b6f31..60482dc 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationSuccessful.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/ConfirmationSuccessful.go
@@ -58,6 +58,10 @@ func (m *ConfirmationSuccessful) InitializeParent(parent *Confirmation, alpha *A
 	m.Confirmation.Alpha = alpha
 }
 
+func (m *ConfirmationSuccessful) GetParent() *Confirmation {
+	return m.Confirmation
+}
+
 // NewConfirmationSuccessful factory function for ConfirmationSuccessful
 func NewConfirmationSuccessful(alpha *Alpha) *Confirmation {
 	child := &ConfirmationSuccessful{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/ExclamationMarkReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/ExclamationMarkReply.go
index e2dd544..f9154c1 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/ExclamationMarkReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/ExclamationMarkReply.go
@@ -58,6 +58,10 @@ func (m *ExclamationMarkReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *ExclamationMarkReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommand.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommand.go
index b59871f..bce9124 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommand.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommand.go
@@ -51,6 +51,8 @@ type IIdentifyReplyCommandParent interface {
 type IIdentifyReplyCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *IdentifyReplyCommand)
+	GetParent() *IdentifyReplyCommand
+
 	GetTypeName() string
 	IIdentifyReplyCommand
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandCurrentSenseLevels.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandCurrentSenseLevels.go
index cf0c537..d38becf 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandCurrentSenseLevels.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandCurrentSenseLevels.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandCurrentSenseLevels) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandCurrentSenseLevels) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandCurrentSenseLevels) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandCurrentSenseLevels factory function for IdentifyReplyCommandCurrentSenseLevels
 func NewIdentifyReplyCommandCurrentSenseLevels() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandCurrentSenseLevels{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDSIStatus.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDSIStatus.go
index 1f0e720..020f33d 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDSIStatus.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDSIStatus.go
@@ -87,6 +87,10 @@ func (m *IdentifyReplyCommandDSIStatus) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandDSIStatus) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandDSIStatus) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDelays.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDelays.go
index 4315139..8302997 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDelays.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandDelays.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandDelays) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandDelays) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandDelays) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandDelays factory function for IdentifyReplyCommandDelays
 func NewIdentifyReplyCommandDelays() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandDelays{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandExtendedDiagnosticSummary.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandExtendedDiagnosticSummary.go
index 4260da4..163bee2 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandExtendedDiagnosticSummary.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandExtendedDiagnosticSummary.go
@@ -116,6 +116,10 @@ func (m *IdentifyReplyCommandExtendedDiagnosticSummary) GetAttribute() Attribute
 func (m *IdentifyReplyCommandExtendedDiagnosticSummary) InitializeParent(parent *IdentifyReplyCommand) {
 }
 
+func (m *IdentifyReplyCommandExtendedDiagnosticSummary) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareSummary.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareSummary.go
index b09f950..3ad6eac 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareSummary.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareSummary.go
@@ -66,6 +66,10 @@ func (m *IdentifyReplyCommandFirmwareSummary) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandFirmwareSummary) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandFirmwareSummary) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareVersion.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareVersion.go
index f6576f1..bfa5238 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareVersion.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandFirmwareVersion.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandFirmwareVersion) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandFirmwareVersion) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandFirmwareVersion) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVPhysicalAddresses.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVPhysicalAddresses.go
index 73b616e..37bf62b 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVPhysicalAddresses.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVPhysicalAddresses.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandGAVPhysicalAddresses) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandGAVPhysicalAddresses) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandGAVPhysicalAddresses) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesCurrent.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesCurrent.go
index 778cc53..82ae80c 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesCurrent.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesCurrent.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandGAVValuesCurrent) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandGAVValuesCurrent) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandGAVValuesCurrent) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesStored.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesStored.go
index f8516be..1be5ffe 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesStored.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandGAVValuesStored.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandGAVValuesStored) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandGAVValuesStored) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandGAVValuesStored) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandLogicalAssignment.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandLogicalAssignment.go
index 3ec2de3..7fbe08e 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandLogicalAssignment.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandLogicalAssignment.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandLogicalAssignment) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandLogicalAssignment) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandLogicalAssignment) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandLogicalAssignment factory function for IdentifyReplyCommandLogicalAssignment
 func NewIdentifyReplyCommandLogicalAssignment() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandLogicalAssignment{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandManufacturer.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandManufacturer.go
index 78c4d14..85f51c7 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandManufacturer.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandManufacturer.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandManufacturer) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandManufacturer) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandManufacturer) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMaximumLevels.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMaximumLevels.go
index 66bb09c..989eb87 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMaximumLevels.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMaximumLevels.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandMaximumLevels) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandMaximumLevels) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandMaximumLevels) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandMaximumLevels factory function for IdentifyReplyCommandMaximumLevels
 func NewIdentifyReplyCommandMaximumLevels() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandMaximumLevels{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMinimumLevels.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMinimumLevels.go
index b55c2e4..3bf868c 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMinimumLevels.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandMinimumLevels.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandMinimumLevels) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandMinimumLevels) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandMinimumLevels) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandMinimumLevels factory function for IdentifyReplyCommandMinimumLevels
 func NewIdentifyReplyCommandMinimumLevels() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandMinimumLevels{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkTerminalLevels.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkTerminalLevels.go
index 166a814..3612fb0 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkTerminalLevels.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkTerminalLevels.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandNetworkTerminalLevels) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandNetworkTerminalLevels) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandNetworkTerminalLevels) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandNetworkTerminalLevels factory function for IdentifyReplyCommandNetworkTerminalLevels
 func NewIdentifyReplyCommandNetworkTerminalLevels() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandNetworkTerminalLevels{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkVoltage.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkVoltage.go
index d22cec9..55d149b 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkVoltage.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandNetworkVoltage.go
@@ -68,6 +68,10 @@ func (m *IdentifyReplyCommandNetworkVoltage) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandNetworkVoltage) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandNetworkVoltage) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandOutputUnitSummary.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandOutputUnitSummary.go
index 0e650ec..4272cda 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandOutputUnitSummary.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandOutputUnitSummary.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandOutputUnitSummary) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandOutputUnitSummary) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandOutputUnitSummary) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandOutputUnitSummary factory function for IdentifyReplyCommandOutputUnitSummary
 func NewIdentifyReplyCommandOutputUnitSummary() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandOutputUnitSummary{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandTerminalLevels.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandTerminalLevels.go
index 26f4f52..43c1004 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandTerminalLevels.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandTerminalLevels.go
@@ -56,6 +56,10 @@ func (m *IdentifyReplyCommandTerminalLevels) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandTerminalLevels) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandTerminalLevels) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 // NewIdentifyReplyCommandTerminalLevels factory function for IdentifyReplyCommandTerminalLevels
 func NewIdentifyReplyCommandTerminalLevels() *IdentifyReplyCommand {
 	child := &IdentifyReplyCommandTerminalLevels{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandType.go b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandType.go
index b269a0a..503d7ab 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandType.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/IdentifyReplyCommandType.go
@@ -60,6 +60,10 @@ func (m *IdentifyReplyCommandType) GetAttribute() Attribute {
 
 func (m *IdentifyReplyCommandType) InitializeParent(parent *IdentifyReplyCommand) {}
 
+func (m *IdentifyReplyCommandType) GetParent() *IdentifyReplyCommand {
+	return m.IdentifyReplyCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSAL.go b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSAL.go
index 64e71f9..392d1a2 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSAL.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSAL.go
@@ -61,6 +61,8 @@ type IMonitoredSALParent interface {
 type IMonitoredSALChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *MonitoredSAL, salType byte, salData *SALData)
+	GetParent() *MonitoredSAL
+
 	GetTypeName() string
 	IMonitoredSAL
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALLongFormSmartMode.go b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALLongFormSmartMode.go
index fea02e8..95b74f4 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALLongFormSmartMode.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALLongFormSmartMode.go
@@ -78,6 +78,10 @@ func (m *MonitoredSALLongFormSmartMode) InitializeParent(parent *MonitoredSAL, s
 	m.MonitoredSAL.SalData = salData
 }
 
+func (m *MonitoredSALLongFormSmartMode) GetParent() *MonitoredSAL {
+	return m.MonitoredSAL
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALReply.go
index a4de985..60d15e9 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALReply.go
@@ -58,6 +58,10 @@ func (m *MonitoredSALReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *MonitoredSALReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALShortFormBasicMode.go b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALShortFormBasicMode.go
index 9ba4e50..c0fc1ee 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALShortFormBasicMode.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/MonitoredSALShortFormBasicMode.go
@@ -72,6 +72,10 @@ func (m *MonitoredSALShortFormBasicMode) InitializeParent(parent *MonitoredSAL,
 	m.MonitoredSAL.SalData = salData
 }
 
+func (m *MonitoredSALShortFormBasicMode) GetParent() *MonitoredSAL {
+	return m.MonitoredSAL
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedCorruption.go b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedCorruption.go
index d940470..034e76f 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedCorruption.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedCorruption.go
@@ -58,6 +58,10 @@ func (m *NotTransmittedCorruption) InitializeParent(parent *Confirmation, alpha
 	m.Confirmation.Alpha = alpha
 }
 
+func (m *NotTransmittedCorruption) GetParent() *Confirmation {
+	return m.Confirmation
+}
+
 // NewNotTransmittedCorruption factory function for NotTransmittedCorruption
 func NewNotTransmittedCorruption(alpha *Alpha) *Confirmation {
 	child := &NotTransmittedCorruption{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedSyncLoss.go b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedSyncLoss.go
index 5abd499..a92aa27 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedSyncLoss.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedSyncLoss.go
@@ -58,6 +58,10 @@ func (m *NotTransmittedSyncLoss) InitializeParent(parent *Confirmation, alpha *A
 	m.Confirmation.Alpha = alpha
 }
 
+func (m *NotTransmittedSyncLoss) GetParent() *Confirmation {
+	return m.Confirmation
+}
+
 // NewNotTransmittedSyncLoss factory function for NotTransmittedSyncLoss
 func NewNotTransmittedSyncLoss(alpha *Alpha) *Confirmation {
 	child := &NotTransmittedSyncLoss{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedToManyReTransmissions.go b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedToManyReTransmissions.go
index 73d47af..38ee814 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedToManyReTransmissions.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedToManyReTransmissions.go
@@ -58,6 +58,10 @@ func (m *NotTransmittedToManyReTransmissions) InitializeParent(parent *Confirmat
 	m.Confirmation.Alpha = alpha
 }
 
+func (m *NotTransmittedToManyReTransmissions) GetParent() *Confirmation {
+	return m.Confirmation
+}
+
 // NewNotTransmittedToManyReTransmissions factory function for NotTransmittedToManyReTransmissions
 func NewNotTransmittedToManyReTransmissions(alpha *Alpha) *Confirmation {
 	child := &NotTransmittedToManyReTransmissions{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedTooLong.go b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedTooLong.go
index e03d3b6..37db73f 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedTooLong.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/NotTransmittedTooLong.go
@@ -58,6 +58,10 @@ func (m *NotTransmittedTooLong) InitializeParent(parent *Confirmation, alpha *Al
 	m.Confirmation.Alpha = alpha
 }
 
+func (m *NotTransmittedTooLong) GetParent() *Confirmation {
+	return m.Confirmation
+}
+
 // NewNotTransmittedTooLong factory function for NotTransmittedTooLong
 func NewNotTransmittedTooLong(alpha *Alpha) *Confirmation {
 	child := &NotTransmittedTooLong{
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/ParameterChangeReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/ParameterChangeReply.go
index 62741bb..e448f1e 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/ParameterChangeReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/ParameterChangeReply.go
@@ -58,6 +58,10 @@ func (m *ParameterChangeReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *ParameterChangeReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/PowerUpReply.go b/plc4go/internal/plc4go/cbus/readwrite/model/PowerUpReply.go
index e2dc6cd..d89434a 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/PowerUpReply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/PowerUpReply.go
@@ -58,6 +58,10 @@ func (m *PowerUpReply) InitializeParent(parent *Reply, magicByte byte) {
 	m.Reply.MagicByte = magicByte
 }
 
+func (m *PowerUpReply) GetParent() *Reply {
+	return m.Reply
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/Reply.go b/plc4go/internal/plc4go/cbus/readwrite/model/Reply.go
index 13033c0..e29858f 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/Reply.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/Reply.go
@@ -52,6 +52,8 @@ type IReplyParent interface {
 type IReplyChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *Reply, magicByte byte)
+	GetParent() *Reply
+
 	GetTypeName() string
 	IReply
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/SALData.go b/plc4go/internal/plc4go/cbus/readwrite/model/SALData.go
index 563a807..5d5da0b 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/SALData.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/SALData.go
@@ -54,6 +54,8 @@ type ISALDataParent interface {
 type ISALDataChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *SALData, commandTypeContainer SALCommandTypeContainer)
+	GetParent() *SALData
+
 	GetTypeName() string
 	ISALData
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOff.go b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOff.go
index afeae60..1da4d0d 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOff.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOff.go
@@ -58,6 +58,10 @@ func (m *SALDataOff) InitializeParent(parent *SALData, commandTypeContainer SALC
 	m.SALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *SALDataOff) GetParent() *SALData {
+	return m.SALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOn.go b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOn.go
index d435199..2af0dcf 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOn.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataOn.go
@@ -58,6 +58,10 @@ func (m *SALDataOn) InitializeParent(parent *SALData, commandTypeContainer SALCo
 	m.SALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *SALDataOn) GetParent() *SALData {
+	return m.SALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataRampToLevel.go b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataRampToLevel.go
index 673a059..aba1214 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataRampToLevel.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataRampToLevel.go
@@ -61,6 +61,10 @@ func (m *SALDataRampToLevel) InitializeParent(parent *SALData, commandTypeContai
 	m.SALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *SALDataRampToLevel) GetParent() *SALData {
+	return m.SALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataTerminateRamp.go b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataTerminateRamp.go
index 55408a7..3312cce 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/SALDataTerminateRamp.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/SALDataTerminateRamp.go
@@ -58,6 +58,10 @@ func (m *SALDataTerminateRamp) InitializeParent(parent *SALData, commandTypeCont
 	m.SALData.CommandTypeContainer = commandTypeContainer
 }
 
+func (m *SALDataTerminateRamp) GetParent() *SALData {
+	return m.SALData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequest.go b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequest.go
index 7527dfe..28b9603 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequest.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequest.go
@@ -52,6 +52,8 @@ type IStatusRequestParent interface {
 type IStatusRequestChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *StatusRequest, statusType byte)
+	GetParent() *StatusRequest
+
 	GetTypeName() string
 	IStatusRequest
 }
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestBinaryState.go b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestBinaryState.go
index 9878950..b788faf 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestBinaryState.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestBinaryState.go
@@ -59,6 +59,10 @@ func (m *StatusRequestBinaryState) InitializeParent(parent *StatusRequest, statu
 	m.StatusRequest.StatusType = statusType
 }
 
+func (m *StatusRequestBinaryState) GetParent() *StatusRequest {
+	return m.StatusRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestLevel.go b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestLevel.go
index 91f6361..3d59059 100644
--- a/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestLevel.go
+++ b/plc4go/internal/plc4go/cbus/readwrite/model/StatusRequestLevel.go
@@ -62,6 +62,10 @@ func (m *StatusRequestLevel) InitializeParent(parent *StatusRequest, statusType
 	m.StatusRequest.StatusType = statusType
 }
 
+func (m *StatusRequestLevel) GetParent() *StatusRequest {
+	return m.StatusRequest
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go
index 6d9059c..fc9d364 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go
@@ -57,6 +57,8 @@ type IDF1CommandParent interface {
 type IDF1CommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *DF1Command, status uint8, transactionCounter uint16)
+	GetParent() *DF1Command
+
 	GetTypeName() string
 	IDF1Command
 }
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go
index c3fe5c2..77b0ea0 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go
@@ -55,6 +55,8 @@ type IDF1SymbolParent interface {
 type IDF1SymbolChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *DF1Symbol)
+	GetParent() *DF1Symbol
+
 	GetTypeName() string
 	IDF1Symbol
 }
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go
index 9ec60a4..f25af03 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go
@@ -71,6 +71,10 @@ func (m *DF1SymbolMessageFrame) GetSymbolType() uint8 {
 
 func (m *DF1SymbolMessageFrame) InitializeParent(parent *DF1Symbol) {}
 
+func (m *DF1SymbolMessageFrame) GetParent() *DF1Symbol {
+	return m.DF1Symbol
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go
index d4edb5a..d2b0150 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go
@@ -56,6 +56,10 @@ func (m *DF1SymbolMessageFrameACK) GetSymbolType() uint8 {
 
 func (m *DF1SymbolMessageFrameACK) InitializeParent(parent *DF1Symbol) {}
 
+func (m *DF1SymbolMessageFrameACK) GetParent() *DF1Symbol {
+	return m.DF1Symbol
+}
+
 // NewDF1SymbolMessageFrameACK factory function for DF1SymbolMessageFrameACK
 func NewDF1SymbolMessageFrameACK() *DF1Symbol {
 	child := &DF1SymbolMessageFrameACK{
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go
index 0a6b433..352adfb 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go
@@ -56,6 +56,10 @@ func (m *DF1SymbolMessageFrameNAK) GetSymbolType() uint8 {
 
 func (m *DF1SymbolMessageFrameNAK) InitializeParent(parent *DF1Symbol) {}
 
+func (m *DF1SymbolMessageFrameNAK) GetParent() *DF1Symbol {
+	return m.DF1Symbol
+}
+
 // NewDF1SymbolMessageFrameNAK factory function for DF1SymbolMessageFrameNAK
 func NewDF1SymbolMessageFrameNAK() *DF1Symbol {
 	child := &DF1SymbolMessageFrameNAK{
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go
index c0e2fc6..4ddd266 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go
@@ -66,6 +66,10 @@ func (m *DF1UnprotectedReadRequest) InitializeParent(parent *DF1Command, status
 	m.DF1Command.TransactionCounter = transactionCounter
 }
 
+func (m *DF1UnprotectedReadRequest) GetParent() *DF1Command {
+	return m.DF1Command
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go b/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go
index a20ac80..3b26a0d 100644
--- a/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go
+++ b/plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go
@@ -62,6 +62,10 @@ func (m *DF1UnprotectedReadResponse) InitializeParent(parent *DF1Command, status
 	m.DF1Command.TransactionCounter = transactionCounter
 }
 
+func (m *DF1UnprotectedReadResponse) GetParent() *DF1Command {
+	return m.DF1Command
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go b/plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go
index 3cb660a..906593e 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go
@@ -69,6 +69,10 @@ func (m *CipRRData) InitializeParent(parent *EipPacket, sessionHandle uint32, st
 	m.EipPacket.Options = options
 }
 
+func (m *CipRRData) GetParent() *EipPacket {
+	return m.EipPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go
index ca131eb..19b9c7c 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go
@@ -69,6 +69,10 @@ func (m *CipReadRequest) GetService() uint8 {
 
 func (m *CipReadRequest) InitializeParent(parent *CipService) {}
 
+func (m *CipReadRequest) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go b/plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go
index a73d4e3..da2d70e 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go
@@ -73,6 +73,10 @@ func (m *CipReadResponse) GetService() uint8 {
 
 func (m *CipReadResponse) InitializeParent(parent *CipService) {}
 
+func (m *CipReadResponse) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipService.go b/plc4go/internal/plc4go/eip/readwrite/model/CipService.go
index 28afa65..9bdc7ae 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipService.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipService.go
@@ -54,6 +54,8 @@ type ICipServiceParent interface {
 type ICipServiceChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CipService)
+	GetParent() *CipService
+
 	GetTypeName() string
 	ICipService
 }
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go
index 8fb6dcb..f7977d1 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go
@@ -74,6 +74,10 @@ func (m *CipUnconnectedRequest) GetService() uint8 {
 
 func (m *CipUnconnectedRequest) InitializeParent(parent *CipService) {}
 
+func (m *CipUnconnectedRequest) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go
index a23a01d..cfe8490 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go
@@ -75,6 +75,10 @@ func (m *CipWriteRequest) GetService() uint8 {
 
 func (m *CipWriteRequest) InitializeParent(parent *CipService) {}
 
+func (m *CipWriteRequest) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go b/plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go
index 85f0812..fdf9d12 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go
@@ -67,6 +67,10 @@ func (m *CipWriteResponse) GetService() uint8 {
 
 func (m *CipWriteResponse) InitializeParent(parent *CipService) {}
 
+func (m *CipWriteResponse) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go
index ab742dd..29db91f 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go
@@ -67,6 +67,10 @@ func (m *EipConnectionRequest) InitializeParent(parent *EipPacket, sessionHandle
 	m.EipPacket.Options = options
 }
 
+func (m *EipConnectionRequest) GetParent() *EipPacket {
+	return m.EipPacket
+}
+
 // NewEipConnectionRequest factory function for EipConnectionRequest
 func NewEipConnectionRequest(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *EipPacket {
 	child := &EipConnectionRequest{
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go
index f083c10..213462a 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go
@@ -61,6 +61,10 @@ func (m *EipDisconnectRequest) InitializeParent(parent *EipPacket, sessionHandle
 	m.EipPacket.Options = options
 }
 
+func (m *EipDisconnectRequest) GetParent() *EipPacket {
+	return m.EipPacket
+}
+
 // NewEipDisconnectRequest factory function for EipDisconnectRequest
 func NewEipDisconnectRequest(sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *EipPacket {
 	child := &EipDisconnectRequest{
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go b/plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go
index 9778a3e..84c4fad 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go
@@ -63,6 +63,8 @@ type IEipPacketParent interface {
 type IEipPacketChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *EipPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32)
+	GetParent() *EipPacket
+
 	GetTypeName() string
 	IEipPacket
 }
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go b/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go
index fe8afae..4e54c7b 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go
@@ -68,6 +68,10 @@ func (m *MultipleServiceRequest) GetService() uint8 {
 
 func (m *MultipleServiceRequest) InitializeParent(parent *CipService) {}
 
+func (m *MultipleServiceRequest) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go b/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go
index f235973..eaeb3f3 100644
--- a/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go
+++ b/plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go
@@ -76,6 +76,10 @@ func (m *MultipleServiceResponse) GetService() uint8 {
 
 func (m *MultipleServiceResponse) InitializeParent(parent *CipService) {}
 
+func (m *MultipleServiceResponse) GetParent() *CipService {
+	return m.CipService
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go
index f435530..b3ae01e 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go
@@ -54,6 +54,8 @@ type IFirmataCommandParent interface {
 type IFirmataCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *FirmataCommand)
+	GetParent() *FirmataCommand
+
 	GetTypeName() string
 	IFirmataCommand
 }
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go
index f1cec1a..c7d9554 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go
@@ -66,6 +66,10 @@ func (m *FirmataCommandProtocolVersion) GetCommandCode() uint8 {
 
 func (m *FirmataCommandProtocolVersion) InitializeParent(parent *FirmataCommand) {}
 
+func (m *FirmataCommandProtocolVersion) GetParent() *FirmataCommand {
+	return m.FirmataCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go
index 25bbef2..cdf1627 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go
@@ -67,6 +67,10 @@ func (m *FirmataCommandSetDigitalPinValue) GetCommandCode() uint8 {
 
 func (m *FirmataCommandSetDigitalPinValue) InitializeParent(parent *FirmataCommand) {}
 
+func (m *FirmataCommandSetDigitalPinValue) GetParent() *FirmataCommand {
+	return m.FirmataCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go
index eb7ad9f..6d61e1a 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go
@@ -66,6 +66,10 @@ func (m *FirmataCommandSetPinMode) GetCommandCode() uint8 {
 
 func (m *FirmataCommandSetPinMode) InitializeParent(parent *FirmataCommand) {}
 
+func (m *FirmataCommandSetPinMode) GetParent() *FirmataCommand {
+	return m.FirmataCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go
index c5607d8..bab348e 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go
@@ -64,6 +64,10 @@ func (m *FirmataCommandSysex) GetCommandCode() uint8 {
 
 func (m *FirmataCommandSysex) InitializeParent(parent *FirmataCommand) {}
 
+func (m *FirmataCommandSysex) GetParent() *FirmataCommand {
+	return m.FirmataCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go
index fc80ba1..171e7d1 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go
@@ -59,6 +59,10 @@ func (m *FirmataCommandSystemReset) GetCommandCode() uint8 {
 
 func (m *FirmataCommandSystemReset) InitializeParent(parent *FirmataCommand) {}
 
+func (m *FirmataCommandSystemReset) GetParent() *FirmataCommand {
+	return m.FirmataCommand
+}
+
 // NewFirmataCommandSystemReset factory function for FirmataCommandSystemReset
 func NewFirmataCommandSystemReset(response bool) *FirmataCommand {
 	child := &FirmataCommandSystemReset{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go
index 47e43f4..5a8e665 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go
@@ -54,6 +54,8 @@ type IFirmataMessageParent interface {
 type IFirmataMessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *FirmataMessage)
+	GetParent() *FirmataMessage
+
 	GetTypeName() string
 	IFirmataMessage
 }
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go
index a29832c..51fbb40 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go
@@ -66,6 +66,10 @@ func (m *FirmataMessageAnalogIO) GetMessageType() uint8 {
 
 func (m *FirmataMessageAnalogIO) InitializeParent(parent *FirmataMessage) {}
 
+func (m *FirmataMessageAnalogIO) GetParent() *FirmataMessage {
+	return m.FirmataMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageCommand.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageCommand.go
index 1e7be8f..9d64d3c 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageCommand.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageCommand.go
@@ -63,6 +63,10 @@ func (m *FirmataMessageCommand) GetMessageType() uint8 {
 
 func (m *FirmataMessageCommand) InitializeParent(parent *FirmataMessage) {}
 
+func (m *FirmataMessageCommand) GetParent() *FirmataMessage {
+	return m.FirmataMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go
index d360b97..3058551 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go
@@ -66,6 +66,10 @@ func (m *FirmataMessageDigitalIO) GetMessageType() uint8 {
 
 func (m *FirmataMessageDigitalIO) InitializeParent(parent *FirmataMessage) {}
 
+func (m *FirmataMessageDigitalIO) GetParent() *FirmataMessage {
+	return m.FirmataMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeAnalogPinValue.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeAnalogPinValue.go
index 849b26b..233da9b 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeAnalogPinValue.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeAnalogPinValue.go
@@ -67,6 +67,10 @@ func (m *FirmataMessageSubscribeAnalogPinValue) GetMessageType() uint8 {
 
 func (m *FirmataMessageSubscribeAnalogPinValue) InitializeParent(parent *FirmataMessage) {}
 
+func (m *FirmataMessageSubscribeAnalogPinValue) GetParent() *FirmataMessage {
+	return m.FirmataMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeDigitalPinValue.go b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeDigitalPinValue.go
index b9b9dc0..d31e25f 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeDigitalPinValue.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeDigitalPinValue.go
@@ -67,6 +67,10 @@ func (m *FirmataMessageSubscribeDigitalPinValue) GetMessageType() uint8 {
 
 func (m *FirmataMessageSubscribeDigitalPinValue) InitializeParent(parent *FirmataMessage) {}
 
+func (m *FirmataMessageSubscribeDigitalPinValue) GetParent() *FirmataMessage {
+	return m.FirmataMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go
index 72b7ee7..81d80dc 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go
@@ -53,6 +53,8 @@ type ISysexCommandParent interface {
 type ISysexCommandChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *SysexCommand)
+	GetParent() *SysexCommand
+
 	GetTypeName() string
 	ISysexCommand
 }
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryRequest.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryRequest.go
index 9f8ffef..078cfa5 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryRequest.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryRequest.go
@@ -60,6 +60,10 @@ func (m *SysexCommandAnalogMappingQueryRequest) GetResponse() bool {
 
 func (m *SysexCommandAnalogMappingQueryRequest) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandAnalogMappingQueryRequest) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandAnalogMappingQueryRequest factory function for SysexCommandAnalogMappingQueryRequest
 func NewSysexCommandAnalogMappingQueryRequest() *SysexCommand {
 	child := &SysexCommandAnalogMappingQueryRequest{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryResponse.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryResponse.go
index d01cb07..554d6db 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryResponse.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryResponse.go
@@ -64,6 +64,10 @@ func (m *SysexCommandAnalogMappingQueryResponse) GetResponse() bool {
 
 func (m *SysexCommandAnalogMappingQueryResponse) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandAnalogMappingQueryResponse) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingResponse.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingResponse.go
index b062a9e..f9e5fce 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingResponse.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingResponse.go
@@ -60,6 +60,10 @@ func (m *SysexCommandAnalogMappingResponse) GetResponse() bool {
 
 func (m *SysexCommandAnalogMappingResponse) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandAnalogMappingResponse) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandAnalogMappingResponse factory function for SysexCommandAnalogMappingResponse
 func NewSysexCommandAnalogMappingResponse() *SysexCommand {
 	child := &SysexCommandAnalogMappingResponse{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go
index 8350b14..7d6fc04 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go
@@ -60,6 +60,10 @@ func (m *SysexCommandCapabilityQuery) GetResponse() bool {
 
 func (m *SysexCommandCapabilityQuery) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandCapabilityQuery) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandCapabilityQuery factory function for SysexCommandCapabilityQuery
 func NewSysexCommandCapabilityQuery() *SysexCommand {
 	child := &SysexCommandCapabilityQuery{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityResponse.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityResponse.go
index 76b5f53..4661f5b 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityResponse.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityResponse.go
@@ -60,6 +60,10 @@ func (m *SysexCommandCapabilityResponse) GetResponse() bool {
 
 func (m *SysexCommandCapabilityResponse) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandCapabilityResponse) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandCapabilityResponse factory function for SysexCommandCapabilityResponse
 func NewSysexCommandCapabilityResponse() *SysexCommand {
 	child := &SysexCommandCapabilityResponse{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go
index d7fd60b..5f40560 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go
@@ -60,6 +60,10 @@ func (m *SysexCommandExtendedAnalog) GetResponse() bool {
 
 func (m *SysexCommandExtendedAnalog) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandExtendedAnalog) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandExtendedAnalog factory function for SysexCommandExtendedAnalog
 func NewSysexCommandExtendedAnalog() *SysexCommand {
 	child := &SysexCommandExtendedAnalog{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedId.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedId.go
index 1771a17..6fe7fd7 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedId.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedId.go
@@ -64,6 +64,10 @@ func (m *SysexCommandExtendedId) GetResponse() bool {
 
 func (m *SysexCommandExtendedId) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandExtendedId) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go
index 1fa5681..7e2d672 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go
@@ -64,6 +64,10 @@ func (m *SysexCommandPinStateQuery) GetResponse() bool {
 
 func (m *SysexCommandPinStateQuery) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandPinStateQuery) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go
index 5a54f3e..ae54fd7 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go
@@ -70,6 +70,10 @@ func (m *SysexCommandPinStateResponse) GetResponse() bool {
 
 func (m *SysexCommandPinStateResponse) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandPinStateResponse) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareRequest.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareRequest.go
index 45892e8..d346759 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareRequest.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareRequest.go
@@ -60,6 +60,10 @@ func (m *SysexCommandReportFirmwareRequest) GetResponse() bool {
 
 func (m *SysexCommandReportFirmwareRequest) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandReportFirmwareRequest) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandReportFirmwareRequest factory function for SysexCommandReportFirmwareRequest
 func NewSysexCommandReportFirmwareRequest() *SysexCommand {
 	child := &SysexCommandReportFirmwareRequest{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareResponse.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareResponse.go
index 7147b54..ce5b9a5 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareResponse.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareResponse.go
@@ -70,6 +70,10 @@ func (m *SysexCommandReportFirmwareResponse) GetResponse() bool {
 
 func (m *SysexCommandReportFirmwareResponse) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandReportFirmwareResponse) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go
index 2600afa..ea11c98 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go
@@ -60,6 +60,10 @@ func (m *SysexCommandSamplingInterval) GetResponse() bool {
 
 func (m *SysexCommandSamplingInterval) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandSamplingInterval) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandSamplingInterval factory function for SysexCommandSamplingInterval
 func NewSysexCommandSamplingInterval() *SysexCommand {
 	child := &SysexCommandSamplingInterval{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandStringData.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandStringData.go
index a181e92..d32c3b3 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandStringData.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandStringData.go
@@ -60,6 +60,10 @@ func (m *SysexCommandStringData) GetResponse() bool {
 
 func (m *SysexCommandStringData) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandStringData) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandStringData factory function for SysexCommandStringData
 func NewSysexCommandStringData() *SysexCommand {
 	child := &SysexCommandStringData{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go
index dc2b06a..83506fd 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go
@@ -60,6 +60,10 @@ func (m *SysexCommandSysexNonRealtime) GetResponse() bool {
 
 func (m *SysexCommandSysexNonRealtime) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandSysexNonRealtime) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandSysexNonRealtime factory function for SysexCommandSysexNonRealtime
 func NewSysexCommandSysexNonRealtime() *SysexCommand {
 	child := &SysexCommandSysexNonRealtime{
diff --git a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go
index a3801d6..7e17d08 100644
--- a/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go
+++ b/plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go
@@ -60,6 +60,10 @@ func (m *SysexCommandSysexRealtime) GetResponse() bool {
 
 func (m *SysexCommandSysexRealtime) InitializeParent(parent *SysexCommand) {}
 
+func (m *SysexCommandSysexRealtime) GetParent() *SysexCommand {
+	return m.SysexCommand
+}
+
 // NewSysexCommandSysexRealtime factory function for SysexCommandSysexRealtime
 func NewSysexCommandSysexRealtime() *SysexCommand {
 	child := &SysexCommandSysexRealtime{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/Apdu.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/Apdu.go
index 485a9a6..48986f6 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/Apdu.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/Apdu.go
@@ -60,6 +60,8 @@ type IApduParent interface {
 type IApduChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *Apdu, numbered bool, counter uint8)
+	GetParent() *Apdu
+
 	GetTypeName() string
 	IApdu
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControl.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControl.go
index 89de0aa..df5eced 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControl.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControl.go
@@ -51,6 +51,8 @@ type IApduControlParent interface {
 type IApduControlChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ApduControl)
+	GetParent() *ApduControl
+
 	GetTypeName() string
 	IApduControl
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlAck.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlAck.go
index 1899698..6ff3189 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlAck.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlAck.go
@@ -56,6 +56,10 @@ func (m *ApduControlAck) GetControlType() uint8 {
 
 func (m *ApduControlAck) InitializeParent(parent *ApduControl) {}
 
+func (m *ApduControlAck) GetParent() *ApduControl {
+	return m.ApduControl
+}
+
 // NewApduControlAck factory function for ApduControlAck
 func NewApduControlAck() *ApduControl {
 	child := &ApduControlAck{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlConnect.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlConnect.go
index 3e56404..1e1454d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlConnect.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlConnect.go
@@ -56,6 +56,10 @@ func (m *ApduControlConnect) GetControlType() uint8 {
 
 func (m *ApduControlConnect) InitializeParent(parent *ApduControl) {}
 
+func (m *ApduControlConnect) GetParent() *ApduControl {
+	return m.ApduControl
+}
+
 // NewApduControlConnect factory function for ApduControlConnect
 func NewApduControlConnect() *ApduControl {
 	child := &ApduControlConnect{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlContainer.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlContainer.go
index 53f8c93..676141c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlContainer.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlContainer.go
@@ -66,6 +66,10 @@ func (m *ApduControlContainer) InitializeParent(parent *Apdu, numbered bool, cou
 	m.Apdu.Counter = counter
 }
 
+func (m *ApduControlContainer) GetParent() *Apdu {
+	return m.Apdu
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlDisconnect.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlDisconnect.go
index 81df073..730f593 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlDisconnect.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlDisconnect.go
@@ -56,6 +56,10 @@ func (m *ApduControlDisconnect) GetControlType() uint8 {
 
 func (m *ApduControlDisconnect) InitializeParent(parent *ApduControl) {}
 
+func (m *ApduControlDisconnect) GetParent() *ApduControl {
+	return m.ApduControl
+}
+
 // NewApduControlDisconnect factory function for ApduControlDisconnect
 func NewApduControlDisconnect() *ApduControl {
 	child := &ApduControlDisconnect{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlNack.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlNack.go
index 6a7fc61..11730cf 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlNack.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduControlNack.go
@@ -56,6 +56,10 @@ func (m *ApduControlNack) GetControlType() uint8 {
 
 func (m *ApduControlNack) InitializeParent(parent *ApduControl) {}
 
+func (m *ApduControlNack) GetParent() *ApduControl {
+	return m.ApduControl
+}
+
 // NewApduControlNack factory function for ApduControlNack
 func NewApduControlNack() *ApduControl {
 	child := &ApduControlNack{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
index fb9da15..040daeb 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
@@ -54,6 +54,8 @@ type IApduDataParent interface {
 type IApduDataChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ApduData)
+	GetParent() *ApduData
+
 	GetTypeName() string
 	IApduData
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcRead.go
index d01eeb9..b41c59e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataAdcRead) GetApciType() uint8 {
 
 func (m *ApduDataAdcRead) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataAdcRead) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataAdcRead factory function for ApduDataAdcRead
 func NewApduDataAdcRead(dataLength uint8) *ApduData {
 	child := &ApduDataAdcRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcResponse.go
index 97d6840..d19e8fc 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataAdcResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataAdcResponse) GetApciType() uint8 {
 
 func (m *ApduDataAdcResponse) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataAdcResponse) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataAdcResponse factory function for ApduDataAdcResponse
 func NewApduDataAdcResponse(dataLength uint8) *ApduData {
 	child := &ApduDataAdcResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataContainer.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataContainer.go
index 66b001d..2b46569 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataContainer.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataContainer.go
@@ -66,6 +66,10 @@ func (m *ApduDataContainer) InitializeParent(parent *Apdu, numbered bool, counte
 	m.Apdu.Counter = counter
 }
 
+func (m *ApduDataContainer) GetParent() *Apdu {
+	return m.Apdu
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
index da0ffb1..bc60989 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
@@ -63,6 +63,10 @@ func (m *ApduDataDeviceDescriptorRead) GetApciType() uint8 {
 
 func (m *ApduDataDeviceDescriptorRead) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataDeviceDescriptorRead) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
index ee89cb5..624e7f4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
@@ -66,6 +66,10 @@ func (m *ApduDataDeviceDescriptorResponse) GetApciType() uint8 {
 
 func (m *ApduDataDeviceDescriptorResponse) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataDeviceDescriptorResponse) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
index c44c3b2..c6b23e5 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
@@ -54,6 +54,8 @@ type IApduDataExtParent interface {
 type IApduDataExtChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ApduDataExt)
+	GetParent() *ApduDataExt
+
 	GetTypeName() string
 	IApduDataExt
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
index 72f22bc..4714cd2 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
@@ -66,6 +66,10 @@ func (m *ApduDataExtAuthorizeRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtAuthorizeRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtAuthorizeRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeResponse.go
index fa82212..7c7bcca 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeResponse.go
@@ -63,6 +63,10 @@ func (m *ApduDataExtAuthorizeResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtAuthorizeResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtAuthorizeResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressRead.go
index 353c56c..cfafe65 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressRead factory function for ApduDataExtDomainAddressRead
 func NewApduDataExtDomainAddressRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressResponse.go
index dd17fcb..460e8e2 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressResponse factory function for ApduDataExtDomainAddressResponse
 func NewApduDataExtDomainAddressResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSelectiveRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSelectiveRead.go
index c39f2f1..45cb418 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSelectiveRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSelectiveRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressSelectiveRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressSelectiveRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressSelectiveRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressSelectiveRead factory function for ApduDataExtDomainAddressSelectiveRead
 func NewApduDataExtDomainAddressSelectiveRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressSelectiveRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberRead.go
index 47d183a..c5b5f29 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressSerialNumberRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressSerialNumberRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressSerialNumberRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressSerialNumberRead factory function for ApduDataExtDomainAddressSerialNumberRead
 func NewApduDataExtDomainAddressSerialNumberRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressSerialNumberRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberResponse.go
index 34839c8..571ddc7 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressSerialNumberResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressSerialNumberResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressSerialNumberResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressSerialNumberResponse factory function for ApduDataExtDomainAddressSerialNumberResponse
 func NewApduDataExtDomainAddressSerialNumberResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressSerialNumberResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberWrite.go
index eeb0c6b..bd46cc5 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressSerialNumberWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressSerialNumberWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressSerialNumberWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressSerialNumberWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressSerialNumberWrite factory function for ApduDataExtDomainAddressSerialNumberWrite
 func NewApduDataExtDomainAddressSerialNumberWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressSerialNumberWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressWrite.go
index 13e9784..4a5cb2e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtDomainAddressWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtDomainAddressWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtDomainAddressWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtDomainAddressWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtDomainAddressWrite factory function for ApduDataExtDomainAddressWrite
 func NewApduDataExtDomainAddressWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtDomainAddressWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtFileStreamInfoReport.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtFileStreamInfoReport.go
index b08ebff..4110e9c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtFileStreamInfoReport.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtFileStreamInfoReport.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtFileStreamInfoReport) GetExtApciType() uint8 {
 
 func (m *ApduDataExtFileStreamInfoReport) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtFileStreamInfoReport) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtFileStreamInfoReport factory function for ApduDataExtFileStreamInfoReport
 func NewApduDataExtFileStreamInfoReport(length uint8) *ApduDataExt {
 	child := &ApduDataExtFileStreamInfoReport{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueInfoReport.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueInfoReport.go
index 47d6e41..334e5ae 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueInfoReport.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueInfoReport.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtGroupPropertyValueInfoReport) GetExtApciType() uint8 {
 
 func (m *ApduDataExtGroupPropertyValueInfoReport) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtGroupPropertyValueInfoReport) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtGroupPropertyValueInfoReport factory function for ApduDataExtGroupPropertyValueInfoReport
 func NewApduDataExtGroupPropertyValueInfoReport(length uint8) *ApduDataExt {
 	child := &ApduDataExtGroupPropertyValueInfoReport{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueRead.go
index 45f79fe..33768fb 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtGroupPropertyValueRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtGroupPropertyValueRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtGroupPropertyValueRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtGroupPropertyValueRead factory function for ApduDataExtGroupPropertyValueRead
 func NewApduDataExtGroupPropertyValueRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtGroupPropertyValueRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueResponse.go
index adc6446..2e5abd1 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtGroupPropertyValueResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtGroupPropertyValueResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtGroupPropertyValueResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtGroupPropertyValueResponse factory function for ApduDataExtGroupPropertyValueResponse
 func NewApduDataExtGroupPropertyValueResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtGroupPropertyValueResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueWrite.go
index 28af1e4..0148666 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtGroupPropertyValueWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtGroupPropertyValueWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtGroupPropertyValueWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtGroupPropertyValueWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtGroupPropertyValueWrite factory function for ApduDataExtGroupPropertyValueWrite
 func NewApduDataExtGroupPropertyValueWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtGroupPropertyValueWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberRead.go
index f624f27..990dd8c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtIndividualAddressSerialNumberRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtIndividualAddressSerialNumberRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtIndividualAddressSerialNumberRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtIndividualAddressSerialNumberRead factory function for ApduDataExtIndividualAddressSerialNumberRead
 func NewApduDataExtIndividualAddressSerialNumberRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtIndividualAddressSerialNumberRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberResponse.go
index 373a31f..4563b07 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtIndividualAddressSerialNumberResponse) GetExtApciType() uint
 
 func (m *ApduDataExtIndividualAddressSerialNumberResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtIndividualAddressSerialNumberResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtIndividualAddressSerialNumberResponse factory function for ApduDataExtIndividualAddressSerialNumberResponse
 func NewApduDataExtIndividualAddressSerialNumberResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtIndividualAddressSerialNumberResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberWrite.go
index a76bf7d..036cc0a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtIndividualAddressSerialNumberWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtIndividualAddressSerialNumberWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtIndividualAddressSerialNumberWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtIndividualAddressSerialNumberWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtIndividualAddressSerialNumberWrite factory function for ApduDataExtIndividualAddressSerialNumberWrite
 func NewApduDataExtIndividualAddressSerialNumberWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtIndividualAddressSerialNumberWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyResponse.go
index 288e15c..5e4a50b 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtKeyResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtKeyResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtKeyResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtKeyResponse factory function for ApduDataExtKeyResponse
 func NewApduDataExtKeyResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtKeyResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyWrite.go
index 154c290..81cbde4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtKeyWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtKeyWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtKeyWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtKeyWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtKeyWrite factory function for ApduDataExtKeyWrite
 func NewApduDataExtKeyWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtKeyWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkRead.go
index 6306c10..ba2166d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtLinkRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtLinkRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtLinkRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtLinkRead factory function for ApduDataExtLinkRead
 func NewApduDataExtLinkRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtLinkRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkResponse.go
index 60587e0..be0423c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtLinkResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtLinkResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtLinkResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtLinkResponse factory function for ApduDataExtLinkResponse
 func NewApduDataExtLinkResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtLinkResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkWrite.go
index 9cf0b34..cf06af4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtLinkWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtLinkWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtLinkWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtLinkWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtLinkWrite factory function for ApduDataExtLinkWrite
 func NewApduDataExtLinkWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtLinkWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtMemoryBitWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtMemoryBitWrite.go
index a3d9ccc..206d9a0 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtMemoryBitWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtMemoryBitWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtMemoryBitWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtMemoryBitWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtMemoryBitWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtMemoryBitWrite factory function for ApduDataExtMemoryBitWrite
 func NewApduDataExtMemoryBitWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtMemoryBitWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterRead.go
index 8859d68..64877ad 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtNetworkParameterRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtNetworkParameterRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtNetworkParameterRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtNetworkParameterRead factory function for ApduDataExtNetworkParameterRead
 func NewApduDataExtNetworkParameterRead(length uint8) *ApduDataExt {
 	child := &ApduDataExtNetworkParameterRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterResponse.go
index 255e90a..31f0981 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtNetworkParameterResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtNetworkParameterResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtNetworkParameterResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtNetworkParameterResponse factory function for ApduDataExtNetworkParameterResponse
 func NewApduDataExtNetworkParameterResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtNetworkParameterResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterWrite.go
index 6c80d5e..5ff685e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtNetworkParameterWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtNetworkParameterWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtNetworkParameterWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtNetworkParameterWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtNetworkParameterWrite factory function for ApduDataExtNetworkParameterWrite
 func NewApduDataExtNetworkParameterWrite(length uint8) *ApduDataExt {
 	child := &ApduDataExtNetworkParameterWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtOpenRoutingTableRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtOpenRoutingTableRequest.go
index beeae72..15ffc1f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtOpenRoutingTableRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtOpenRoutingTableRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtOpenRoutingTableRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtOpenRoutingTableRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtOpenRoutingTableRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtOpenRoutingTableRequest factory function for ApduDataExtOpenRoutingTableRequest
 func NewApduDataExtOpenRoutingTableRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtOpenRoutingTableRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionRead.go
index 6f44b72..c293e2d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionRead.go
@@ -69,6 +69,10 @@ func (m *ApduDataExtPropertyDescriptionRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtPropertyDescriptionRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtPropertyDescriptionRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionResponse.go
index 886889e..d9d3421 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyDescriptionResponse.go
@@ -85,6 +85,10 @@ func (m *ApduDataExtPropertyDescriptionResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtPropertyDescriptionResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtPropertyDescriptionResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueRead.go
index 9a884f8..72e90e7 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueRead.go
@@ -72,6 +72,10 @@ func (m *ApduDataExtPropertyValueRead) GetExtApciType() uint8 {
 
 func (m *ApduDataExtPropertyValueRead) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtPropertyValueRead) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
index 4ecf00b..0efc9f7 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
@@ -75,6 +75,10 @@ func (m *ApduDataExtPropertyValueResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtPropertyValueResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtPropertyValueResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
index 4c66f18..6be7bef 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
@@ -75,6 +75,10 @@ func (m *ApduDataExtPropertyValueWrite) GetExtApciType() uint8 {
 
 func (m *ApduDataExtPropertyValueWrite) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtPropertyValueWrite) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryRequest.go
index 12ffff8..7bd98eb 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRouterMemoryRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRouterMemoryRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRouterMemoryRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRouterMemoryRequest factory function for ApduDataExtReadRouterMemoryRequest
 func NewApduDataExtReadRouterMemoryRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRouterMemoryRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryResponse.go
index 694031b..bd249e4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterMemoryResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRouterMemoryResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRouterMemoryResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRouterMemoryResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRouterMemoryResponse factory function for ApduDataExtReadRouterMemoryResponse
 func NewApduDataExtReadRouterMemoryResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRouterMemoryResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusRequest.go
index cdef783..6d7666c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRouterStatusRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRouterStatusRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRouterStatusRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRouterStatusRequest factory function for ApduDataExtReadRouterStatusRequest
 func NewApduDataExtReadRouterStatusRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRouterStatusRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusResponse.go
index ad92baa..db4026e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRouterStatusResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRouterStatusResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRouterStatusResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRouterStatusResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRouterStatusResponse factory function for ApduDataExtReadRouterStatusResponse
 func NewApduDataExtReadRouterStatusResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRouterStatusResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableRequest.go
index 3454746..cb85579 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRoutingTableRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRoutingTableRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRoutingTableRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRoutingTableRequest factory function for ApduDataExtReadRoutingTableRequest
 func NewApduDataExtReadRoutingTableRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRoutingTableRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableResponse.go
index 168035f..ff65fc3 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtReadRoutingTableResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtReadRoutingTableResponse) GetExtApciType() uint8 {
 
 func (m *ApduDataExtReadRoutingTableResponse) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtReadRoutingTableResponse) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtReadRoutingTableResponse factory function for ApduDataExtReadRoutingTableResponse
 func NewApduDataExtReadRoutingTableResponse(length uint8) *ApduDataExt {
 	child := &ApduDataExtReadRoutingTableResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterMemoryRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterMemoryRequest.go
index 2d77e8d..9a85168 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterMemoryRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterMemoryRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtWriteRouterMemoryRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtWriteRouterMemoryRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtWriteRouterMemoryRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtWriteRouterMemoryRequest factory function for ApduDataExtWriteRouterMemoryRequest
 func NewApduDataExtWriteRouterMemoryRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtWriteRouterMemoryRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterStatusRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterStatusRequest.go
index fdee34a..f7641cd 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterStatusRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRouterStatusRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtWriteRouterStatusRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtWriteRouterStatusRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtWriteRouterStatusRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtWriteRouterStatusRequest factory function for ApduDataExtWriteRouterStatusRequest
 func NewApduDataExtWriteRouterStatusRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtWriteRouterStatusRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRoutingTableRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRoutingTableRequest.go
index 2dc8756..78735cf 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRoutingTableRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtWriteRoutingTableRequest.go
@@ -59,6 +59,10 @@ func (m *ApduDataExtWriteRoutingTableRequest) GetExtApciType() uint8 {
 
 func (m *ApduDataExtWriteRoutingTableRequest) InitializeParent(parent *ApduDataExt) {}
 
+func (m *ApduDataExtWriteRoutingTableRequest) GetParent() *ApduDataExt {
+	return m.ApduDataExt
+}
+
 // NewApduDataExtWriteRoutingTableRequest factory function for ApduDataExtWriteRoutingTableRequest
 func NewApduDataExtWriteRoutingTableRequest(length uint8) *ApduDataExt {
 	child := &ApduDataExtWriteRoutingTableRequest{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueRead.go
index 8668546..63e192d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueRead.go
@@ -61,6 +61,10 @@ func (m *ApduDataGroupValueRead) GetApciType() uint8 {
 
 func (m *ApduDataGroupValueRead) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataGroupValueRead) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataGroupValueRead factory function for ApduDataGroupValueRead
 func NewApduDataGroupValueRead(dataLength uint8) *ApduData {
 	child := &ApduDataGroupValueRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
index 909b528..0a76aaf 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
@@ -66,6 +66,10 @@ func (m *ApduDataGroupValueResponse) GetApciType() uint8 {
 
 func (m *ApduDataGroupValueResponse) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataGroupValueResponse) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
index e1e3b3e..cea1601 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
@@ -66,6 +66,10 @@ func (m *ApduDataGroupValueWrite) GetApciType() uint8 {
 
 func (m *ApduDataGroupValueWrite) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataGroupValueWrite) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressRead.go
index 97d3981..0418773 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressRead.go
@@ -59,6 +59,10 @@ func (m *ApduDataIndividualAddressRead) GetApciType() uint8 {
 
 func (m *ApduDataIndividualAddressRead) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataIndividualAddressRead) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataIndividualAddressRead factory function for ApduDataIndividualAddressRead
 func NewApduDataIndividualAddressRead(dataLength uint8) *ApduData {
 	child := &ApduDataIndividualAddressRead{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressResponse.go
index 8a19593..93afc20 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressResponse.go
@@ -59,6 +59,10 @@ func (m *ApduDataIndividualAddressResponse) GetApciType() uint8 {
 
 func (m *ApduDataIndividualAddressResponse) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataIndividualAddressResponse) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataIndividualAddressResponse factory function for ApduDataIndividualAddressResponse
 func NewApduDataIndividualAddressResponse(dataLength uint8) *ApduData {
 	child := &ApduDataIndividualAddressResponse{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressWrite.go
index e280041..4fd6c74 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataIndividualAddressWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataIndividualAddressWrite) GetApciType() uint8 {
 
 func (m *ApduDataIndividualAddressWrite) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataIndividualAddressWrite) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataIndividualAddressWrite factory function for ApduDataIndividualAddressWrite
 func NewApduDataIndividualAddressWrite(dataLength uint8) *ApduData {
 	child := &ApduDataIndividualAddressWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryRead.go
index 5c0bc52..908b108 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryRead.go
@@ -66,6 +66,10 @@ func (m *ApduDataMemoryRead) GetApciType() uint8 {
 
 func (m *ApduDataMemoryRead) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataMemoryRead) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
index 297ac7e..1d6741d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
@@ -66,6 +66,10 @@ func (m *ApduDataMemoryResponse) GetApciType() uint8 {
 
 func (m *ApduDataMemoryResponse) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataMemoryResponse) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryWrite.go
index bcb00c3..d72db48 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryWrite.go
@@ -59,6 +59,10 @@ func (m *ApduDataMemoryWrite) GetApciType() uint8 {
 
 func (m *ApduDataMemoryWrite) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataMemoryWrite) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataMemoryWrite factory function for ApduDataMemoryWrite
 func NewApduDataMemoryWrite(dataLength uint8) *ApduData {
 	child := &ApduDataMemoryWrite{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataOther.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataOther.go
index 590355d..b6ebbc0 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataOther.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataOther.go
@@ -63,6 +63,10 @@ func (m *ApduDataOther) GetApciType() uint8 {
 
 func (m *ApduDataOther) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataOther) GetParent() *ApduData {
+	return m.ApduData
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataRestart.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataRestart.go
index 0ef5df7..f8f7f5c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataRestart.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataRestart.go
@@ -59,6 +59,10 @@ func (m *ApduDataRestart) GetApciType() uint8 {
 
 func (m *ApduDataRestart) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataRestart) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataRestart factory function for ApduDataRestart
 func NewApduDataRestart(dataLength uint8) *ApduData {
 	child := &ApduDataRestart{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataUserMessage.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataUserMessage.go
index 488c5fe..a9cc42d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataUserMessage.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataUserMessage.go
@@ -59,6 +59,10 @@ func (m *ApduDataUserMessage) GetApciType() uint8 {
 
 func (m *ApduDataUserMessage) InitializeParent(parent *ApduData) {}
 
+func (m *ApduDataUserMessage) GetParent() *ApduData {
+	return m.ApduData
+}
+
 // NewApduDataUserMessage factory function for ApduDataUserMessage
 func NewApduDataUserMessage(dataLength uint8) *ApduData {
 	child := &ApduDataUserMessage{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
index a7e4d3e..e79e59e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
@@ -54,6 +54,8 @@ type ICEMIParent interface {
 type ICEMIChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CEMI)
+	GetParent() *CEMI
+
 	GetTypeName() string
 	ICEMI
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
index 95feb52..a29d6e1 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
@@ -51,6 +51,8 @@ type ICEMIAdditionalInformationParent interface {
 type ICEMIAdditionalInformationChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *CEMIAdditionalInformation)
+	GetParent() *CEMIAdditionalInformation
+
 	GetTypeName() string
 	ICEMIAdditionalInformation
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
index 68d3f1d..fe4cd5b 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
@@ -80,6 +80,10 @@ func (m *CEMIAdditionalInformationBusmonitorInfo) GetAdditionalInformationType()
 func (m *CEMIAdditionalInformationBusmonitorInfo) InitializeParent(parent *CEMIAdditionalInformation) {
 }
 
+func (m *CEMIAdditionalInformationBusmonitorInfo) GetParent() *CEMIAdditionalInformation {
+	return m.CEMIAdditionalInformation
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
index 6719a5b..5ab321e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
@@ -65,6 +65,10 @@ func (m *CEMIAdditionalInformationRelativeTimestamp) GetAdditionalInformationTyp
 func (m *CEMIAdditionalInformationRelativeTimestamp) InitializeParent(parent *CEMIAdditionalInformation) {
 }
 
+func (m *CEMIAdditionalInformationRelativeTimestamp) GetParent() *CEMIAdditionalInformation {
+	return m.CEMIAdditionalInformation
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go
index a74b6e9..66b608f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTable.go
@@ -51,6 +51,8 @@ type IComObjectTableParent interface {
 type IComObjectTableChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ComObjectTable)
+	GetParent() *ComObjectTable
+
 	GetTypeName() string
 	IComObjectTable
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
index 14cc3b9..c4b6040 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
@@ -66,6 +66,10 @@ func (m *ComObjectTableRealisationType1) GetFirmwareType() FirmwareType {
 
 func (m *ComObjectTableRealisationType1) InitializeParent(parent *ComObjectTable) {}
 
+func (m *ComObjectTableRealisationType1) GetParent() *ComObjectTable {
+	return m.ComObjectTable
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
index ecc8481..5ba9495 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
@@ -66,6 +66,10 @@ func (m *ComObjectTableRealisationType2) GetFirmwareType() FirmwareType {
 
 func (m *ComObjectTableRealisationType2) InitializeParent(parent *ComObjectTable) {}
 
+func (m *ComObjectTableRealisationType2) GetParent() *ComObjectTable {
+	return m.ComObjectTable
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType6.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType6.go
index 4e5273d..c0b614d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType6.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType6.go
@@ -60,6 +60,10 @@ func (m *ComObjectTableRealisationType6) GetFirmwareType() FirmwareType {
 
 func (m *ComObjectTableRealisationType6) InitializeParent(parent *ComObjectTable) {}
 
+func (m *ComObjectTableRealisationType6) GetParent() *ComObjectTable {
+	return m.ComObjectTable
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
index df8d8a0..9e5006f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
@@ -66,6 +66,10 @@ func (m *ConnectionRequest) GetMsgType() uint16 {
 
 func (m *ConnectionRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *ConnectionRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
index d5d1a2a..8d3d5d0 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
@@ -51,6 +51,8 @@ type IConnectionRequestInformationParent interface {
 type IConnectionRequestInformationChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ConnectionRequestInformation)
+	GetParent() *ConnectionRequestInformation
+
 	GetTypeName() string
 	IConnectionRequestInformation
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
index 665e683..b231c53 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
@@ -57,6 +57,10 @@ func (m *ConnectionRequestInformationDeviceManagement) GetConnectionType() uint8
 func (m *ConnectionRequestInformationDeviceManagement) InitializeParent(parent *ConnectionRequestInformation) {
 }
 
+func (m *ConnectionRequestInformationDeviceManagement) GetParent() *ConnectionRequestInformation {
+	return m.ConnectionRequestInformation
+}
+
 // NewConnectionRequestInformationDeviceManagement factory function for ConnectionRequestInformationDeviceManagement
 func NewConnectionRequestInformationDeviceManagement() *ConnectionRequestInformation {
 	child := &ConnectionRequestInformationDeviceManagement{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
index 51de069..1d3c6c0 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
@@ -62,6 +62,10 @@ func (m *ConnectionRequestInformationTunnelConnection) GetConnectionType() uint8
 func (m *ConnectionRequestInformationTunnelConnection) InitializeParent(parent *ConnectionRequestInformation) {
 }
 
+func (m *ConnectionRequestInformationTunnelConnection) GetParent() *ConnectionRequestInformation {
+	return m.ConnectionRequestInformation
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
index 0395cdd..00b85fe 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
@@ -70,6 +70,10 @@ func (m *ConnectionResponse) GetMsgType() uint16 {
 
 func (m *ConnectionResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *ConnectionResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go
index 576f415c..3e6e36d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go
@@ -51,6 +51,8 @@ type IConnectionResponseDataBlockParent interface {
 type IConnectionResponseDataBlockChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ConnectionResponseDataBlock)
+	GetParent() *ConnectionResponseDataBlock
+
 	GetTypeName() string
 	IConnectionResponseDataBlock
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockDeviceManagement.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockDeviceManagement.go
index 3ad9f86..06543e3 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockDeviceManagement.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockDeviceManagement.go
@@ -57,6 +57,10 @@ func (m *ConnectionResponseDataBlockDeviceManagement) GetConnectionType() uint8
 func (m *ConnectionResponseDataBlockDeviceManagement) InitializeParent(parent *ConnectionResponseDataBlock) {
 }
 
+func (m *ConnectionResponseDataBlockDeviceManagement) GetParent() *ConnectionResponseDataBlock {
+	return m.ConnectionResponseDataBlock
+}
+
 // NewConnectionResponseDataBlockDeviceManagement factory function for ConnectionResponseDataBlockDeviceManagement
 func NewConnectionResponseDataBlockDeviceManagement() *ConnectionResponseDataBlock {
 	child := &ConnectionResponseDataBlockDeviceManagement{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
index 9483f48..5ed3bd4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
@@ -61,6 +61,10 @@ func (m *ConnectionResponseDataBlockTunnelConnection) GetConnectionType() uint8
 func (m *ConnectionResponseDataBlockTunnelConnection) InitializeParent(parent *ConnectionResponseDataBlock) {
 }
 
+func (m *ConnectionResponseDataBlockTunnelConnection) GetParent() *ConnectionResponseDataBlock {
+	return m.ConnectionResponseDataBlock
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
index ffbc118..5de8785 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
@@ -64,6 +64,10 @@ func (m *ConnectionStateRequest) GetMsgType() uint16 {
 
 func (m *ConnectionStateRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *ConnectionStateRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
index e7c7fe0..a417613 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
@@ -63,6 +63,10 @@ func (m *ConnectionStateResponse) GetMsgType() uint16 {
 
 func (m *ConnectionStateResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *ConnectionStateResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
index 2ed5ab3..e4c0617 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
@@ -60,6 +60,10 @@ func (m *DescriptionRequest) GetMsgType() uint16 {
 
 func (m *DescriptionRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DescriptionRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
index 3688f0f..2dd1c30 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
@@ -63,6 +63,10 @@ func (m *DescriptionResponse) GetMsgType() uint16 {
 
 func (m *DescriptionResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DescriptionResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
index 2a60b91..6ee3f14 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
@@ -60,6 +60,10 @@ func (m *DeviceConfigurationAck) GetMsgType() uint16 {
 
 func (m *DeviceConfigurationAck) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DeviceConfigurationAck) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
index a194831..3fed427 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
@@ -66,6 +66,10 @@ func (m *DeviceConfigurationRequest) GetMsgType() uint16 {
 
 func (m *DeviceConfigurationRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DeviceConfigurationRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
index cacafaa..aa93e24 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
@@ -64,6 +64,10 @@ func (m *DisconnectRequest) GetMsgType() uint16 {
 
 func (m *DisconnectRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DisconnectRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
index e8cb49d..7808a8d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
@@ -63,6 +63,10 @@ func (m *DisconnectResponse) GetMsgType() uint16 {
 
 func (m *DisconnectResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *DisconnectResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go
index df4149f..6047f52 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go
@@ -51,6 +51,8 @@ type IKnxGroupAddressParent interface {
 type IKnxGroupAddressChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *KnxGroupAddress)
+	GetParent() *KnxGroupAddress
+
 	GetTypeName() string
 	IKnxGroupAddress
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go
index 2c64eb2..6dbce2d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go
@@ -63,6 +63,10 @@ func (m *KnxGroupAddress2Level) GetNumLevels() uint8 {
 
 func (m *KnxGroupAddress2Level) InitializeParent(parent *KnxGroupAddress) {}
 
+func (m *KnxGroupAddress2Level) GetParent() *KnxGroupAddress {
+	return m.KnxGroupAddress
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go
index 60c05b6..efba790 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go
@@ -66,6 +66,10 @@ func (m *KnxGroupAddress3Level) GetNumLevels() uint8 {
 
 func (m *KnxGroupAddress3Level) InitializeParent(parent *KnxGroupAddress) {}
 
+func (m *KnxGroupAddress3Level) GetParent() *KnxGroupAddress {
+	return m.KnxGroupAddress
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go
index 611edc8..2bf9fac 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go
@@ -60,6 +60,10 @@ func (m *KnxGroupAddressFreeLevel) GetNumLevels() uint8 {
 
 func (m *KnxGroupAddressFreeLevel) InitializeParent(parent *KnxGroupAddress) {}
 
+func (m *KnxGroupAddressFreeLevel) GetParent() *KnxGroupAddress {
+	return m.KnxGroupAddress
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
index 39fc963..8b9f22f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
@@ -60,6 +60,10 @@ func (m *KnxNetIpCore) GetServiceType() uint8 {
 
 func (m *KnxNetIpCore) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetIpCore) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
index ccf51bf..2f949ab 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
@@ -60,6 +60,10 @@ func (m *KnxNetIpDeviceManagement) GetServiceType() uint8 {
 
 func (m *KnxNetIpDeviceManagement) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetIpDeviceManagement) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go
index 0245aba..238652a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go
@@ -55,6 +55,8 @@ type IKnxNetIpMessageParent interface {
 type IKnxNetIpMessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *KnxNetIpMessage)
+	GetParent() *KnxNetIpMessage
+
 	GetTypeName() string
 	IKnxNetIpMessage
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go
index eb3bd8a..2b915c9 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpRouting.go
@@ -60,6 +60,10 @@ func (m *KnxNetIpRouting) GetServiceType() uint8 {
 
 func (m *KnxNetIpRouting) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetIpRouting) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
index a85542b..cddc18a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
@@ -60,6 +60,10 @@ func (m *KnxNetIpTunneling) GetServiceType() uint8 {
 
 func (m *KnxNetIpTunneling) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetIpTunneling) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
index 8229301..0121d4a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
@@ -60,6 +60,10 @@ func (m *KnxNetObjectServer) GetServiceType() uint8 {
 
 func (m *KnxNetObjectServer) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetObjectServer) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
index 69cf4f7..dd386c9 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
@@ -60,6 +60,10 @@ func (m *KnxNetRemoteConfigurationAndDiagnosis) GetServiceType() uint8 {
 
 func (m *KnxNetRemoteConfigurationAndDiagnosis) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetRemoteConfigurationAndDiagnosis) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
index 2e5deac..a3de8ad 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
@@ -60,6 +60,10 @@ func (m *KnxNetRemoteLogging) GetServiceType() uint8 {
 
 func (m *KnxNetRemoteLogging) InitializeParent(parent *ServiceId) {}
 
+func (m *KnxNetRemoteLogging) GetParent() *ServiceId {
+	return m.ServiceId
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
index 42d465c..de5c4fa 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
@@ -72,6 +72,10 @@ func (m *LBusmonInd) GetMessageCode() uint8 {
 
 func (m *LBusmonInd) InitializeParent(parent *CEMI) {}
 
+func (m *LBusmonInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
index 11c2713..e758722 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
@@ -69,6 +69,10 @@ func (m *LDataCon) GetMessageCode() uint8 {
 
 func (m *LDataCon) InitializeParent(parent *CEMI) {}
 
+func (m *LDataCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
index d57357f..592ba5d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
@@ -85,6 +85,10 @@ func (m *LDataExtended) InitializeParent(parent *LDataFrame, frameType bool, not
 	m.LDataFrame.ErrorFlag = errorFlag
 }
 
+func (m *LDataExtended) GetParent() *LDataFrame {
+	return m.LDataFrame
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrame.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrame.go
index 182d142..a61368f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrame.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrame.go
@@ -68,6 +68,8 @@ type ILDataFrameParent interface {
 type ILDataFrameChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *LDataFrame, frameType bool, notRepeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool)
+	GetParent() *LDataFrame
+
 	GetTypeName() string
 	ILDataFrame
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go
index 599fc03..8c65e02 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataFrameACK.go
@@ -66,6 +66,10 @@ func (m *LDataFrameACK) InitializeParent(parent *LDataFrame, frameType bool, not
 	m.LDataFrame.ErrorFlag = errorFlag
 }
 
+func (m *LDataFrameACK) GetParent() *LDataFrame {
+	return m.LDataFrame
+}
+
 // NewLDataFrameACK factory function for LDataFrameACK
 func NewLDataFrameACK(frameType bool, notRepeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *LDataFrame {
 	child := &LDataFrameACK{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
index 3ddc4f3..0977f39 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
@@ -69,6 +69,10 @@ func (m *LDataInd) GetMessageCode() uint8 {
 
 func (m *LDataInd) InitializeParent(parent *CEMI) {}
 
+func (m *LDataInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
index f9bdbb2..cc5192c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
@@ -69,6 +69,10 @@ func (m *LDataReq) GetMessageCode() uint8 {
 
 func (m *LDataReq) InitializeParent(parent *CEMI) {}
 
+func (m *LDataReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
index af101cd..9c622dc 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
@@ -77,6 +77,10 @@ func (m *LPollData) InitializeParent(parent *LDataFrame, frameType bool, notRepe
 	m.LDataFrame.ErrorFlag = errorFlag
 }
 
+func (m *LPollData) GetParent() *LDataFrame {
+	return m.LDataFrame
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataCon.go
index 7dbfece..e1fb79e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataCon.go
@@ -59,6 +59,10 @@ func (m *LPollDataCon) GetMessageCode() uint8 {
 
 func (m *LPollDataCon) InitializeParent(parent *CEMI) {}
 
+func (m *LPollDataCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewLPollDataCon factory function for LPollDataCon
 func NewLPollDataCon(size uint16) *CEMI {
 	child := &LPollDataCon{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataReq.go
index e642ff9..2587a16 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollDataReq.go
@@ -59,6 +59,10 @@ func (m *LPollDataReq) GetMessageCode() uint8 {
 
 func (m *LPollDataReq) InitializeParent(parent *CEMI) {}
 
+func (m *LPollDataReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewLPollDataReq factory function for LPollDataReq
 func NewLPollDataReq(size uint16) *CEMI {
 	child := &LPollDataReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawCon.go
index bc6b35e..98e411d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawCon.go
@@ -59,6 +59,10 @@ func (m *LRawCon) GetMessageCode() uint8 {
 
 func (m *LRawCon) InitializeParent(parent *CEMI) {}
 
+func (m *LRawCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewLRawCon factory function for LRawCon
 func NewLRawCon(size uint16) *CEMI {
 	child := &LRawCon{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawInd.go
index 5544b32..4b51ea6 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawInd.go
@@ -59,6 +59,10 @@ func (m *LRawInd) GetMessageCode() uint8 {
 
 func (m *LRawInd) InitializeParent(parent *CEMI) {}
 
+func (m *LRawInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewLRawInd factory function for LRawInd
 func NewLRawInd(size uint16) *CEMI {
 	child := &LRawInd{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawReq.go
index a6507df..d593e3f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LRawReq.go
@@ -59,6 +59,10 @@ func (m *LRawReq) GetMessageCode() uint8 {
 
 func (m *LRawReq) InitializeParent(parent *CEMI) {}
 
+func (m *LRawReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewLRawReq factory function for LRawReq
 func NewLRawReq(size uint16) *CEMI {
 	child := &LRawReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCommandReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCommandReq.go
index b62674f..d9b59d5 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCommandReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCommandReq.go
@@ -59,6 +59,10 @@ func (m *MFuncPropCommandReq) GetMessageCode() uint8 {
 
 func (m *MFuncPropCommandReq) InitializeParent(parent *CEMI) {}
 
+func (m *MFuncPropCommandReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMFuncPropCommandReq factory function for MFuncPropCommandReq
 func NewMFuncPropCommandReq(size uint16) *CEMI {
 	child := &MFuncPropCommandReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCon.go
index 987866d..b0338a3 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropCon.go
@@ -59,6 +59,10 @@ func (m *MFuncPropCon) GetMessageCode() uint8 {
 
 func (m *MFuncPropCon) InitializeParent(parent *CEMI) {}
 
+func (m *MFuncPropCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMFuncPropCon factory function for MFuncPropCon
 func NewMFuncPropCon(size uint16) *CEMI {
 	child := &MFuncPropCon{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropStateReadReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropStateReadReq.go
index 00e8e19..65375fe 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropStateReadReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MFuncPropStateReadReq.go
@@ -59,6 +59,10 @@ func (m *MFuncPropStateReadReq) GetMessageCode() uint8 {
 
 func (m *MFuncPropStateReadReq) InitializeParent(parent *CEMI) {}
 
+func (m *MFuncPropStateReadReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMFuncPropStateReadReq factory function for MFuncPropStateReadReq
 func NewMFuncPropStateReadReq(size uint16) *CEMI {
 	child := &MFuncPropStateReadReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropInfoInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropInfoInd.go
index a62867a..8d12c89 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropInfoInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropInfoInd.go
@@ -59,6 +59,10 @@ func (m *MPropInfoInd) GetMessageCode() uint8 {
 
 func (m *MPropInfoInd) InitializeParent(parent *CEMI) {}
 
+func (m *MPropInfoInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMPropInfoInd factory function for MPropInfoInd
 func NewMPropInfoInd(size uint16) *CEMI {
 	child := &MPropInfoInd{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadCon.go
index bfad5c9..f276e3d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadCon.go
@@ -78,6 +78,10 @@ func (m *MPropReadCon) GetMessageCode() uint8 {
 
 func (m *MPropReadCon) InitializeParent(parent *CEMI) {}
 
+func (m *MPropReadCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadReq.go
index 2959b22..dec243e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropReadReq.go
@@ -75,6 +75,10 @@ func (m *MPropReadReq) GetMessageCode() uint8 {
 
 func (m *MPropReadReq) InitializeParent(parent *CEMI) {}
 
+func (m *MPropReadReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteCon.go
index 2559e63..faf6762 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteCon.go
@@ -59,6 +59,10 @@ func (m *MPropWriteCon) GetMessageCode() uint8 {
 
 func (m *MPropWriteCon) InitializeParent(parent *CEMI) {}
 
+func (m *MPropWriteCon) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMPropWriteCon factory function for MPropWriteCon
 func NewMPropWriteCon(size uint16) *CEMI {
 	child := &MPropWriteCon{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteReq.go
index 4ddd4c7..f53262f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MPropWriteReq.go
@@ -59,6 +59,10 @@ func (m *MPropWriteReq) GetMessageCode() uint8 {
 
 func (m *MPropWriteReq) InitializeParent(parent *CEMI) {}
 
+func (m *MPropWriteReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMPropWriteReq factory function for MPropWriteReq
 func NewMPropWriteReq(size uint16) *CEMI {
 	child := &MPropWriteReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetInd.go
index 3004c88..0113872 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetInd.go
@@ -59,6 +59,10 @@ func (m *MResetInd) GetMessageCode() uint8 {
 
 func (m *MResetInd) InitializeParent(parent *CEMI) {}
 
+func (m *MResetInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMResetInd factory function for MResetInd
 func NewMResetInd(size uint16) *CEMI {
 	child := &MResetInd{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetReq.go
index 361395f..6246f99 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MResetReq.go
@@ -59,6 +59,10 @@ func (m *MResetReq) GetMessageCode() uint8 {
 
 func (m *MResetReq) InitializeParent(parent *CEMI) {}
 
+func (m *MResetReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewMResetReq factory function for MResetReq
 func NewMResetReq(size uint16) *CEMI {
 	child := &MResetReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go
index e0bf636..9b604ee 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go
@@ -56,6 +56,10 @@ func (m *RoutingIndication) GetMsgType() uint16 {
 
 func (m *RoutingIndication) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *RoutingIndication) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 // NewRoutingIndication factory function for RoutingIndication
 func NewRoutingIndication() *KnxNetIpMessage {
 	child := &RoutingIndication{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
index 124016d..224d2b5 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
@@ -60,6 +60,10 @@ func (m *SearchRequest) GetMsgType() uint16 {
 
 func (m *SearchRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *SearchRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
index 65e2c9c..9d4b65c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
@@ -66,6 +66,10 @@ func (m *SearchResponse) GetMsgType() uint16 {
 
 func (m *SearchResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *SearchResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go
index 80f6c85..882c8dc 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go
@@ -51,6 +51,8 @@ type IServiceIdParent interface {
 type IServiceIdChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ServiceId)
+	GetParent() *ServiceId
+
 	GetTypeName() string
 	IServiceId
 }
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedInd.go
index cc2a971..df0b9fa 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedInd.go
@@ -59,6 +59,10 @@ func (m *TDataConnectedInd) GetMessageCode() uint8 {
 
 func (m *TDataConnectedInd) InitializeParent(parent *CEMI) {}
 
+func (m *TDataConnectedInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewTDataConnectedInd factory function for TDataConnectedInd
 func NewTDataConnectedInd(size uint16) *CEMI {
 	child := &TDataConnectedInd{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedReq.go
index 8084e1d..2fd5c71 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataConnectedReq.go
@@ -59,6 +59,10 @@ func (m *TDataConnectedReq) GetMessageCode() uint8 {
 
 func (m *TDataConnectedReq) InitializeParent(parent *CEMI) {}
 
+func (m *TDataConnectedReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewTDataConnectedReq factory function for TDataConnectedReq
 func NewTDataConnectedReq(size uint16) *CEMI {
 	child := &TDataConnectedReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualInd.go
index 63dc841..0edc80d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualInd.go
@@ -59,6 +59,10 @@ func (m *TDataIndividualInd) GetMessageCode() uint8 {
 
 func (m *TDataIndividualInd) InitializeParent(parent *CEMI) {}
 
+func (m *TDataIndividualInd) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewTDataIndividualInd factory function for TDataIndividualInd
 func NewTDataIndividualInd(size uint16) *CEMI {
 	child := &TDataIndividualInd{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualReq.go
index 226e405..b387501 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TDataIndividualReq.go
@@ -59,6 +59,10 @@ func (m *TDataIndividualReq) GetMessageCode() uint8 {
 
 func (m *TDataIndividualReq) InitializeParent(parent *CEMI) {}
 
+func (m *TDataIndividualReq) GetParent() *CEMI {
+	return m.CEMI
+}
+
 // NewTDataIndividualReq factory function for TDataIndividualReq
 func NewTDataIndividualReq(size uint16) *CEMI {
 	child := &TDataIndividualReq{
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
index d4841b7..67dfc5a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
@@ -66,6 +66,10 @@ func (m *TunnelingRequest) GetMsgType() uint16 {
 
 func (m *TunnelingRequest) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *TunnelingRequest) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
index 3edc684..64c9836 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
@@ -60,6 +60,10 @@ func (m *TunnelingResponse) GetMsgType() uint16 {
 
 func (m *TunnelingResponse) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *TunnelingResponse) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
index ee6707c..f52802e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
@@ -63,6 +63,10 @@ func (m *UnknownMessage) GetMsgType() uint16 {
 
 func (m *UnknownMessage) InitializeParent(parent *KnxNetIpMessage) {}
 
+func (m *UnknownMessage) GetParent() *KnxNetIpMessage {
+	return m.KnxNetIpMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go
index 587d9b6..acf9610 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go
@@ -55,6 +55,8 @@ type IModbusPDUParent interface {
 type IModbusPDUChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *ModbusPDU)
+	GetParent() *ModbusPDU
+
 	GetTypeName() string
 	IModbusPDU
 }
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
index b68eb10..b99f037 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUDiagnosticRequest) GetResponse() bool {
 
 func (m *ModbusPDUDiagnosticRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUDiagnosticRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go
index e5e138b..469ee45 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUDiagnosticResponse) GetResponse() bool {
 
 func (m *ModbusPDUDiagnosticResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUDiagnosticResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
index 0a86a61..c2dd20a 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUError) GetResponse() bool {
 
 func (m *ModbusPDUError) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUError) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go
index e9d9119..22b0ac1 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go
@@ -64,6 +64,10 @@ func (m *ModbusPDUGetComEventCounterRequest) GetResponse() bool {
 
 func (m *ModbusPDUGetComEventCounterRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUGetComEventCounterRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 // NewModbusPDUGetComEventCounterRequest factory function for ModbusPDUGetComEventCounterRequest
 func NewModbusPDUGetComEventCounterRequest() *ModbusPDU {
 	child := &ModbusPDUGetComEventCounterRequest{
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go
index d92b485..5b69321 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUGetComEventCounterResponse) GetResponse() bool {
 
 func (m *ModbusPDUGetComEventCounterResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUGetComEventCounterResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go
index 220f493..604aec7 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go
@@ -64,6 +64,10 @@ func (m *ModbusPDUGetComEventLogRequest) GetResponse() bool {
 
 func (m *ModbusPDUGetComEventLogRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUGetComEventLogRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 // NewModbusPDUGetComEventLogRequest factory function for ModbusPDUGetComEventLogRequest
 func NewModbusPDUGetComEventLogRequest() *ModbusPDU {
 	child := &ModbusPDUGetComEventLogRequest{
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
index dfe1576..20cd69f 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
@@ -77,6 +77,10 @@ func (m *ModbusPDUGetComEventLogResponse) GetResponse() bool {
 
 func (m *ModbusPDUGetComEventLogResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUGetComEventLogResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
index 3411fba..d72c465 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
@@ -74,6 +74,10 @@ func (m *ModbusPDUMaskWriteHoldingRegisterRequest) GetResponse() bool {
 
 func (m *ModbusPDUMaskWriteHoldingRegisterRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUMaskWriteHoldingRegisterRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
index cfd131c..989eaa5 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
@@ -74,6 +74,10 @@ func (m *ModbusPDUMaskWriteHoldingRegisterResponse) GetResponse() bool {
 
 func (m *ModbusPDUMaskWriteHoldingRegisterResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUMaskWriteHoldingRegisterResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
index e61f535..2c5f9fd 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUReadCoilsRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadCoilsRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadCoilsRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
index a883743..72c1f49 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadCoilsResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadCoilsResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadCoilsResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go
index 77b74a6..de17b14 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go
@@ -75,6 +75,10 @@ func (m *ModbusPDUReadDeviceIdentificationRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadDeviceIdentificationRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadDeviceIdentificationRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go
index 8e32cdc..b2b54ea 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go
@@ -87,6 +87,10 @@ func (m *ModbusPDUReadDeviceIdentificationResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadDeviceIdentificationResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadDeviceIdentificationResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
index 1390d7e..b5e797f 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUReadDiscreteInputsRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadDiscreteInputsRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadDiscreteInputsRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
index 434bbdf..9e358d6 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadDiscreteInputsResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadDiscreteInputsResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadDiscreteInputsResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go
index 0418a21..9351efb 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go
@@ -64,6 +64,10 @@ func (m *ModbusPDUReadExceptionStatusRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadExceptionStatusRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadExceptionStatusRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 // NewModbusPDUReadExceptionStatusRequest factory function for ModbusPDUReadExceptionStatusRequest
 func NewModbusPDUReadExceptionStatusRequest() *ModbusPDU {
 	child := &ModbusPDUReadExceptionStatusRequest{
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
index 9a608bb..b96e17c 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadExceptionStatusResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadExceptionStatusResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadExceptionStatusResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
index b61f825..7bd0136 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadFifoQueueRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadFifoQueueRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadFifoQueueRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
index ba35f3e..407db92 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadFifoQueueResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadFifoQueueResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadFifoQueueResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
index 7bfffdb..b478edb 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadFileRecordRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadFileRecordRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadFileRecordRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
index fb73654..c79af62 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadFileRecordResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadFileRecordResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadFileRecordResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
index 972ccf1..80a0c77 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUReadHoldingRegistersRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadHoldingRegistersRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadHoldingRegistersRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
index d4c7b8b..d0f4287 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadHoldingRegistersResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadHoldingRegistersResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadHoldingRegistersResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
index da12003..8a1fa07 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUReadInputRegistersRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadInputRegistersRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadInputRegistersRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
index 8ee10f2..d511fb0 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadInputRegistersResponse) GetResponse() bool {
 
 func (m *ModbusPDUReadInputRegistersResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadInputRegistersResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
index 4c39188..b4d0d31 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
@@ -80,6 +80,10 @@ func (m *ModbusPDUReadWriteMultipleHoldingRegistersRequest) GetResponse() bool {
 
 func (m *ModbusPDUReadWriteMultipleHoldingRegistersRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadWriteMultipleHoldingRegistersRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
index af31d20..978ec74 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReadWriteMultipleHoldingRegistersResponse) GetResponse() bool
 
 func (m *ModbusPDUReadWriteMultipleHoldingRegistersResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReadWriteMultipleHoldingRegistersResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go
index 2eb4f7c..5ac517c 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go
@@ -64,6 +64,10 @@ func (m *ModbusPDUReportServerIdRequest) GetResponse() bool {
 
 func (m *ModbusPDUReportServerIdRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReportServerIdRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 // NewModbusPDUReportServerIdRequest factory function for ModbusPDUReportServerIdRequest
 func NewModbusPDUReportServerIdRequest() *ModbusPDU {
 	child := &ModbusPDUReportServerIdRequest{
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
index a0a0dc0..53b54fd 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUReportServerIdResponse) GetResponse() bool {
 
 func (m *ModbusPDUReportServerIdResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUReportServerIdResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
index aac54e5..fd02d9a 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUWriteFileRecordRequest) GetResponse() bool {
 
 func (m *ModbusPDUWriteFileRecordRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteFileRecordRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
index 825daf8..697023f 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
@@ -68,6 +68,10 @@ func (m *ModbusPDUWriteFileRecordResponse) GetResponse() bool {
 
 func (m *ModbusPDUWriteFileRecordResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteFileRecordResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
index f5eb20c..bf21d14 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
@@ -74,6 +74,10 @@ func (m *ModbusPDUWriteMultipleCoilsRequest) GetResponse() bool {
 
 func (m *ModbusPDUWriteMultipleCoilsRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteMultipleCoilsRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
index 018b1ed..8d574f6 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteMultipleCoilsResponse) GetResponse() bool {
 
 func (m *ModbusPDUWriteMultipleCoilsResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteMultipleCoilsResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
index 8ffe22a..8ae5943 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
@@ -74,6 +74,10 @@ func (m *ModbusPDUWriteMultipleHoldingRegistersRequest) GetResponse() bool {
 
 func (m *ModbusPDUWriteMultipleHoldingRegistersRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteMultipleHoldingRegistersRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
index e8dc099..71894b2 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteMultipleHoldingRegistersResponse) GetResponse() bool {
 
 func (m *ModbusPDUWriteMultipleHoldingRegistersResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteMultipleHoldingRegistersResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
index 243d1be..ec633f4 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteSingleCoilRequest) GetResponse() bool {
 
 func (m *ModbusPDUWriteSingleCoilRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteSingleCoilRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
index 5fd3cfa..7e3d727 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteSingleCoilResponse) GetResponse() bool {
 
 func (m *ModbusPDUWriteSingleCoilResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteSingleCoilResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
index c4fd201..a92db62 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteSingleRegisterRequest) GetResponse() bool {
 
 func (m *ModbusPDUWriteSingleRegisterRequest) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteSingleRegisterRequest) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
index 1a0b5ed..bf6d0b3 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
@@ -71,6 +71,10 @@ func (m *ModbusPDUWriteSingleRegisterResponse) GetResponse() bool {
 
 func (m *ModbusPDUWriteSingleRegisterResponse) InitializeParent(parent *ModbusPDU) {}
 
+func (m *ModbusPDUWriteSingleRegisterResponse) GetParent() *ModbusPDU {
+	return m.ModbusPDU
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
index 2783def..4b6b4dd 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
@@ -61,6 +61,8 @@ type ICOTPPacketParent interface {
 type ICOTPPacketChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *COTPPacket, parameters []*COTPParameter, payload *S7Message)
+	GetParent() *COTPPacket
+
 	GetTypeName() string
 	ICOTPPacket
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
index 44fa3b4..a868633 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
@@ -72,6 +72,10 @@ func (m *COTPPacketConnectionRequest) InitializeParent(parent *COTPPacket, param
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketConnectionRequest) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
index a00c1b3..b15ba25 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
@@ -72,6 +72,10 @@ func (m *COTPPacketConnectionResponse) InitializeParent(parent *COTPPacket, para
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketConnectionResponse) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
index 640fbdb..c2b6465 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
@@ -69,6 +69,10 @@ func (m *COTPPacketData) InitializeParent(parent *COTPPacket, parameters []*COTP
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketData) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
index d05baca..bb495ac 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
@@ -72,6 +72,10 @@ func (m *COTPPacketDisconnectRequest) InitializeParent(parent *COTPPacket, param
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketDisconnectRequest) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
index c4932f6..6e66337 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
@@ -69,6 +69,10 @@ func (m *COTPPacketDisconnectResponse) InitializeParent(parent *COTPPacket, para
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketDisconnectResponse) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
index d7be836..c940780 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
@@ -69,6 +69,10 @@ func (m *COTPPacketTpduError) InitializeParent(parent *COTPPacket, parameters []
 	m.COTPPacket.Payload = payload
 }
 
+func (m *COTPPacketTpduError) GetParent() *COTPPacket {
+	return m.COTPPacket
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go
index b2c5e6d..49d73aa 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go
@@ -54,6 +54,8 @@ type ICOTPParameterParent interface {
 type ICOTPParameterChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *COTPParameter)
+	GetParent() *COTPParameter
+
 	GetTypeName() string
 	ICOTPParameter
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
index bc76c06..9eeea99 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
@@ -63,6 +63,10 @@ func (m *COTPParameterCalledTsap) GetParameterType() uint8 {
 
 func (m *COTPParameterCalledTsap) InitializeParent(parent *COTPParameter) {}
 
+func (m *COTPParameterCalledTsap) GetParent() *COTPParameter {
+	return m.COTPParameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
index b5751ae..0fcc225 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
@@ -63,6 +63,10 @@ func (m *COTPParameterCallingTsap) GetParameterType() uint8 {
 
 func (m *COTPParameterCallingTsap) InitializeParent(parent *COTPParameter) {}
 
+func (m *COTPParameterCallingTsap) GetParent() *COTPParameter {
+	return m.COTPParameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
index 9f9b1bc..5b7fb68 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
@@ -63,6 +63,10 @@ func (m *COTPParameterChecksum) GetParameterType() uint8 {
 
 func (m *COTPParameterChecksum) InitializeParent(parent *COTPParameter) {}
 
+func (m *COTPParameterChecksum) GetParent() *COTPParameter {
+	return m.COTPParameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
index be1f796..328f670 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
@@ -63,6 +63,10 @@ func (m *COTPParameterDisconnectAdditionalInformation) GetParameterType() uint8
 
 func (m *COTPParameterDisconnectAdditionalInformation) InitializeParent(parent *COTPParameter) {}
 
+func (m *COTPParameterDisconnectAdditionalInformation) GetParent() *COTPParameter {
+	return m.COTPParameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
index 10977bd..7d8ccd3 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
@@ -63,6 +63,10 @@ func (m *COTPParameterTpduSize) GetParameterType() uint8 {
 
 func (m *COTPParameterTpduSize) InitializeParent(parent *COTPParameter) {}
 
+func (m *COTPParameterTpduSize) GetParent() *COTPParameter {
+	return m.COTPParameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7Address.go b/plc4go/internal/plc4go/s7/readwrite/model/S7Address.go
index 5c93173..7f2ee67 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7Address.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7Address.go
@@ -51,6 +51,8 @@ type IS7AddressParent interface {
 type IS7AddressChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7Address)
+	GetParent() *S7Address
+
 	GetTypeName() string
 	IS7Address
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go b/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
index 30049b0..ce79db3 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
@@ -76,6 +76,10 @@ func (m *S7AddressAny) GetAddressType() uint8 {
 
 func (m *S7AddressAny) InitializeParent(parent *S7Address) {}
 
+func (m *S7AddressAny) GetParent() *S7Address {
+	return m.S7Address
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go b/plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go
index d2d5b47..758d80e 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go
@@ -56,6 +56,8 @@ type IS7DataAlarmMessageParent interface {
 type IS7DataAlarmMessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7DataAlarmMessage)
+	GetParent() *S7DataAlarmMessage
+
 	GetTypeName() string
 	IS7DataAlarmMessage
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go b/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
index a7d9889..3d7acf9 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
@@ -66,6 +66,8 @@ type IS7MessageParent interface {
 type IS7MessageChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7Message, tpduReference uint16, parameter *S7Parameter, payload *S7Payload)
+	GetParent() *S7Message
+
 	GetTypeName() string
 	IS7Message
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go
index e9c3dcd..d84d5e0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go
@@ -72,6 +72,10 @@ func (m *S7MessageObjectRequest) GetCpuFunctionType() uint8 {
 
 func (m *S7MessageObjectRequest) InitializeParent(parent *S7DataAlarmMessage) {}
 
+func (m *S7MessageObjectRequest) GetParent() *S7DataAlarmMessage {
+	return m.S7DataAlarmMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go
index f428013..4d6d7fd 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go
@@ -64,6 +64,10 @@ func (m *S7MessageObjectResponse) GetCpuFunctionType() uint8 {
 
 func (m *S7MessageObjectResponse) InitializeParent(parent *S7DataAlarmMessage) {}
 
+func (m *S7MessageObjectResponse) GetParent() *S7DataAlarmMessage {
+	return m.S7DataAlarmMessage
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
index d9714d5..ac31314 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
@@ -60,6 +60,10 @@ func (m *S7MessageRequest) InitializeParent(parent *S7Message, tpduReference uin
 	m.S7Message.Payload = payload
 }
 
+func (m *S7MessageRequest) GetParent() *S7Message {
+	return m.S7Message
+}
+
 // NewS7MessageRequest factory function for S7MessageRequest
 func NewS7MessageRequest(tpduReference uint16, parameter *S7Parameter, payload *S7Payload) *S7Message {
 	child := &S7MessageRequest{
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
index 7db2172..52f96f0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
@@ -67,6 +67,10 @@ func (m *S7MessageResponse) InitializeParent(parent *S7Message, tpduReference ui
 	m.S7Message.Payload = payload
 }
 
+func (m *S7MessageResponse) GetParent() *S7Message {
+	return m.S7Message
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
index 9d5fc85..cdc239b 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
@@ -67,6 +67,10 @@ func (m *S7MessageResponseData) InitializeParent(parent *S7Message, tpduReferenc
 	m.S7Message.Payload = payload
 }
 
+func (m *S7MessageResponseData) GetParent() *S7Message {
+	return m.S7Message
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
index 78cd4a7..7534c9a 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
@@ -60,6 +60,10 @@ func (m *S7MessageUserData) InitializeParent(parent *S7Message, tpduReference ui
 	m.S7Message.Payload = payload
 }
 
+func (m *S7MessageUserData) GetParent() *S7Message {
+	return m.S7Message
+}
+
 // NewS7MessageUserData factory function for S7MessageUserData
 func NewS7MessageUserData(tpduReference uint16, parameter *S7Parameter, payload *S7Payload) *S7Message {
 	child := &S7MessageUserData{
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go b/plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go
index dc89a44..7f323c8 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go
@@ -53,6 +53,8 @@ type IS7ParameterParent interface {
 type IS7ParameterChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7Parameter)
+	GetParent() *S7Parameter
+
 	GetTypeName() string
 	IS7Parameter
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go
index 34e92e6..b164720 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go
@@ -77,6 +77,10 @@ func (m *S7ParameterModeTransition) GetMessageType() uint8 {
 
 func (m *S7ParameterModeTransition) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterModeTransition) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
index b031f0b..ea5863c 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
@@ -64,6 +64,10 @@ func (m *S7ParameterReadVarRequest) GetMessageType() uint8 {
 
 func (m *S7ParameterReadVarRequest) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterReadVarRequest) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
index c2a1358..e409764 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
@@ -64,6 +64,10 @@ func (m *S7ParameterReadVarResponse) GetMessageType() uint8 {
 
 func (m *S7ParameterReadVarResponse) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterReadVarResponse) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
index 5704472..31425ff 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
@@ -71,6 +71,10 @@ func (m *S7ParameterSetupCommunication) GetMessageType() uint8 {
 
 func (m *S7ParameterSetupCommunication) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterSetupCommunication) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
index daa3cbc..641387f 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
@@ -64,6 +64,10 @@ func (m *S7ParameterUserData) GetMessageType() uint8 {
 
 func (m *S7ParameterUserData) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterUserData) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go
index 877c424..0230610 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go
@@ -51,6 +51,8 @@ type IS7ParameterUserDataItemParent interface {
 type IS7ParameterUserDataItemChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7ParameterUserDataItem)
+	GetParent() *S7ParameterUserDataItem
+
 	GetTypeName() string
 	IS7ParameterUserDataItem
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
index c6e6567..407512d 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
@@ -81,6 +81,10 @@ func (m *S7ParameterUserDataItemCPUFunctions) GetItemType() uint8 {
 
 func (m *S7ParameterUserDataItemCPUFunctions) InitializeParent(parent *S7ParameterUserDataItem) {}
 
+func (m *S7ParameterUserDataItemCPUFunctions) GetParent() *S7ParameterUserDataItem {
+	return m.S7ParameterUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
index 972a6dd..6ce9005 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
@@ -64,6 +64,10 @@ func (m *S7ParameterWriteVarRequest) GetMessageType() uint8 {
 
 func (m *S7ParameterWriteVarRequest) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterWriteVarRequest) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go
index df7a63d..ea7fef6 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go
@@ -64,6 +64,10 @@ func (m *S7ParameterWriteVarResponse) GetMessageType() uint8 {
 
 func (m *S7ParameterWriteVarResponse) InitializeParent(parent *S7Parameter) {}
 
+func (m *S7ParameterWriteVarResponse) GetParent() *S7Parameter {
+	return m.S7Parameter
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go b/plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go
index c136c50..59ef6ee 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go
@@ -56,6 +56,8 @@ type IS7PayloadParent interface {
 type IS7PayloadChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7Payload)
+	GetParent() *S7Payload
+
 	GetTypeName() string
 	IS7Payload
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go
index 5456014..d6b0653 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go
@@ -71,6 +71,10 @@ func (m *S7PayloadAlarm8) InitializeParent(parent *S7PayloadUserDataItem, return
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadAlarm8) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go
index 6c2e6c0..fce1edc 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go
@@ -71,6 +71,10 @@ func (m *S7PayloadAlarmAckInd) InitializeParent(parent *S7PayloadUserDataItem, r
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadAlarmAckInd) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go
index 6ac76d2..c8f870a 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go
@@ -71,6 +71,10 @@ func (m *S7PayloadAlarmS) InitializeParent(parent *S7PayloadUserDataItem, return
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadAlarmS) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go
index 662fb19..c9f76b0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go
@@ -71,6 +71,10 @@ func (m *S7PayloadAlarmSC) InitializeParent(parent *S7PayloadUserDataItem, retur
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadAlarmSC) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go
index 1367cf8..54bcfe0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go
@@ -71,6 +71,10 @@ func (m *S7PayloadAlarmSQ) InitializeParent(parent *S7PayloadUserDataItem, retur
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadAlarmSQ) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go
index e0cd783..3438ae4 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go
@@ -89,6 +89,10 @@ func (m *S7PayloadDiagnosticMessage) InitializeParent(parent *S7PayloadUserDataI
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadDiagnosticMessage) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go
index c3aa6b9..0e32265 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go
@@ -71,6 +71,10 @@ func (m *S7PayloadNotify) InitializeParent(parent *S7PayloadUserDataItem, return
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadNotify) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go
index b12bda1..6051fd9 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go
@@ -71,6 +71,10 @@ func (m *S7PayloadNotify8) InitializeParent(parent *S7PayloadUserDataItem, retur
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadNotify8) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
index 734da7a..68118a6 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
@@ -67,6 +67,10 @@ func (m *S7PayloadReadVarResponse) GetMessageType() uint8 {
 
 func (m *S7PayloadReadVarResponse) InitializeParent(parent *S7Payload) {}
 
+func (m *S7PayloadReadVarResponse) GetParent() *S7Payload {
+	return m.S7Payload
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
index 51db321..b9509c1 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
@@ -67,6 +67,10 @@ func (m *S7PayloadUserData) GetMessageType() uint8 {
 
 func (m *S7PayloadUserData) InitializeParent(parent *S7Payload) {}
 
+func (m *S7PayloadUserData) GetParent() *S7Payload {
+	return m.S7Payload
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go
index 7cc1c62..7cefba1 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go
@@ -61,6 +61,8 @@ type IS7PayloadUserDataItemParent interface {
 type IS7PayloadUserDataItemChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7PayloadUserDataItem, returnCode DataTransportErrorCode, transportSize DataTransportSize)
+	GetParent() *S7PayloadUserDataItem
+
 	GetTypeName() string
 	IS7PayloadUserDataItem
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go
index c443426..568dc0c 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go
@@ -74,6 +74,10 @@ func (m *S7PayloadUserDataItemCpuFunctionAlarmAck) InitializeParent(parent *S7Pa
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionAlarmAck) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go
index 4c3676b..8b691c6 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go
@@ -74,6 +74,10 @@ func (m *S7PayloadUserDataItemCpuFunctionAlarmAckResponse) InitializeParent(pare
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionAlarmAckResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go
index 998dab1..9797e73 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go
@@ -85,6 +85,10 @@ func (m *S7PayloadUserDataItemCpuFunctionAlarmQuery) InitializeParent(parent *S7
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionAlarmQuery) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go
index 834e7b0..fc502ae 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go
@@ -80,6 +80,10 @@ func (m *S7PayloadUserDataItemCpuFunctionAlarmQueryResponse) InitializeParent(pa
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionAlarmQueryResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
index 97440cf..7220236 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
@@ -81,6 +81,10 @@ func (m *S7PayloadUserDataItemCpuFunctionMsgSubscription) InitializeParent(paren
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionMsgSubscription) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go
index 4cabcf2..2dba76c 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go
@@ -83,6 +83,10 @@ func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse) Initializ
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go
index a57e688..920cda7 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go
@@ -67,6 +67,10 @@ func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse) InitializePare
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 // NewS7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse factory function for S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse
 func NewS7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse(returnCode DataTransportErrorCode, transportSize DataTransportSize) *S7PayloadUserDataItem {
 	child := &S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse{
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go
index 2f6bd81..1ae393c 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go
@@ -74,6 +74,10 @@ func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse) InitializeP
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go
index 4c9f95e..ae1df52 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go
@@ -74,6 +74,10 @@ func (m *S7PayloadUserDataItemCpuFunctionReadSzlRequest) InitializeParent(parent
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionReadSzlRequest) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
index 4d96cf8..60bf55a 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
@@ -81,6 +81,10 @@ func (m *S7PayloadUserDataItemCpuFunctionReadSzlResponse) InitializeParent(paren
 	m.S7PayloadUserDataItem.TransportSize = transportSize
 }
 
+func (m *S7PayloadUserDataItemCpuFunctionReadSzlResponse) GetParent() *S7PayloadUserDataItem {
+	return m.S7PayloadUserDataItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
index 7f7fb30..ae1965e 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
@@ -67,6 +67,10 @@ func (m *S7PayloadWriteVarRequest) GetMessageType() uint8 {
 
 func (m *S7PayloadWriteVarRequest) InitializeParent(parent *S7Payload) {}
 
+func (m *S7PayloadWriteVarRequest) GetParent() *S7Payload {
+	return m.S7Payload
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
index 1c02c0a..b8b785a 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
@@ -67,6 +67,10 @@ func (m *S7PayloadWriteVarResponse) GetMessageType() uint8 {
 
 func (m *S7PayloadWriteVarResponse) InitializeParent(parent *S7Payload) {}
 
+func (m *S7PayloadWriteVarResponse) GetParent() *S7Payload {
+	return m.S7Payload
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go b/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go
index 4515095..7791480 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go
@@ -51,6 +51,8 @@ type IS7VarRequestParameterItemParent interface {
 type IS7VarRequestParameterItemChild interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 	InitializeParent(parent *S7VarRequestParameterItem)
+	GetParent() *S7VarRequestParameterItem
+
 	GetTypeName() string
 	IS7VarRequestParameterItem
 }
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go b/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go
index 514a218..b4a7349 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go
@@ -60,6 +60,10 @@ func (m *S7VarRequestParameterItemAddress) GetItemType() uint8 {
 
 func (m *S7VarRequestParameterItemAddress) InitializeParent(parent *S7VarRequestParameterItem) {}
 
+func (m *S7VarRequestParameterItemAddress) GetParent() *S7VarRequestParameterItem {
+	return m.S7VarRequestParameterItem
+}
+
 ///////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////
 /////////////////////// Accessors for property fields.