You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/04/20 22:49:01 UTC

[plc4x] branch develop updated: plc4go: regenerate go-code and added missing options

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 3211e42  plc4go: regenerate go-code and added missing options
3211e42 is described below

commit 3211e42cc4c9e44e547d779b3cd0373e558e0a8c
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Apr 21 00:48:49 2021 +0200

    plc4go: regenerate go-code and added missing options
---
 .../resources/templates/go/model-template.go.ftlh  |  4 +-
 .../model/AdsDeviceNotificationRequest.go          |  8 ++--
 .../ads/readwrite/model/AdsNotificationSample.go   |  8 ++--
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |  8 ++--
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |  8 ++--
 .../ads/readwrite/model/AdsReadWriteRequest.go     | 16 ++++----
 .../ads/readwrite/model/AdsReadWriteResponse.go    |  8 ++--
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |  8 ++--
 .../ads/readwrite/model/AdsWriteControlRequest.go  |  8 ++--
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |  8 ++--
 .../bacnetip/readwrite/model/BACnetAddress.go      |  8 ++--
 ...firmedServiceRequestConfirmedCOVNotification.go | 16 ++++----
 .../BACnetConfirmedServiceRequestReadProperty.go   |  8 ++--
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  8 ++--
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  8 ++--
 .../readwrite/model/BACnetErrorReadProperty.go     | 16 ++++----
 .../model/BACnetServiceAckReadProperty.go          |  8 ++--
 .../model/BACnetTagApplicationBitString.go         |  8 ++--
 .../model/BACnetTagApplicationEnumerated.go        |  8 ++--
 .../model/BACnetTagApplicationSignedInteger.go     |  8 ++--
 .../model/BACnetTagApplicationUnsignedInteger.go   |  8 ++--
 .../bacnetip/readwrite/model/BACnetTagContext.go   |  8 ++--
 .../readwrite/model/BACnetTagWithContent.go        |  8 ++--
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  8 ++--
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  8 ++--
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |  8 ++--
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  | 16 ++++----
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |  8 ++--
 .../readwrite/model/NLMIAmRouterToNetwork.go       |  8 ++--
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |  8 ++--
 .../plc4go/bacnetip/readwrite/model/NPDU.go        | 16 ++++----
 .../model/ApduDataDeviceDescriptorResponse.go      |  8 ++--
 .../readwrite/model/ApduDataExtAuthorizeRequest.go |  8 ++--
 .../model/ApduDataExtPropertyValueResponse.go      |  8 ++--
 .../model/ApduDataExtPropertyValueWrite.go         |  8 ++--
 .../readwrite/model/ApduDataGroupValueResponse.go  |  8 ++--
 .../readwrite/model/ApduDataGroupValueWrite.go     |  8 ++--
 .../readwrite/model/ApduDataMemoryResponse.go      |  8 ++--
 .../model/ComObjectTableRealisationType1.go        |  8 ++--
 .../model/ComObjectTableRealisationType2.go        |  8 ++--
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      | 16 ++++----
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |  8 ++--
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |  8 ++--
 .../plc4go/knxnetip/readwrite/model/LBusmonInd.go  |  8 ++--
 .../plc4go/knxnetip/readwrite/model/LDataCon.go    |  8 ++--
 .../knxnetip/readwrite/model/LDataExtended.go      |  8 ++--
 .../plc4go/knxnetip/readwrite/model/LDataInd.go    |  8 ++--
 .../plc4go/knxnetip/readwrite/model/LDataReq.go    |  8 ++--
 .../plc4go/knxnetip/readwrite/model/LPollData.go   |  8 ++--
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |  8 ++--
 .../knxnetip/readwrite/model/UnknownMessage.go     |  8 ++--
 .../model/ModbusPDUGetComEventLogResponse.go       |  8 ++--
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |  8 ++--
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |  8 ++--
 .../model/ModbusPDUReadFifoQueueResponse.go        |  8 ++--
 .../model/ModbusPDUReadFileRecordRequest.go        |  8 ++--
 .../model/ModbusPDUReadFileRecordResponse.go       |  8 ++--
 .../model/ModbusPDUReadFileRecordResponseItem.go   |  8 ++--
 .../model/ModbusPDUReadHoldingRegistersResponse.go |  8 ++--
 .../model/ModbusPDUReadInputRegistersResponse.go   |  8 ++--
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |  8 ++--
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |  8 ++--
 .../model/ModbusPDUReportServerIdResponse.go       |  8 ++--
 .../model/ModbusPDUWriteFileRecordRequest.go       |  8 ++--
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |  8 ++--
 .../model/ModbusPDUWriteFileRecordResponse.go      |  8 ++--
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |  8 ++--
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |  8 ++--
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |  8 ++--
 ...COTPParameterDisconnectAdditionalInformation.go |  8 ++--
 .../readwrite/model/S7ParameterReadVarRequest.go   |  8 ++--
 .../s7/readwrite/model/S7ParameterUserData.go      |  8 ++--
 .../readwrite/model/S7ParameterWriteVarRequest.go  |  8 ++--
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |  8 ++--
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |  8 ++--
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  8 ++--
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |  8 ++--
 .../readwrite/model/S7PayloadWriteVarResponse.go   |  8 ++--
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |  8 ++--
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |  8 ++--
 plc4go/internal/plc4go/s7/s7Io_test.go             | 48 +++++++++++-----------
 .../plc4go/spi/testutils/steptype_string.go        | 17 ++++++++
 82 files changed, 384 insertions(+), 365 deletions(-)

diff --git a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
index 5d138f5..af2abd8 100644
--- a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -937,7 +937,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
 
 	// Array Field (${arrayField.name})
 	if m.${arrayField.name?cap_first} != nil {
-		io.PushContext("${arrayField.name}")
+		io.PushContext("${arrayField.name}", utils.WithRenderAsList(true))
 				<#if helper.isComplexTypeReference(arrayField.type) && (helper.needsVariable(arrayField, "curItem", true) || helper.needsVariable(arrayField, "lastItem", true))>
 		itemCount := uint16(len(m.${arrayField.name?cap_first}))
 		var curItem uint16 = 0
@@ -960,7 +960,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if helper.getSerializerAr
 			curItem++
 				</#if>
 		}
-		io.PopContext("${arrayField.name}")
+		io.PopContext("${arrayField.name}", utils.WithRenderAsList(true))
 	}
 				<#break>
 			<#case "checksum">
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 373418c..6437fea 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -137,7 +137,7 @@ func AdsDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (adsStampHeaders)
-	io.PullContext("adsStampHeaders")
+	io.PullContext("adsStampHeaders", utils.WithRenderAsList(true))
 	// Count array
 	adsStampHeaders := make([]*AdsStampHeader, stamps)
 	for curItem := uint16(0); curItem < uint16(stamps); curItem++ {
@@ -147,7 +147,7 @@ func AdsDeviceNotificationRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		adsStampHeaders[curItem] = _item
 	}
-	io.CloseContext("adsStampHeaders")
+	io.CloseContext("adsStampHeaders", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsDeviceNotificationRequest")
 
@@ -182,14 +182,14 @@ func (m *AdsDeviceNotificationRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (adsStampHeaders)
 		if m.AdsStampHeaders != nil {
-			io.PushContext("adsStampHeaders")
+			io.PushContext("adsStampHeaders", utils.WithRenderAsList(true))
 			for _, _element := range m.AdsStampHeaders {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
 				}
 			}
-			io.PopContext("adsStampHeaders")
+			io.PopContext("adsStampHeaders", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsDeviceNotificationRequest")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index eb91ede..393fa63 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -108,7 +108,7 @@ func AdsNotificationSampleParse(io utils.ReadBuffer) (*AdsNotificationSample, er
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, sampleSize)
 	for curItem := uint16(0); curItem < uint16(sampleSize); curItem++ {
@@ -118,7 +118,7 @@ func AdsNotificationSampleParse(io utils.ReadBuffer) (*AdsNotificationSample, er
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsNotificationSample")
 
@@ -145,14 +145,14 @@ func (m *AdsNotificationSample) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (data)
 	if m.Data != nil {
-		io.PushContext("data")
+		io.PushContext("data", utils.WithRenderAsList(true))
 		for _, _element := range m.Data {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
-		io.PopContext("data")
+		io.PopContext("data", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("AdsNotificationSample")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 13732ac..08950d8 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -161,7 +161,7 @@ func AdsReadDeviceInfoResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (device)
-	io.PullContext("device")
+	io.PullContext("device", utils.WithRenderAsList(true))
 	// Count array
 	device := make([]int8, uint16(16))
 	for curItem := uint16(0); curItem < uint16(uint16(16)); curItem++ {
@@ -171,7 +171,7 @@ func AdsReadDeviceInfoResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		device[curItem] = _item
 	}
-	io.CloseContext("device")
+	io.CloseContext("device", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsReadDeviceInfoResponse")
 
@@ -223,14 +223,14 @@ func (m *AdsReadDeviceInfoResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (device)
 		if m.Device != nil {
-			io.PushContext("device")
+			io.PushContext("device", utils.WithRenderAsList(true))
 			for _, _element := range m.Device {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'device' field")
 				}
 			}
-			io.PopContext("device")
+			io.PopContext("device", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsReadDeviceInfoResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index bf34bb0..9f40f6b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -138,7 +138,7 @@ func AdsReadResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, length)
 	for curItem := uint16(0); curItem < uint16(length); curItem++ {
@@ -148,7 +148,7 @@ func AdsReadResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsReadResponse")
 
@@ -183,14 +183,14 @@ func (m *AdsReadResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsReadResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index fb599f2..ba07a28 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -167,7 +167,7 @@ func AdsReadWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (61568)))) || bool(bool(bool((indexGroup) == (61569))))) || bool(bool(bool((indexGroup) == (61570))))), func() uint16 { return uint16(indexOffset) }, func() uint16 { return uint16(uint16(0)) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (61568)))) || bool(bool(bool((indexGroup) == (61569))))) || bool(bool(bool((indexGroup) == (61570))))), func() uint16 { return uint16(indexOffset) }, func() uint16 { return uint16(uint16(0)) })); curItem++ {
@@ -177,10 +177,10 @@ func AdsReadWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12)))))
 	for curItem := uint16(0); curItem < uint16(uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12))))); curItem++ {
@@ -190,7 +190,7 @@ func AdsReadWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsReadWriteRequest")
 
@@ -241,26 +241,26 @@ func (m *AdsReadWriteRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsReadWriteRequest")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index a933d14..e1db1fa 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -138,7 +138,7 @@ func AdsReadWriteResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, length)
 	for curItem := uint16(0); curItem < uint16(length); curItem++ {
@@ -148,7 +148,7 @@ func AdsReadWriteResponseParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsReadWriteResponse")
 
@@ -183,14 +183,14 @@ func (m *AdsReadWriteResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsReadWriteResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index 3a8011a..4d93be6 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -109,7 +109,7 @@ func AdsStampHeaderParse(io utils.ReadBuffer) (*AdsStampHeader, error) {
 	}
 
 	// Array field (adsNotificationSamples)
-	io.PullContext("adsNotificationSamples")
+	io.PullContext("adsNotificationSamples", utils.WithRenderAsList(true))
 	// Count array
 	adsNotificationSamples := make([]*AdsNotificationSample, samples)
 	for curItem := uint16(0); curItem < uint16(samples); curItem++ {
@@ -119,7 +119,7 @@ func AdsStampHeaderParse(io utils.ReadBuffer) (*AdsStampHeader, error) {
 		}
 		adsNotificationSamples[curItem] = _item
 	}
-	io.CloseContext("adsNotificationSamples")
+	io.CloseContext("adsNotificationSamples", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsStampHeader")
 
@@ -146,14 +146,14 @@ func (m *AdsStampHeader) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (adsNotificationSamples)
 	if m.AdsNotificationSamples != nil {
-		io.PushContext("adsNotificationSamples")
+		io.PushContext("adsNotificationSamples", utils.WithRenderAsList(true))
 		for _, _element := range m.AdsNotificationSamples {
 			_elementErr := _element.Serialize(io)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'adsNotificationSamples' field")
 			}
 		}
-		io.PopContext("adsNotificationSamples")
+		io.PopContext("adsNotificationSamples", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("AdsStampHeader")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index cf0c346..2e10e07 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -146,7 +146,7 @@ func AdsWriteControlRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, length)
 	for curItem := uint16(0); curItem < uint16(length); curItem++ {
@@ -156,7 +156,7 @@ func AdsWriteControlRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsWriteControlRequest")
 
@@ -198,14 +198,14 @@ func (m *AdsWriteControlRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsWriteControlRequest")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index 67dc863..cb628ec 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -146,7 +146,7 @@ func AdsWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, length)
 	for curItem := uint16(0); curItem < uint16(length); curItem++ {
@@ -156,7 +156,7 @@ func AdsWriteRequestParse(io utils.ReadBuffer) (*AdsData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("AdsWriteRequest")
 
@@ -198,14 +198,14 @@ func (m *AdsWriteRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("AdsWriteRequest")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
index 939555b..c83bf5b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
@@ -90,7 +90,7 @@ func BACnetAddressParse(io utils.ReadBuffer) (*BACnetAddress, error) {
 	io.PullContext("BACnetAddress")
 
 	// Array field (address)
-	io.PullContext("address")
+	io.PullContext("address", utils.WithRenderAsList(true))
 	// Count array
 	address := make([]uint8, uint16(4))
 	for curItem := uint16(0); curItem < uint16(uint16(4)); curItem++ {
@@ -100,7 +100,7 @@ func BACnetAddressParse(io utils.ReadBuffer) (*BACnetAddress, error) {
 		}
 		address[curItem] = _item
 	}
-	io.CloseContext("address")
+	io.CloseContext("address", utils.WithRenderAsList(true))
 
 	// Simple Field (port)
 	port, _portErr := io.ReadUint16("port", 16)
@@ -119,14 +119,14 @@ func (m *BACnetAddress) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (address)
 	if m.Address != nil {
-		io.PushContext("address")
+		io.PushContext("address", utils.WithRenderAsList(true))
 		for _, _element := range m.Address {
 			_elementErr := io.WriteUint8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'address' field")
 			}
 		}
-		io.PopContext("address")
+		io.PopContext("address", utils.WithRenderAsList(true))
 	}
 
 	// Simple Field (port)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
index c6c5e1e..78de032 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
@@ -248,7 +248,7 @@ func BACnetConfirmedServiceRequestConfirmedCOVNotificationParse(io utils.ReadBuf
 	}
 
 	// Array field (lifetimeSeconds)
-	io.PullContext("lifetimeSeconds")
+	io.PullContext("lifetimeSeconds", utils.WithRenderAsList(true))
 	// Count array
 	lifetimeSeconds := make([]int8, lifetimeLength)
 	for curItem := uint16(0); curItem < uint16(lifetimeLength); curItem++ {
@@ -258,7 +258,7 @@ func BACnetConfirmedServiceRequestConfirmedCOVNotificationParse(io utils.ReadBuf
 		}
 		lifetimeSeconds[curItem] = _item
 	}
-	io.CloseContext("lifetimeSeconds")
+	io.CloseContext("lifetimeSeconds", utils.WithRenderAsList(true))
 
 	// Const Field (listOfValuesOpeningTag)
 	listOfValuesOpeningTag, _listOfValuesOpeningTagErr := io.ReadUint8("listOfValuesOpeningTag", 8)
@@ -270,7 +270,7 @@ func BACnetConfirmedServiceRequestConfirmedCOVNotificationParse(io utils.ReadBuf
 	}
 
 	// Array field (notifications)
-	io.PullContext("notifications")
+	io.PullContext("notifications", utils.WithRenderAsList(true))
 	// Length array
 	notifications := make([]*BACnetTagWithContent, 0)
 	_notificationsLength := uint16(len) - uint16(uint16(18))
@@ -282,7 +282,7 @@ func BACnetConfirmedServiceRequestConfirmedCOVNotificationParse(io utils.ReadBuf
 		}
 		notifications = append(notifications, _item)
 	}
-	io.CloseContext("notifications")
+	io.CloseContext("notifications", utils.WithRenderAsList(true))
 
 	// Const Field (listOfValuesClosingTag)
 	listOfValuesClosingTag, _listOfValuesClosingTagErr := io.ReadUint8("listOfValuesClosingTag", 8)
@@ -383,14 +383,14 @@ func (m *BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io uti
 
 		// Array Field (lifetimeSeconds)
 		if m.LifetimeSeconds != nil {
-			io.PushContext("lifetimeSeconds")
+			io.PushContext("lifetimeSeconds", utils.WithRenderAsList(true))
 			for _, _element := range m.LifetimeSeconds {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'lifetimeSeconds' field")
 				}
 			}
-			io.PopContext("lifetimeSeconds")
+			io.PopContext("lifetimeSeconds", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (listOfValuesOpeningTag)
@@ -401,14 +401,14 @@ func (m *BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io uti
 
 		// Array Field (notifications)
 		if m.Notifications != nil {
-			io.PushContext("notifications")
+			io.PushContext("notifications", utils.WithRenderAsList(true))
 			for _, _element := range m.Notifications {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'notifications' field")
 				}
 			}
-			io.PopContext("notifications")
+			io.PopContext("notifications", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (listOfValuesClosingTag)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
index 27a89a1..dd75e0c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
@@ -172,7 +172,7 @@ func BACnetConfirmedServiceRequestReadPropertyParse(io utils.ReadBuffer) (*BACne
 	}
 
 	// Array field (propertyIdentifier)
-	io.PullContext("propertyIdentifier")
+	io.PullContext("propertyIdentifier", utils.WithRenderAsList(true))
 	// Count array
 	propertyIdentifier := make([]int8, propertyIdentifierLength)
 	for curItem := uint16(0); curItem < uint16(propertyIdentifierLength); curItem++ {
@@ -182,7 +182,7 @@ func BACnetConfirmedServiceRequestReadPropertyParse(io utils.ReadBuffer) (*BACne
 		}
 		propertyIdentifier[curItem] = _item
 	}
-	io.CloseContext("propertyIdentifier")
+	io.CloseContext("propertyIdentifier", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetConfirmedServiceRequestReadProperty")
 
@@ -237,14 +237,14 @@ func (m *BACnetConfirmedServiceRequestReadProperty) Serialize(io utils.WriteBuff
 
 		// Array Field (propertyIdentifier)
 		if m.PropertyIdentifier != nil {
-			io.PushContext("propertyIdentifier")
+			io.PushContext("propertyIdentifier", utils.WithRenderAsList(true))
 			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'propertyIdentifier' field")
 				}
 			}
-			io.PopContext("propertyIdentifier")
+			io.PopContext("propertyIdentifier", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetConfirmedServiceRequestReadProperty")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
index a1d324b..20a6122 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
@@ -233,7 +233,7 @@ func BACnetConfirmedServiceRequestSubscribeCOVParse(io utils.ReadBuffer) (*BACne
 	}
 
 	// Array field (lifetimeSeconds)
-	io.PullContext("lifetimeSeconds")
+	io.PullContext("lifetimeSeconds", utils.WithRenderAsList(true))
 	// Count array
 	lifetimeSeconds := make([]int8, lifetimeLength)
 	for curItem := uint16(0); curItem < uint16(lifetimeLength); curItem++ {
@@ -243,7 +243,7 @@ func BACnetConfirmedServiceRequestSubscribeCOVParse(io utils.ReadBuffer) (*BACne
 		}
 		lifetimeSeconds[curItem] = _item
 	}
-	io.CloseContext("lifetimeSeconds")
+	io.CloseContext("lifetimeSeconds", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetConfirmedServiceRequestSubscribeCOV")
 
@@ -332,14 +332,14 @@ func (m *BACnetConfirmedServiceRequestSubscribeCOV) Serialize(io utils.WriteBuff
 
 		// Array Field (lifetimeSeconds)
 		if m.LifetimeSeconds != nil {
-			io.PushContext("lifetimeSeconds")
+			io.PushContext("lifetimeSeconds", utils.WithRenderAsList(true))
 			for _, _element := range m.LifetimeSeconds {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'lifetimeSeconds' field")
 				}
 			}
-			io.PopContext("lifetimeSeconds")
+			io.PopContext("lifetimeSeconds", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetConfirmedServiceRequestSubscribeCOV")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
index d8a61f2..b5836eb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
@@ -194,7 +194,7 @@ func BACnetConfirmedServiceRequestWritePropertyParse(io utils.ReadBuffer, len ui
 	}
 
 	// Array field (propertyIdentifier)
-	io.PullContext("propertyIdentifier")
+	io.PullContext("propertyIdentifier", utils.WithRenderAsList(true))
 	// Count array
 	propertyIdentifier := make([]int8, propertyIdentifierLength)
 	for curItem := uint16(0); curItem < uint16(propertyIdentifierLength); curItem++ {
@@ -204,7 +204,7 @@ func BACnetConfirmedServiceRequestWritePropertyParse(io utils.ReadBuffer, len ui
 		}
 		propertyIdentifier[curItem] = _item
 	}
-	io.CloseContext("propertyIdentifier")
+	io.CloseContext("propertyIdentifier", utils.WithRenderAsList(true))
 
 	// Const Field (openingTag)
 	openingTag, _openingTagErr := io.ReadUint8("openingTag", 8)
@@ -299,14 +299,14 @@ func (m *BACnetConfirmedServiceRequestWriteProperty) Serialize(io utils.WriteBuf
 
 		// Array Field (propertyIdentifier)
 		if m.PropertyIdentifier != nil {
-			io.PushContext("propertyIdentifier")
+			io.PushContext("propertyIdentifier", utils.WithRenderAsList(true))
 			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'propertyIdentifier' field")
 				}
 			}
-			io.PopContext("propertyIdentifier")
+			io.PopContext("propertyIdentifier", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (openingTag)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
index 909042c..ac31fca 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
@@ -153,7 +153,7 @@ func BACnetErrorReadPropertyParse(io utils.ReadBuffer) (*BACnetError, error) {
 	}
 
 	// Array field (errorClass)
-	io.PullContext("errorClass")
+	io.PullContext("errorClass", utils.WithRenderAsList(true))
 	// Count array
 	errorClass := make([]int8, errorClassLength)
 	for curItem := uint16(0); curItem < uint16(errorClassLength); curItem++ {
@@ -163,7 +163,7 @@ func BACnetErrorReadPropertyParse(io utils.ReadBuffer) (*BACnetError, error) {
 		}
 		errorClass[curItem] = _item
 	}
-	io.CloseContext("errorClass")
+	io.CloseContext("errorClass", utils.WithRenderAsList(true))
 
 	// Const Field (errorCodeHeader)
 	errorCodeHeader, _errorCodeHeaderErr := io.ReadUint8("errorCodeHeader", 5)
@@ -181,7 +181,7 @@ func BACnetErrorReadPropertyParse(io utils.ReadBuffer) (*BACnetError, error) {
 	}
 
 	// Array field (errorCode)
-	io.PullContext("errorCode")
+	io.PullContext("errorCode", utils.WithRenderAsList(true))
 	// Count array
 	errorCode := make([]int8, errorCodeLength)
 	for curItem := uint16(0); curItem < uint16(errorCodeLength); curItem++ {
@@ -191,7 +191,7 @@ func BACnetErrorReadPropertyParse(io utils.ReadBuffer) (*BACnetError, error) {
 		}
 		errorCode[curItem] = _item
 	}
-	io.CloseContext("errorCode")
+	io.CloseContext("errorCode", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetErrorReadProperty")
 
@@ -226,14 +226,14 @@ func (m *BACnetErrorReadProperty) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (errorClass)
 		if m.ErrorClass != nil {
-			io.PushContext("errorClass")
+			io.PushContext("errorClass", utils.WithRenderAsList(true))
 			for _, _element := range m.ErrorClass {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'errorClass' field")
 				}
 			}
-			io.PopContext("errorClass")
+			io.PopContext("errorClass", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (errorCodeHeader)
@@ -251,14 +251,14 @@ func (m *BACnetErrorReadProperty) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (errorCode)
 		if m.ErrorCode != nil {
-			io.PushContext("errorCode")
+			io.PushContext("errorCode", utils.WithRenderAsList(true))
 			for _, _element := range m.ErrorCode {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'errorCode' field")
 				}
 			}
-			io.PopContext("errorCode")
+			io.PopContext("errorCode", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetErrorReadProperty")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
index 260827c..8c9ee21 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
@@ -185,7 +185,7 @@ func BACnetServiceAckReadPropertyParse(io utils.ReadBuffer) (*BACnetServiceAck,
 	}
 
 	// Array field (propertyIdentifier)
-	io.PullContext("propertyIdentifier")
+	io.PullContext("propertyIdentifier", utils.WithRenderAsList(true))
 	// Count array
 	propertyIdentifier := make([]int8, propertyIdentifierLength)
 	for curItem := uint16(0); curItem < uint16(propertyIdentifierLength); curItem++ {
@@ -195,7 +195,7 @@ func BACnetServiceAckReadPropertyParse(io utils.ReadBuffer) (*BACnetServiceAck,
 		}
 		propertyIdentifier[curItem] = _item
 	}
-	io.CloseContext("propertyIdentifier")
+	io.CloseContext("propertyIdentifier", utils.WithRenderAsList(true))
 
 	// Const Field (openingTag)
 	openingTag, _openingTagErr := io.ReadUint8("openingTag", 8)
@@ -278,14 +278,14 @@ func (m *BACnetServiceAckReadProperty) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (propertyIdentifier)
 		if m.PropertyIdentifier != nil {
-			io.PushContext("propertyIdentifier")
+			io.PushContext("propertyIdentifier", utils.WithRenderAsList(true))
 			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'propertyIdentifier' field")
 				}
 			}
-			io.PopContext("propertyIdentifier")
+			io.PopContext("propertyIdentifier", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (openingTag)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
index 1104b4d..5918953 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
@@ -125,7 +125,7 @@ func BACnetTagApplicationBitStringParse(io utils.ReadBuffer, lengthValueType uin
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16(uint16(uint16(extLength) - uint16(uint16(1)))) }, func() uint16 { return uint16(uint16(uint16(lengthValueType) - uint16(uint16(1)))) })
@@ -137,7 +137,7 @@ func BACnetTagApplicationBitStringParse(io utils.ReadBuffer, lengthValueType uin
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetTagApplicationBitString")
 
@@ -164,14 +164,14 @@ func (m *BACnetTagApplicationBitString) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetTagApplicationBitString")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
index 6be7f14..f828cf1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
@@ -114,7 +114,7 @@ func BACnetTagApplicationEnumeratedParse(io utils.ReadBuffer, lengthValueType ui
 	io.PullContext("BACnetTagApplicationEnumerated")
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16(extLength) }, func() uint16 { return uint16(lengthValueType) })
@@ -126,7 +126,7 @@ func BACnetTagApplicationEnumeratedParse(io utils.ReadBuffer, lengthValueType ui
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetTagApplicationEnumerated")
 
@@ -145,14 +145,14 @@ func (m *BACnetTagApplicationEnumerated) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetTagApplicationEnumerated")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
index a760aac..101218c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
@@ -114,7 +114,7 @@ func BACnetTagApplicationSignedIntegerParse(io utils.ReadBuffer, lengthValueType
 	io.PullContext("BACnetTagApplicationSignedInteger")
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16(extLength) }, func() uint16 { return uint16(lengthValueType) })
@@ -126,7 +126,7 @@ func BACnetTagApplicationSignedIntegerParse(io utils.ReadBuffer, lengthValueType
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetTagApplicationSignedInteger")
 
@@ -145,14 +145,14 @@ func (m *BACnetTagApplicationSignedInteger) Serialize(io utils.WriteBuffer) erro
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetTagApplicationSignedInteger")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
index e36b276..1daa178 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
@@ -114,7 +114,7 @@ func BACnetTagApplicationUnsignedIntegerParse(io utils.ReadBuffer, lengthValueTy
 	io.PullContext("BACnetTagApplicationUnsignedInteger")
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16(extLength) }, func() uint16 { return uint16(lengthValueType) })
@@ -126,7 +126,7 @@ func BACnetTagApplicationUnsignedIntegerParse(io utils.ReadBuffer, lengthValueTy
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetTagApplicationUnsignedInteger")
 
@@ -145,14 +145,14 @@ func (m *BACnetTagApplicationUnsignedInteger) Serialize(io utils.WriteBuffer) er
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetTagApplicationUnsignedInteger")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
index bc10b1b..211411c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
@@ -114,7 +114,7 @@ func BACnetTagContextParse(io utils.ReadBuffer, typeOrTagNumber uint8, extTagNum
 	io.PullContext("BACnetTagContext")
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16(extLength) }, func() uint16 { return uint16(lengthValueType) })
@@ -126,7 +126,7 @@ func BACnetTagContextParse(io utils.ReadBuffer, typeOrTagNumber uint8, extTagNum
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetTagContext")
 
@@ -145,14 +145,14 @@ func (m *BACnetTagContext) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetTagContext")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
index 94e3028..7b8bfdb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
@@ -164,7 +164,7 @@ func BACnetTagWithContentParse(io utils.ReadBuffer) (*BACnetTagWithContent, erro
 	}
 
 	// Array field (propertyIdentifier)
-	io.PullContext("propertyIdentifier")
+	io.PullContext("propertyIdentifier", utils.WithRenderAsList(true))
 	// Length array
 	propertyIdentifier := make([]uint8, 0)
 	_propertyIdentifierLength := utils.InlineIf(bool(bool((lengthValueType) == (5))), func() uint16 { return uint16((*extLength)) }, func() uint16 { return uint16(lengthValueType) })
@@ -176,7 +176,7 @@ func BACnetTagWithContentParse(io utils.ReadBuffer) (*BACnetTagWithContent, erro
 		}
 		propertyIdentifier = append(propertyIdentifier, _item)
 	}
-	io.CloseContext("propertyIdentifier")
+	io.CloseContext("propertyIdentifier", utils.WithRenderAsList(true))
 
 	// Const Field (openTag)
 	openTag, _openTagErr := io.ReadUint8("openTag", 8)
@@ -257,14 +257,14 @@ func (m *BACnetTagWithContent) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (propertyIdentifier)
 	if m.PropertyIdentifier != nil {
-		io.PushContext("propertyIdentifier")
+		io.PushContext("propertyIdentifier", utils.WithRenderAsList(true))
 		for _, _element := range m.PropertyIdentifier {
 			_elementErr := io.WriteUint8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'propertyIdentifier' field")
 			}
 		}
-		io.PopContext("propertyIdentifier")
+		io.PopContext("propertyIdentifier", utils.WithRenderAsList(true))
 	}
 
 	// Const Field (openTag)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
index e47b471..4851e62 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
@@ -190,7 +190,7 @@ func BACnetUnconfirmedServiceRequestIAmParse(io utils.ReadBuffer) (*BACnetUnconf
 	}
 
 	// Array field (maximumApduLengthAccepted)
-	io.PullContext("maximumApduLengthAccepted")
+	io.PullContext("maximumApduLengthAccepted", utils.WithRenderAsList(true))
 	// Count array
 	maximumApduLengthAccepted := make([]int8, maximumApduLengthAcceptedLength)
 	for curItem := uint16(0); curItem < uint16(maximumApduLengthAcceptedLength); curItem++ {
@@ -200,7 +200,7 @@ func BACnetUnconfirmedServiceRequestIAmParse(io utils.ReadBuffer) (*BACnetUnconf
 		}
 		maximumApduLengthAccepted[curItem] = _item
 	}
-	io.CloseContext("maximumApduLengthAccepted")
+	io.CloseContext("maximumApduLengthAccepted", utils.WithRenderAsList(true))
 
 	// Const Field (segmentationSupportedHeader)
 	segmentationSupportedHeader, _segmentationSupportedHeaderErr := io.ReadUint8("segmentationSupportedHeader", 8)
@@ -287,14 +287,14 @@ func (m *BACnetUnconfirmedServiceRequestIAm) Serialize(io utils.WriteBuffer) err
 
 		// Array Field (maximumApduLengthAccepted)
 		if m.MaximumApduLengthAccepted != nil {
-			io.PushContext("maximumApduLengthAccepted")
+			io.PushContext("maximumApduLengthAccepted", utils.WithRenderAsList(true))
 			for _, _element := range m.MaximumApduLengthAccepted {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'maximumApduLengthAccepted' field")
 				}
 			}
-			io.PopContext("maximumApduLengthAccepted")
+			io.PopContext("maximumApduLengthAccepted", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (segmentationSupportedHeader)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
index 27cedba..1b39e7d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
@@ -178,7 +178,7 @@ func BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransferParse(io utils.Rea
 	}
 
 	// Array field (values)
-	io.PullContext("values")
+	io.PullContext("values", utils.WithRenderAsList(true))
 	// Length array
 	values := make([]int8, 0)
 	_valuesLength := uint16(len) - uint16(uint16(8))
@@ -190,7 +190,7 @@ func BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransferParse(io utils.Rea
 		}
 		values = append(values, _item)
 	}
-	io.CloseContext("values")
+	io.CloseContext("values", utils.WithRenderAsList(true))
 
 	// Const Field (listOfValuesClosingTag)
 	listOfValuesClosingTag, _listOfValuesClosingTagErr := io.ReadUint8("listOfValuesClosingTag", 8)
@@ -252,14 +252,14 @@ func (m *BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) Serialize(io
 
 		// Array Field (values)
 		if m.Values != nil {
-			io.PushContext("values")
+			io.PushContext("values", utils.WithRenderAsList(true))
 			for _, _element := range m.Values {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'values' field")
 				}
 			}
-			io.PopContext("values")
+			io.PopContext("values", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (listOfValuesClosingTag)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
index b6f902a..8321b1d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
@@ -195,7 +195,7 @@ func BACnetUnconfirmedServiceRequestWhoHasParse(io utils.ReadBuffer) (*BACnetUnc
 	}
 
 	// Array field (objectName)
-	io.PullContext("objectName")
+	io.PullContext("objectName", utils.WithRenderAsList(true))
 	// Length array
 	objectName := make([]int8, 0)
 	_objectNameLength := uint16(objectNameLength) - uint16(uint16(1))
@@ -207,7 +207,7 @@ func BACnetUnconfirmedServiceRequestWhoHasParse(io utils.ReadBuffer) (*BACnetUnc
 		}
 		objectName = append(objectName, _item)
 	}
-	io.CloseContext("objectName")
+	io.CloseContext("objectName", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetUnconfirmedServiceRequestWhoHas")
 
@@ -275,14 +275,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoHas) Serialize(io utils.WriteBuffer)
 
 		// Array Field (objectName)
 		if m.ObjectName != nil {
-			io.PushContext("objectName")
+			io.PushContext("objectName", utils.WithRenderAsList(true))
 			for _, _element := range m.ObjectName {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'objectName' field")
 				}
 			}
-			io.PopContext("objectName")
+			io.PopContext("objectName", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetUnconfirmedServiceRequestWhoHas")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
index a6479ab..923ddfb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
@@ -153,7 +153,7 @@ func BACnetUnconfirmedServiceRequestWhoIsParse(io utils.ReadBuffer) (*BACnetUnco
 	}
 
 	// Array field (deviceInstanceRangeLowLimit)
-	io.PullContext("deviceInstanceRangeLowLimit")
+	io.PullContext("deviceInstanceRangeLowLimit", utils.WithRenderAsList(true))
 	// Count array
 	deviceInstanceRangeLowLimit := make([]int8, deviceInstanceRangeLowLimitLength)
 	for curItem := uint16(0); curItem < uint16(deviceInstanceRangeLowLimitLength); curItem++ {
@@ -163,7 +163,7 @@ func BACnetUnconfirmedServiceRequestWhoIsParse(io utils.ReadBuffer) (*BACnetUnco
 		}
 		deviceInstanceRangeLowLimit[curItem] = _item
 	}
-	io.CloseContext("deviceInstanceRangeLowLimit")
+	io.CloseContext("deviceInstanceRangeLowLimit", utils.WithRenderAsList(true))
 
 	// Const Field (deviceInstanceRangeHighLimitHeader)
 	deviceInstanceRangeHighLimitHeader, _deviceInstanceRangeHighLimitHeaderErr := io.ReadUint8("deviceInstanceRangeHighLimitHeader", 5)
@@ -181,7 +181,7 @@ func BACnetUnconfirmedServiceRequestWhoIsParse(io utils.ReadBuffer) (*BACnetUnco
 	}
 
 	// Array field (deviceInstanceRangeHighLimit)
-	io.PullContext("deviceInstanceRangeHighLimit")
+	io.PullContext("deviceInstanceRangeHighLimit", utils.WithRenderAsList(true))
 	// Count array
 	deviceInstanceRangeHighLimit := make([]int8, deviceInstanceRangeHighLimitLength)
 	for curItem := uint16(0); curItem < uint16(deviceInstanceRangeHighLimitLength); curItem++ {
@@ -191,7 +191,7 @@ func BACnetUnconfirmedServiceRequestWhoIsParse(io utils.ReadBuffer) (*BACnetUnco
 		}
 		deviceInstanceRangeHighLimit[curItem] = _item
 	}
-	io.CloseContext("deviceInstanceRangeHighLimit")
+	io.CloseContext("deviceInstanceRangeHighLimit", utils.WithRenderAsList(true))
 
 	io.CloseContext("BACnetUnconfirmedServiceRequestWhoIs")
 
@@ -226,14 +226,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoIs) Serialize(io utils.WriteBuffer) e
 
 		// Array Field (deviceInstanceRangeLowLimit)
 		if m.DeviceInstanceRangeLowLimit != nil {
-			io.PushContext("deviceInstanceRangeLowLimit")
+			io.PushContext("deviceInstanceRangeLowLimit", utils.WithRenderAsList(true))
 			for _, _element := range m.DeviceInstanceRangeLowLimit {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'deviceInstanceRangeLowLimit' field")
 				}
 			}
-			io.PopContext("deviceInstanceRangeLowLimit")
+			io.PopContext("deviceInstanceRangeLowLimit", utils.WithRenderAsList(true))
 		}
 
 		// Const Field (deviceInstanceRangeHighLimitHeader)
@@ -251,14 +251,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoIs) Serialize(io utils.WriteBuffer) e
 
 		// Array Field (deviceInstanceRangeHighLimit)
 		if m.DeviceInstanceRangeHighLimit != nil {
-			io.PushContext("deviceInstanceRangeHighLimit")
+			io.PushContext("deviceInstanceRangeHighLimit", utils.WithRenderAsList(true))
 			for _, _element := range m.DeviceInstanceRangeHighLimit {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'deviceInstanceRangeHighLimit' field")
 				}
 			}
-			io.PopContext("deviceInstanceRangeHighLimit")
+			io.PopContext("deviceInstanceRangeHighLimit", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("BACnetUnconfirmedServiceRequestWhoIs")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
index c8bd083..7556c55 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
@@ -118,7 +118,7 @@ func BVLCForwardedNPDUParse(io utils.ReadBuffer, bvlcLength uint16) (*BVLC, erro
 	io.PullContext("BVLCForwardedNPDU")
 
 	// Array field (ip)
-	io.PullContext("ip")
+	io.PullContext("ip", utils.WithRenderAsList(true))
 	// Count array
 	ip := make([]uint8, uint16(4))
 	for curItem := uint16(0); curItem < uint16(uint16(4)); curItem++ {
@@ -128,7 +128,7 @@ func BVLCForwardedNPDUParse(io utils.ReadBuffer, bvlcLength uint16) (*BVLC, erro
 		}
 		ip[curItem] = _item
 	}
-	io.CloseContext("ip")
+	io.CloseContext("ip", utils.WithRenderAsList(true))
 
 	// Simple Field (port)
 	port, _portErr := io.ReadUint16("port", 16)
@@ -164,14 +164,14 @@ func (m *BVLCForwardedNPDU) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (ip)
 		if m.Ip != nil {
-			io.PushContext("ip")
+			io.PushContext("ip", utils.WithRenderAsList(true))
 			for _, _element := range m.Ip {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'ip' field")
 				}
 			}
-			io.PopContext("ip")
+			io.PopContext("ip", utils.WithRenderAsList(true))
 		}
 
 		// Simple Field (port)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
index 30dae91..bed0f5e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
@@ -109,7 +109,7 @@ func NLMIAmRouterToNetworkParse(io utils.ReadBuffer, apduLength uint16, messageT
 	io.PullContext("NLMIAmRouterToNetwork")
 
 	// Array field (destinationNetworkAddress)
-	io.PullContext("destinationNetworkAddress")
+	io.PullContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 	// Length array
 	destinationNetworkAddress := make([]uint16, 0)
 	_destinationNetworkAddressLength := uint16(apduLength) - uint16(uint16(utils.InlineIf(bool(bool(bool(bool((messageType) >= (128)))) && bool(bool(bool((messageType) <= (255))))), func() uint16 { return uint16(uint16(3)) }, func() uint16 { return uint16(uint16(1)) })))
@@ -121,7 +121,7 @@ func NLMIAmRouterToNetworkParse(io utils.ReadBuffer, apduLength uint16, messageT
 		}
 		destinationNetworkAddress = append(destinationNetworkAddress, _item)
 	}
-	io.CloseContext("destinationNetworkAddress")
+	io.CloseContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 
 	io.CloseContext("NLMIAmRouterToNetwork")
 
@@ -140,14 +140,14 @@ func (m *NLMIAmRouterToNetwork) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (destinationNetworkAddress)
 		if m.DestinationNetworkAddress != nil {
-			io.PushContext("destinationNetworkAddress")
+			io.PushContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 			for _, _element := range m.DestinationNetworkAddress {
 				_elementErr := io.WriteUint16("", 16, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'destinationNetworkAddress' field")
 				}
 			}
-			io.PopContext("destinationNetworkAddress")
+			io.PopContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("NLMIAmRouterToNetwork")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
index 9ba9044..fb711df 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
@@ -109,7 +109,7 @@ func NLMWhoIsRouterToNetworkParse(io utils.ReadBuffer, apduLength uint16, messag
 	io.PullContext("NLMWhoIsRouterToNetwork")
 
 	// Array field (destinationNetworkAddress)
-	io.PullContext("destinationNetworkAddress")
+	io.PullContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 	// Length array
 	destinationNetworkAddress := make([]uint16, 0)
 	_destinationNetworkAddressLength := uint16(apduLength) - uint16(uint16(utils.InlineIf(bool(bool(bool(bool((messageType) >= (128)))) && bool(bool(bool((messageType) <= (255))))), func() uint16 { return uint16(uint16(3)) }, func() uint16 { return uint16(uint16(1)) })))
@@ -121,7 +121,7 @@ func NLMWhoIsRouterToNetworkParse(io utils.ReadBuffer, apduLength uint16, messag
 		}
 		destinationNetworkAddress = append(destinationNetworkAddress, _item)
 	}
-	io.CloseContext("destinationNetworkAddress")
+	io.CloseContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 
 	io.CloseContext("NLMWhoIsRouterToNetwork")
 
@@ -140,14 +140,14 @@ func (m *NLMWhoIsRouterToNetwork) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (destinationNetworkAddress)
 		if m.DestinationNetworkAddress != nil {
-			io.PushContext("destinationNetworkAddress")
+			io.PushContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 			for _, _element := range m.DestinationNetworkAddress {
 				_elementErr := io.WriteUint16("", 16, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'destinationNetworkAddress' field")
 				}
 			}
-			io.PopContext("destinationNetworkAddress")
+			io.PopContext("destinationNetworkAddress", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("NLMWhoIsRouterToNetwork")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
index 8c5b625..9d4971d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
@@ -250,7 +250,7 @@ func NPDUParse(io utils.ReadBuffer, npduLength uint16) (*NPDU, error) {
 	}
 
 	// Array field (destinationAddress)
-	io.PullContext("destinationAddress")
+	io.PullContext("destinationAddress", utils.WithRenderAsList(true))
 	// Count array
 	destinationAddress := make([]uint8, utils.InlineIf(destinationSpecified, func() uint16 { return uint16((*destinationLength)) }, func() uint16 { return uint16(uint16(0)) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(destinationSpecified, func() uint16 { return uint16((*destinationLength)) }, func() uint16 { return uint16(uint16(0)) })); curItem++ {
@@ -260,7 +260,7 @@ func NPDUParse(io utils.ReadBuffer, npduLength uint16) (*NPDU, error) {
 		}
 		destinationAddress[curItem] = _item
 	}
-	io.CloseContext("destinationAddress")
+	io.CloseContext("destinationAddress", utils.WithRenderAsList(true))
 
 	// Optional Field (sourceNetworkAddress) (Can be skipped, if a given expression evaluates to false)
 	var sourceNetworkAddress *uint16 = nil
@@ -283,7 +283,7 @@ func NPDUParse(io utils.ReadBuffer, npduLength uint16) (*NPDU, error) {
 	}
 
 	// Array field (sourceAddress)
-	io.PullContext("sourceAddress")
+	io.PullContext("sourceAddress", utils.WithRenderAsList(true))
 	// Count array
 	sourceAddress := make([]uint8, utils.InlineIf(sourceSpecified, func() uint16 { return uint16((*sourceLength)) }, func() uint16 { return uint16(uint16(0)) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(sourceSpecified, func() uint16 { return uint16((*sourceLength)) }, func() uint16 { return uint16(uint16(0)) })); curItem++ {
@@ -293,7 +293,7 @@ func NPDUParse(io utils.ReadBuffer, npduLength uint16) (*NPDU, error) {
 		}
 		sourceAddress[curItem] = _item
 	}
-	io.CloseContext("sourceAddress")
+	io.CloseContext("sourceAddress", utils.WithRenderAsList(true))
 
 	// Optional Field (hopCount) (Can be skipped, if a given expression evaluates to false)
 	var hopCount *uint8 = nil
@@ -414,14 +414,14 @@ func (m *NPDU) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (destinationAddress)
 	if m.DestinationAddress != nil {
-		io.PushContext("destinationAddress")
+		io.PushContext("destinationAddress", utils.WithRenderAsList(true))
 		for _, _element := range m.DestinationAddress {
 			_elementErr := io.WriteUint8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'destinationAddress' field")
 			}
 		}
-		io.PopContext("destinationAddress")
+		io.PopContext("destinationAddress", utils.WithRenderAsList(true))
 	}
 
 	// Optional Field (sourceNetworkAddress) (Can be skipped, if the value is null)
@@ -446,14 +446,14 @@ func (m *NPDU) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (sourceAddress)
 	if m.SourceAddress != nil {
-		io.PushContext("sourceAddress")
+		io.PushContext("sourceAddress", utils.WithRenderAsList(true))
 		for _, _element := range m.SourceAddress {
 			_elementErr := io.WriteUint8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'sourceAddress' field")
 			}
 		}
-		io.PopContext("sourceAddress")
+		io.PopContext("sourceAddress", utils.WithRenderAsList(true))
 	}
 
 	// Optional Field (hopCount) (Can be skipped, if the value is null)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
index 28ddcb1..ff3872c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
@@ -121,7 +121,7 @@ func ApduDataDeviceDescriptorResponseParse(io utils.ReadBuffer, dataLength uint8
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) })); curItem++ {
@@ -131,7 +131,7 @@ func ApduDataDeviceDescriptorResponseParse(io utils.ReadBuffer, dataLength uint8
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataDeviceDescriptorResponse")
 
@@ -158,14 +158,14 @@ func (m *ApduDataDeviceDescriptorResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataDeviceDescriptorResponse")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
index 0869cd0..0d9a1e5 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
@@ -119,7 +119,7 @@ func ApduDataExtAuthorizeRequestParse(io utils.ReadBuffer) (*ApduDataExt, error)
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]uint8, uint16(4))
 	for curItem := uint16(0); curItem < uint16(uint16(4)); curItem++ {
@@ -129,7 +129,7 @@ func ApduDataExtAuthorizeRequestParse(io utils.ReadBuffer) (*ApduDataExt, error)
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataExtAuthorizeRequest")
 
@@ -156,14 +156,14 @@ func (m *ApduDataExtAuthorizeRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataExtAuthorizeRequest")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
index 13c3c8c..b886eaf 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
@@ -152,7 +152,7 @@ func ApduDataExtPropertyValueResponseParse(io utils.ReadBuffer, length uint8) (*
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]uint8, uint16(length)-uint16(uint16(5)))
 	for curItem := uint16(0); curItem < uint16(uint16(length)-uint16(uint16(5))); curItem++ {
@@ -162,7 +162,7 @@ func ApduDataExtPropertyValueResponseParse(io utils.ReadBuffer, length uint8) (*
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataExtPropertyValueResponse")
 
@@ -213,14 +213,14 @@ func (m *ApduDataExtPropertyValueResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataExtPropertyValueResponse")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
index e3a0477..e55e840 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
@@ -152,7 +152,7 @@ func ApduDataExtPropertyValueWriteParse(io utils.ReadBuffer, length uint8) (*Apd
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]uint8, uint16(length)-uint16(uint16(5)))
 	for curItem := uint16(0); curItem < uint16(uint16(length)-uint16(uint16(5))); curItem++ {
@@ -162,7 +162,7 @@ func ApduDataExtPropertyValueWriteParse(io utils.ReadBuffer, length uint8) (*Apd
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataExtPropertyValueWrite")
 
@@ -213,14 +213,14 @@ func (m *ApduDataExtPropertyValueWrite) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataExtPropertyValueWrite")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
index e0b4d56..7aa343a 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
@@ -121,7 +121,7 @@ func ApduDataGroupValueResponseParse(io utils.ReadBuffer, dataLength uint8) (*Ap
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) })); curItem++ {
@@ -131,7 +131,7 @@ func ApduDataGroupValueResponseParse(io utils.ReadBuffer, dataLength uint8) (*Ap
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataGroupValueResponse")
 
@@ -158,14 +158,14 @@ func (m *ApduDataGroupValueResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataGroupValueResponse")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
index 0ee90c8..7e86830 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
@@ -121,7 +121,7 @@ func ApduDataGroupValueWriteParse(io utils.ReadBuffer, dataLength uint8) (*ApduD
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool((dataLength) < (1))), func() uint16 { return uint16(uint16(0)) }, func() uint16 { return uint16(uint16(dataLength) - uint16(uint16(1))) })); curItem++ {
@@ -131,7 +131,7 @@ func ApduDataGroupValueWriteParse(io utils.ReadBuffer, dataLength uint8) (*ApduD
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataGroupValueWrite")
 
@@ -158,14 +158,14 @@ func (m *ApduDataGroupValueWrite) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataGroupValueWrite")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
index 1f6c5d1..a30c463 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
@@ -129,7 +129,7 @@ func ApduDataMemoryResponseParse(io utils.ReadBuffer) (*ApduData, error) {
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]uint8, numBytes)
 	for curItem := uint16(0); curItem < uint16(numBytes); curItem++ {
@@ -139,7 +139,7 @@ func ApduDataMemoryResponseParse(io utils.ReadBuffer) (*ApduData, error) {
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ApduDataMemoryResponse")
 
@@ -173,14 +173,14 @@ func (m *ApduDataMemoryResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ApduDataMemoryResponse")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
index e7ea6b6..a364ea1 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
@@ -133,7 +133,7 @@ func ComObjectTableRealisationType1Parse(io utils.ReadBuffer) (*ComObjectTable,
 	}
 
 	// Array field (comObjectDescriptors)
-	io.PullContext("comObjectDescriptors")
+	io.PullContext("comObjectDescriptors", utils.WithRenderAsList(true))
 	// Count array
 	comObjectDescriptors := make([]*GroupObjectDescriptorRealisationType1, numEntries)
 	for curItem := uint16(0); curItem < uint16(numEntries); curItem++ {
@@ -143,7 +143,7 @@ func ComObjectTableRealisationType1Parse(io utils.ReadBuffer) (*ComObjectTable,
 		}
 		comObjectDescriptors[curItem] = _item
 	}
-	io.CloseContext("comObjectDescriptors")
+	io.CloseContext("comObjectDescriptors", utils.WithRenderAsList(true))
 
 	io.CloseContext("ComObjectTableRealisationType1")
 
@@ -178,14 +178,14 @@ func (m *ComObjectTableRealisationType1) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (comObjectDescriptors)
 		if m.ComObjectDescriptors != nil {
-			io.PushContext("comObjectDescriptors")
+			io.PushContext("comObjectDescriptors", utils.WithRenderAsList(true))
 			for _, _element := range m.ComObjectDescriptors {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'comObjectDescriptors' field")
 				}
 			}
-			io.PopContext("comObjectDescriptors")
+			io.PopContext("comObjectDescriptors", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ComObjectTableRealisationType1")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
index 41b441e..6a2e3a3 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
@@ -133,7 +133,7 @@ func ComObjectTableRealisationType2Parse(io utils.ReadBuffer) (*ComObjectTable,
 	}
 
 	// Array field (comObjectDescriptors)
-	io.PullContext("comObjectDescriptors")
+	io.PullContext("comObjectDescriptors", utils.WithRenderAsList(true))
 	// Count array
 	comObjectDescriptors := make([]*GroupObjectDescriptorRealisationType2, numEntries)
 	for curItem := uint16(0); curItem < uint16(numEntries); curItem++ {
@@ -143,7 +143,7 @@ func ComObjectTableRealisationType2Parse(io utils.ReadBuffer) (*ComObjectTable,
 		}
 		comObjectDescriptors[curItem] = _item
 	}
-	io.CloseContext("comObjectDescriptors")
+	io.CloseContext("comObjectDescriptors", utils.WithRenderAsList(true))
 
 	io.CloseContext("ComObjectTableRealisationType2")
 
@@ -178,14 +178,14 @@ func (m *ComObjectTableRealisationType2) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (comObjectDescriptors)
 		if m.ComObjectDescriptors != nil {
-			io.PushContext("comObjectDescriptors")
+			io.PushContext("comObjectDescriptors", utils.WithRenderAsList(true))
 			for _, _element := range m.ComObjectDescriptors {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'comObjectDescriptors' field")
 				}
 			}
-			io.PopContext("comObjectDescriptors")
+			io.PopContext("comObjectDescriptors", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ComObjectTableRealisationType2")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
index f0968ee..3cf75d3 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
@@ -174,7 +174,7 @@ func DIBDeviceInfoParse(io utils.ReadBuffer) (*DIBDeviceInfo, error) {
 	io.CloseContext("projectInstallationIdentifier")
 
 	// Array field (knxNetIpDeviceSerialNumber)
-	io.PullContext("knxNetIpDeviceSerialNumber")
+	io.PullContext("knxNetIpDeviceSerialNumber", utils.WithRenderAsList(true))
 	// Count array
 	knxNetIpDeviceSerialNumber := make([]int8, uint16(6))
 	for curItem := uint16(0); curItem < uint16(uint16(6)); curItem++ {
@@ -184,7 +184,7 @@ func DIBDeviceInfoParse(io utils.ReadBuffer) (*DIBDeviceInfo, error) {
 		}
 		knxNetIpDeviceSerialNumber[curItem] = _item
 	}
-	io.CloseContext("knxNetIpDeviceSerialNumber")
+	io.CloseContext("knxNetIpDeviceSerialNumber", utils.WithRenderAsList(true))
 
 	io.PullContext("knxNetIpDeviceMulticastAddress")
 
@@ -205,7 +205,7 @@ func DIBDeviceInfoParse(io utils.ReadBuffer) (*DIBDeviceInfo, error) {
 	io.CloseContext("knxNetIpDeviceMacAddress")
 
 	// Array field (deviceFriendlyName)
-	io.PullContext("deviceFriendlyName")
+	io.PullContext("deviceFriendlyName", utils.WithRenderAsList(true))
 	// Count array
 	deviceFriendlyName := make([]int8, uint16(30))
 	for curItem := uint16(0); curItem < uint16(uint16(30)); curItem++ {
@@ -215,7 +215,7 @@ func DIBDeviceInfoParse(io utils.ReadBuffer) (*DIBDeviceInfo, error) {
 		}
 		deviceFriendlyName[curItem] = _item
 	}
-	io.CloseContext("deviceFriendlyName")
+	io.CloseContext("deviceFriendlyName", utils.WithRenderAsList(true))
 
 	io.CloseContext("DIBDeviceInfo")
 
@@ -274,14 +274,14 @@ func (m *DIBDeviceInfo) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (knxNetIpDeviceSerialNumber)
 	if m.KnxNetIpDeviceSerialNumber != nil {
-		io.PushContext("knxNetIpDeviceSerialNumber")
+		io.PushContext("knxNetIpDeviceSerialNumber", utils.WithRenderAsList(true))
 		for _, _element := range m.KnxNetIpDeviceSerialNumber {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'knxNetIpDeviceSerialNumber' field")
 			}
 		}
-		io.PopContext("knxNetIpDeviceSerialNumber")
+		io.PopContext("knxNetIpDeviceSerialNumber", utils.WithRenderAsList(true))
 	}
 
 	// Simple Field (knxNetIpDeviceMulticastAddress)
@@ -302,14 +302,14 @@ func (m *DIBDeviceInfo) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (deviceFriendlyName)
 	if m.DeviceFriendlyName != nil {
-		io.PushContext("deviceFriendlyName")
+		io.PushContext("deviceFriendlyName", utils.WithRenderAsList(true))
 		for _, _element := range m.DeviceFriendlyName {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'deviceFriendlyName' field")
 			}
 		}
-		io.PopContext("deviceFriendlyName")
+		io.PopContext("deviceFriendlyName", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("DIBDeviceInfo")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
index 659d968..7de7419 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
@@ -108,7 +108,7 @@ func DIBSuppSvcFamiliesParse(io utils.ReadBuffer) (*DIBSuppSvcFamilies, error) {
 	}
 
 	// Array field (serviceIds)
-	io.PullContext("serviceIds")
+	io.PullContext("serviceIds", utils.WithRenderAsList(true))
 	// Length array
 	serviceIds := make([]*ServiceId, 0)
 	_serviceIdsLength := uint16(structureLength) - uint16(uint16(2))
@@ -120,7 +120,7 @@ func DIBSuppSvcFamiliesParse(io utils.ReadBuffer) (*DIBSuppSvcFamilies, error) {
 		}
 		serviceIds = append(serviceIds, _item)
 	}
-	io.CloseContext("serviceIds")
+	io.CloseContext("serviceIds", utils.WithRenderAsList(true))
 
 	io.CloseContext("DIBSuppSvcFamilies")
 
@@ -147,14 +147,14 @@ func (m *DIBSuppSvcFamilies) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (serviceIds)
 	if m.ServiceIds != nil {
-		io.PushContext("serviceIds")
+		io.PushContext("serviceIds", utils.WithRenderAsList(true))
 		for _, _element := range m.ServiceIds {
 			_elementErr := _element.Serialize(io)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'serviceIds' field")
 			}
 		}
-		io.PopContext("serviceIds")
+		io.PopContext("serviceIds", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("DIBSuppSvcFamilies")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
index afb9337..19e719f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
@@ -88,7 +88,7 @@ func IPAddressParse(io utils.ReadBuffer) (*IPAddress, error) {
 	io.PullContext("IPAddress")
 
 	// Array field (addr)
-	io.PullContext("addr")
+	io.PullContext("addr", utils.WithRenderAsList(true))
 	// Count array
 	addr := make([]int8, uint16(4))
 	for curItem := uint16(0); curItem < uint16(uint16(4)); curItem++ {
@@ -98,7 +98,7 @@ func IPAddressParse(io utils.ReadBuffer) (*IPAddress, error) {
 		}
 		addr[curItem] = _item
 	}
-	io.CloseContext("addr")
+	io.CloseContext("addr", utils.WithRenderAsList(true))
 
 	io.CloseContext("IPAddress")
 
@@ -111,14 +111,14 @@ func (m *IPAddress) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (addr)
 	if m.Addr != nil {
-		io.PushContext("addr")
+		io.PushContext("addr", utils.WithRenderAsList(true))
 		for _, _element := range m.Addr {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'addr' field")
 			}
 		}
-		io.PopContext("addr")
+		io.PopContext("addr", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("IPAddress")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
index ccb4ccf..24179c4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
@@ -134,7 +134,7 @@ func LBusmonIndParse(io utils.ReadBuffer) (*CEMI, error) {
 	}
 
 	// Array field (additionalInformation)
-	io.PullContext("additionalInformation")
+	io.PullContext("additionalInformation", utils.WithRenderAsList(true))
 	// Length array
 	additionalInformation := make([]*CEMIAdditionalInformation, 0)
 	_additionalInformationLength := additionalInformationLength
@@ -146,7 +146,7 @@ func LBusmonIndParse(io utils.ReadBuffer) (*CEMI, error) {
 		}
 		additionalInformation = append(additionalInformation, _item)
 	}
-	io.CloseContext("additionalInformation")
+	io.CloseContext("additionalInformation", utils.WithRenderAsList(true))
 
 	io.PullContext("dataFrame")
 
@@ -194,14 +194,14 @@ func (m *LBusmonInd) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (additionalInformation)
 		if m.AdditionalInformation != nil {
-			io.PushContext("additionalInformation")
+			io.PushContext("additionalInformation", utils.WithRenderAsList(true))
 			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'additionalInformation' field")
 				}
 			}
-			io.PopContext("additionalInformation")
+			io.PopContext("additionalInformation", utils.WithRenderAsList(true))
 		}
 
 		// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
index 184ba27..ea323e6 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
@@ -126,7 +126,7 @@ func LDataConParse(io utils.ReadBuffer) (*CEMI, error) {
 	}
 
 	// Array field (additionalInformation)
-	io.PullContext("additionalInformation")
+	io.PullContext("additionalInformation", utils.WithRenderAsList(true))
 	// Length array
 	additionalInformation := make([]*CEMIAdditionalInformation, 0)
 	_additionalInformationLength := additionalInformationLength
@@ -138,7 +138,7 @@ func LDataConParse(io utils.ReadBuffer) (*CEMI, error) {
 		}
 		additionalInformation = append(additionalInformation, _item)
 	}
-	io.CloseContext("additionalInformation")
+	io.CloseContext("additionalInformation", utils.WithRenderAsList(true))
 
 	io.PullContext("dataFrame")
 
@@ -175,14 +175,14 @@ func (m *LDataCon) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (additionalInformation)
 		if m.AdditionalInformation != nil {
-			io.PushContext("additionalInformation")
+			io.PushContext("additionalInformation", utils.WithRenderAsList(true))
 			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'additionalInformation' field")
 				}
 			}
-			io.PopContext("additionalInformation")
+			io.PopContext("additionalInformation", utils.WithRenderAsList(true))
 		}
 
 		// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
index 16a9f2a..e97fa9d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
@@ -174,7 +174,7 @@ func LDataExtendedParse(io utils.ReadBuffer) (*LDataFrame, error) {
 	io.CloseContext("sourceAddress")
 
 	// Array field (destinationAddress)
-	io.PullContext("destinationAddress")
+	io.PullContext("destinationAddress", utils.WithRenderAsList(true))
 	// Count array
 	destinationAddress := make([]int8, uint16(2))
 	for curItem := uint16(0); curItem < uint16(uint16(2)); curItem++ {
@@ -184,7 +184,7 @@ func LDataExtendedParse(io utils.ReadBuffer) (*LDataFrame, error) {
 		}
 		destinationAddress[curItem] = _item
 	}
-	io.CloseContext("destinationAddress")
+	io.CloseContext("destinationAddress", utils.WithRenderAsList(true))
 
 	// Implicit Field (dataLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
 	dataLength, _dataLengthErr := io.ReadUint8("dataLength", 8)
@@ -253,14 +253,14 @@ func (m *LDataExtended) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (destinationAddress)
 		if m.DestinationAddress != nil {
-			io.PushContext("destinationAddress")
+			io.PushContext("destinationAddress", utils.WithRenderAsList(true))
 			for _, _element := range m.DestinationAddress {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'destinationAddress' field")
 				}
 			}
-			io.PopContext("destinationAddress")
+			io.PopContext("destinationAddress", utils.WithRenderAsList(true))
 		}
 
 		// Implicit Field (dataLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
index e85cef6..6fbbf10 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
@@ -126,7 +126,7 @@ func LDataIndParse(io utils.ReadBuffer) (*CEMI, error) {
 	}
 
 	// Array field (additionalInformation)
-	io.PullContext("additionalInformation")
+	io.PullContext("additionalInformation", utils.WithRenderAsList(true))
 	// Length array
 	additionalInformation := make([]*CEMIAdditionalInformation, 0)
 	_additionalInformationLength := additionalInformationLength
@@ -138,7 +138,7 @@ func LDataIndParse(io utils.ReadBuffer) (*CEMI, error) {
 		}
 		additionalInformation = append(additionalInformation, _item)
 	}
-	io.CloseContext("additionalInformation")
+	io.CloseContext("additionalInformation", utils.WithRenderAsList(true))
 
 	io.PullContext("dataFrame")
 
@@ -175,14 +175,14 @@ func (m *LDataInd) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (additionalInformation)
 		if m.AdditionalInformation != nil {
-			io.PushContext("additionalInformation")
+			io.PushContext("additionalInformation", utils.WithRenderAsList(true))
 			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'additionalInformation' field")
 				}
 			}
-			io.PopContext("additionalInformation")
+			io.PopContext("additionalInformation", utils.WithRenderAsList(true))
 		}
 
 		// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
index 4aac448..17a4ae1 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
@@ -126,7 +126,7 @@ func LDataReqParse(io utils.ReadBuffer) (*CEMI, error) {
 	}
 
 	// Array field (additionalInformation)
-	io.PullContext("additionalInformation")
+	io.PullContext("additionalInformation", utils.WithRenderAsList(true))
 	// Length array
 	additionalInformation := make([]*CEMIAdditionalInformation, 0)
 	_additionalInformationLength := additionalInformationLength
@@ -138,7 +138,7 @@ func LDataReqParse(io utils.ReadBuffer) (*CEMI, error) {
 		}
 		additionalInformation = append(additionalInformation, _item)
 	}
-	io.CloseContext("additionalInformation")
+	io.CloseContext("additionalInformation", utils.WithRenderAsList(true))
 
 	io.PullContext("dataFrame")
 
@@ -175,14 +175,14 @@ func (m *LDataReq) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (additionalInformation)
 		if m.AdditionalInformation != nil {
-			io.PushContext("additionalInformation")
+			io.PushContext("additionalInformation", utils.WithRenderAsList(true))
 			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'additionalInformation' field")
 				}
 			}
-			io.PopContext("additionalInformation")
+			io.PopContext("additionalInformation", utils.WithRenderAsList(true))
 		}
 
 		// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
index badde81..6ef969d 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
@@ -142,7 +142,7 @@ func LPollDataParse(io utils.ReadBuffer) (*LDataFrame, error) {
 	io.CloseContext("sourceAddress")
 
 	// Array field (targetAddress)
-	io.PullContext("targetAddress")
+	io.PullContext("targetAddress", utils.WithRenderAsList(true))
 	// Count array
 	targetAddress := make([]int8, uint16(2))
 	for curItem := uint16(0); curItem < uint16(uint16(2)); curItem++ {
@@ -152,7 +152,7 @@ func LPollDataParse(io utils.ReadBuffer) (*LDataFrame, error) {
 		}
 		targetAddress[curItem] = _item
 	}
-	io.CloseContext("targetAddress")
+	io.CloseContext("targetAddress", utils.WithRenderAsList(true))
 
 	// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
 	{
@@ -201,14 +201,14 @@ func (m *LPollData) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (targetAddress)
 		if m.TargetAddress != nil {
-			io.PushContext("targetAddress")
+			io.PushContext("targetAddress", utils.WithRenderAsList(true))
 			for _, _element := range m.TargetAddress {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'targetAddress' field")
 				}
 			}
-			io.PopContext("targetAddress")
+			io.PopContext("targetAddress", utils.WithRenderAsList(true))
 		}
 
 		// Reserved Field (reserved)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
index 8507888..8ca1079 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
@@ -88,7 +88,7 @@ func MACAddressParse(io utils.ReadBuffer) (*MACAddress, error) {
 	io.PullContext("MACAddress")
 
 	// Array field (addr)
-	io.PullContext("addr")
+	io.PullContext("addr", utils.WithRenderAsList(true))
 	// Count array
 	addr := make([]int8, uint16(6))
 	for curItem := uint16(0); curItem < uint16(uint16(6)); curItem++ {
@@ -98,7 +98,7 @@ func MACAddressParse(io utils.ReadBuffer) (*MACAddress, error) {
 		}
 		addr[curItem] = _item
 	}
-	io.CloseContext("addr")
+	io.CloseContext("addr", utils.WithRenderAsList(true))
 
 	io.CloseContext("MACAddress")
 
@@ -111,14 +111,14 @@ func (m *MACAddress) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (addr)
 	if m.Addr != nil {
-		io.PushContext("addr")
+		io.PushContext("addr", utils.WithRenderAsList(true))
 		for _, _element := range m.Addr {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'addr' field")
 			}
 		}
-		io.PopContext("addr")
+		io.PopContext("addr", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("MACAddress")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
index 4b76677..ac7a351 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
@@ -110,7 +110,7 @@ func UnknownMessageParse(io utils.ReadBuffer, totalLength uint16) (*KnxNetIpMess
 	io.PullContext("UnknownMessage")
 
 	// Array field (unknownData)
-	io.PullContext("unknownData")
+	io.PullContext("unknownData", utils.WithRenderAsList(true))
 	// Count array
 	unknownData := make([]int8, uint16(totalLength)-uint16(uint16(6)))
 	for curItem := uint16(0); curItem < uint16(uint16(totalLength)-uint16(uint16(6))); curItem++ {
@@ -120,7 +120,7 @@ func UnknownMessageParse(io utils.ReadBuffer, totalLength uint16) (*KnxNetIpMess
 		}
 		unknownData[curItem] = _item
 	}
-	io.CloseContext("unknownData")
+	io.CloseContext("unknownData", utils.WithRenderAsList(true))
 
 	io.CloseContext("UnknownMessage")
 
@@ -139,14 +139,14 @@ func (m *UnknownMessage) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (unknownData)
 		if m.UnknownData != nil {
-			io.PushContext("unknownData")
+			io.PushContext("unknownData", utils.WithRenderAsList(true))
 			for _, _element := range m.UnknownData {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'unknownData' field")
 				}
 			}
-			io.PopContext("unknownData")
+			io.PopContext("unknownData", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("UnknownMessage")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
index ba615bb..be8167e 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
@@ -161,7 +161,7 @@ func ModbusPDUGetComEventLogResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 	}
 
 	// Array field (events)
-	io.PullContext("events")
+	io.PullContext("events", utils.WithRenderAsList(true))
 	// Count array
 	events := make([]int8, uint16(byteCount)-uint16(uint16(6)))
 	for curItem := uint16(0); curItem < uint16(uint16(byteCount)-uint16(uint16(6))); curItem++ {
@@ -171,7 +171,7 @@ func ModbusPDUGetComEventLogResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 		}
 		events[curItem] = _item
 	}
-	io.CloseContext("events")
+	io.CloseContext("events", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUGetComEventLogResponse")
 
@@ -221,14 +221,14 @@ func (m *ModbusPDUGetComEventLogResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (events)
 		if m.Events != nil {
-			io.PushContext("events")
+			io.PushContext("events", utils.WithRenderAsList(true))
 			for _, _element := range m.Events {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'events' field")
 				}
 			}
-			io.PopContext("events")
+			io.PopContext("events", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUGetComEventLogResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
index c8488d5..040dcde 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadCoilsResponseParse(io utils.ReadBuffer) (*ModbusPDU, error) {
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReadCoilsResponseParse(io utils.ReadBuffer) (*ModbusPDU, error) {
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadCoilsResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReadCoilsResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadCoilsResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
index 3569db8..dc8f2d5 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadDiscreteInputsResponseParse(io utils.ReadBuffer) (*ModbusPDU,
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReadDiscreteInputsResponseParse(io utils.ReadBuffer) (*ModbusPDU,
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadDiscreteInputsResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReadDiscreteInputsResponse) Serialize(io utils.WriteBuffer) er
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadDiscreteInputsResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
index 4dd1a5c..d6285c8 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
@@ -136,7 +136,7 @@ func ModbusPDUReadFifoQueueResponseParse(io utils.ReadBuffer) (*ModbusPDU, error
 	}
 
 	// Array field (fifoValue)
-	io.PullContext("fifoValue")
+	io.PullContext("fifoValue", utils.WithRenderAsList(true))
 	// Count array
 	fifoValue := make([]uint16, fifoCount)
 	for curItem := uint16(0); curItem < uint16(fifoCount); curItem++ {
@@ -146,7 +146,7 @@ func ModbusPDUReadFifoQueueResponseParse(io utils.ReadBuffer) (*ModbusPDU, error
 		}
 		fifoValue[curItem] = _item
 	}
-	io.CloseContext("fifoValue")
+	io.CloseContext("fifoValue", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadFifoQueueResponse")
 
@@ -179,14 +179,14 @@ func (m *ModbusPDUReadFifoQueueResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (fifoValue)
 		if m.FifoValue != nil {
-			io.PushContext("fifoValue")
+			io.PushContext("fifoValue", utils.WithRenderAsList(true))
 			for _, _element := range m.FifoValue {
 				_elementErr := io.WriteUint16("", 16, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'fifoValue' field")
 				}
 			}
-			io.PopContext("fifoValue")
+			io.PopContext("fifoValue", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadFifoQueueResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
index 88b11a2..1c4f93b 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
@@ -128,7 +128,7 @@ func ModbusPDUReadFileRecordRequestParse(io utils.ReadBuffer) (*ModbusPDU, error
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Length array
 	items := make([]*ModbusPDUReadFileRecordRequestItem, 0)
 	_itemsLength := byteCount
@@ -140,7 +140,7 @@ func ModbusPDUReadFileRecordRequestParse(io utils.ReadBuffer) (*ModbusPDU, error
 		}
 		items = append(items, _item)
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadFileRecordRequest")
 
@@ -173,14 +173,14 @@ func (m *ModbusPDUReadFileRecordRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadFileRecordRequest")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
index dacab4b..31ad16b 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadFileRecordResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Length array
 	items := make([]*ModbusPDUReadFileRecordResponseItem, 0)
 	_itemsLength := byteCount
@@ -140,7 +140,7 @@ func ModbusPDUReadFileRecordResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 		}
 		items = append(items, _item)
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadFileRecordResponse")
 
@@ -173,14 +173,14 @@ func (m *ModbusPDUReadFileRecordResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadFileRecordResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
index 30bc496..2442768 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
@@ -108,7 +108,7 @@ func ModbusPDUReadFileRecordResponseItemParse(io utils.ReadBuffer) (*ModbusPDURe
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Length array
 	data := make([]int8, 0)
 	_dataLength := uint16(dataLength) - uint16(uint16(1))
@@ -120,7 +120,7 @@ func ModbusPDUReadFileRecordResponseItemParse(io utils.ReadBuffer) (*ModbusPDURe
 		}
 		data = append(data, _item)
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadFileRecordResponseItem")
 
@@ -147,14 +147,14 @@ func (m *ModbusPDUReadFileRecordResponseItem) Serialize(io utils.WriteBuffer) er
 
 	// Array Field (data)
 	if m.Data != nil {
-		io.PushContext("data")
+		io.PushContext("data", utils.WithRenderAsList(true))
 		for _, _element := range m.Data {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
-		io.PopContext("data")
+		io.PopContext("data", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("ModbusPDUReadFileRecordResponseItem")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
index 3e6ff62..d772d37 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadHoldingRegistersResponseParse(io utils.ReadBuffer) (*ModbusPDU
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReadHoldingRegistersResponseParse(io utils.ReadBuffer) (*ModbusPDU
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadHoldingRegistersResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReadHoldingRegistersResponse) Serialize(io utils.WriteBuffer)
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadHoldingRegistersResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
index 6e30a57..46301ab 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadInputRegistersResponseParse(io utils.ReadBuffer) (*ModbusPDU,
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReadInputRegistersResponseParse(io utils.ReadBuffer) (*ModbusPDU,
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadInputRegistersResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReadInputRegistersResponse) Serialize(io utils.WriteBuffer) er
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadInputRegistersResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
index a9bb376..8d94865 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
@@ -172,7 +172,7 @@ func ModbusPDUReadWriteMultipleHoldingRegistersRequestParse(io utils.ReadBuffer)
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -182,7 +182,7 @@ func ModbusPDUReadWriteMultipleHoldingRegistersRequestParse(io utils.ReadBuffer)
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
 
@@ -240,14 +240,14 @@ func (m *ModbusPDUReadWriteMultipleHoldingRegistersRequest) Serialize(io utils.W
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
index 42b7790..6c2982a 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReadWriteMultipleHoldingRegistersResponseParse(io utils.ReadBuffer
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReadWriteMultipleHoldingRegistersResponseParse(io utils.ReadBuffer
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReadWriteMultipleHoldingRegistersResponse) Serialize(io utils.
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
index 4ef137c..0f4109c 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUReportServerIdResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -138,7 +138,7 @@ func ModbusPDUReportServerIdResponseParse(io utils.ReadBuffer) (*ModbusPDU, erro
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUReportServerIdResponse")
 
@@ -164,14 +164,14 @@ func (m *ModbusPDUReportServerIdResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUReportServerIdResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
index 3d79a2c..720c1b1 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
@@ -128,7 +128,7 @@ func ModbusPDUWriteFileRecordRequestParse(io utils.ReadBuffer) (*ModbusPDU, erro
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Length array
 	items := make([]*ModbusPDUWriteFileRecordRequestItem, 0)
 	_itemsLength := byteCount
@@ -140,7 +140,7 @@ func ModbusPDUWriteFileRecordRequestParse(io utils.ReadBuffer) (*ModbusPDU, erro
 		}
 		items = append(items, _item)
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteFileRecordRequest")
 
@@ -173,14 +173,14 @@ func (m *ModbusPDUWriteFileRecordRequest) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUWriteFileRecordRequest")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
index cb0b9b9..43c1ea6 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
@@ -128,7 +128,7 @@ func ModbusPDUWriteFileRecordRequestItemParse(io utils.ReadBuffer) (*ModbusPDUWr
 	}
 
 	// Array field (recordData)
-	io.PullContext("recordData")
+	io.PullContext("recordData", utils.WithRenderAsList(true))
 	// Length array
 	recordData := make([]int8, 0)
 	_recordDataLength := uint16(recordLength) * uint16(uint16(2))
@@ -140,7 +140,7 @@ func ModbusPDUWriteFileRecordRequestItemParse(io utils.ReadBuffer) (*ModbusPDUWr
 		}
 		recordData = append(recordData, _item)
 	}
-	io.CloseContext("recordData")
+	io.CloseContext("recordData", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteFileRecordRequestItem")
 
@@ -181,14 +181,14 @@ func (m *ModbusPDUWriteFileRecordRequestItem) Serialize(io utils.WriteBuffer) er
 
 	// Array Field (recordData)
 	if m.RecordData != nil {
-		io.PushContext("recordData")
+		io.PushContext("recordData", utils.WithRenderAsList(true))
 		for _, _element := range m.RecordData {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'recordData' field")
 			}
 		}
-		io.PopContext("recordData")
+		io.PopContext("recordData", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("ModbusPDUWriteFileRecordRequestItem")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
index 9ccd15e..fd7190b 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
@@ -128,7 +128,7 @@ func ModbusPDUWriteFileRecordResponseParse(io utils.ReadBuffer) (*ModbusPDU, err
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Length array
 	items := make([]*ModbusPDUWriteFileRecordResponseItem, 0)
 	_itemsLength := byteCount
@@ -140,7 +140,7 @@ func ModbusPDUWriteFileRecordResponseParse(io utils.ReadBuffer) (*ModbusPDU, err
 		}
 		items = append(items, _item)
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteFileRecordResponse")
 
@@ -173,14 +173,14 @@ func (m *ModbusPDUWriteFileRecordResponse) Serialize(io utils.WriteBuffer) error
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUWriteFileRecordResponse")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
index 3bebe9d..2785260 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
@@ -128,7 +128,7 @@ func ModbusPDUWriteFileRecordResponseItemParse(io utils.ReadBuffer) (*ModbusPDUW
 	}
 
 	// Array field (recordData)
-	io.PullContext("recordData")
+	io.PullContext("recordData", utils.WithRenderAsList(true))
 	// Length array
 	recordData := make([]int8, 0)
 	_recordDataLength := recordLength
@@ -140,7 +140,7 @@ func ModbusPDUWriteFileRecordResponseItemParse(io utils.ReadBuffer) (*ModbusPDUW
 		}
 		recordData = append(recordData, _item)
 	}
-	io.CloseContext("recordData")
+	io.CloseContext("recordData", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteFileRecordResponseItem")
 
@@ -181,14 +181,14 @@ func (m *ModbusPDUWriteFileRecordResponseItem) Serialize(io utils.WriteBuffer) e
 
 	// Array Field (recordData)
 	if m.RecordData != nil {
-		io.PushContext("recordData")
+		io.PushContext("recordData", utils.WithRenderAsList(true))
 		for _, _element := range m.RecordData {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'recordData' field")
 			}
 		}
-		io.PopContext("recordData")
+		io.PopContext("recordData", utils.WithRenderAsList(true))
 	}
 
 	io.PopContext("ModbusPDUWriteFileRecordResponseItem")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
index 2956a60..ae6b9e2 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
@@ -150,7 +150,7 @@ func ModbusPDUWriteMultipleCoilsRequestParse(io utils.ReadBuffer) (*ModbusPDU, e
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -160,7 +160,7 @@ func ModbusPDUWriteMultipleCoilsRequestParse(io utils.ReadBuffer) (*ModbusPDU, e
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteMultipleCoilsRequest")
 
@@ -202,14 +202,14 @@ func (m *ModbusPDUWriteMultipleCoilsRequest) Serialize(io utils.WriteBuffer) err
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUWriteMultipleCoilsRequest")
diff --git a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
index 30b867b..6bf4109 100644
--- a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
+++ b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
@@ -150,7 +150,7 @@ func ModbusPDUWriteMultipleHoldingRegistersRequestParse(io utils.ReadBuffer) (*M
 	}
 
 	// Array field (value)
-	io.PullContext("value")
+	io.PullContext("value", utils.WithRenderAsList(true))
 	// Count array
 	value := make([]int8, byteCount)
 	for curItem := uint16(0); curItem < uint16(byteCount); curItem++ {
@@ -160,7 +160,7 @@ func ModbusPDUWriteMultipleHoldingRegistersRequestParse(io utils.ReadBuffer) (*M
 		}
 		value[curItem] = _item
 	}
-	io.CloseContext("value")
+	io.CloseContext("value", utils.WithRenderAsList(true))
 
 	io.CloseContext("ModbusPDUWriteMultipleHoldingRegistersRequest")
 
@@ -202,14 +202,14 @@ func (m *ModbusPDUWriteMultipleHoldingRegistersRequest) Serialize(io utils.Write
 
 		// Array Field (value)
 		if m.Value != nil {
-			io.PushContext("value")
+			io.PushContext("value", utils.WithRenderAsList(true))
 			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'value' field")
 				}
 			}
-			io.PopContext("value")
+			io.PopContext("value", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("ModbusPDUWriteMultipleHoldingRegistersRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
index d5d4d08..be556fc 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
@@ -108,7 +108,7 @@ func COTPParameterDisconnectAdditionalInformationParse(io utils.ReadBuffer, rest
 	io.PullContext("COTPParameterDisconnectAdditionalInformation")
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]uint8, rest)
 	for curItem := uint16(0); curItem < uint16(rest); curItem++ {
@@ -118,7 +118,7 @@ func COTPParameterDisconnectAdditionalInformationParse(io utils.ReadBuffer, rest
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	io.CloseContext("COTPParameterDisconnectAdditionalInformation")
 
@@ -137,14 +137,14 @@ func (m *COTPParameterDisconnectAdditionalInformation) Serialize(io utils.WriteB
 
 		// Array Field (data)
 		if m.Data != nil {
-			io.PushContext("data")
+			io.PushContext("data", utils.WithRenderAsList(true))
 			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8("", 8, _element)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'data' field")
 				}
 			}
-			io.PopContext("data")
+			io.PopContext("data", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("COTPParameterDisconnectAdditionalInformation")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
index 37b3fd7..894c7b0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
@@ -125,7 +125,7 @@ func S7ParameterReadVarRequestParse(io utils.ReadBuffer) (*S7Parameter, error) {
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7VarRequestParameterItem, numItems)
 	for curItem := uint16(0); curItem < uint16(numItems); curItem++ {
@@ -135,7 +135,7 @@ func S7ParameterReadVarRequestParse(io utils.ReadBuffer) (*S7Parameter, error) {
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7ParameterReadVarRequest")
 
@@ -161,14 +161,14 @@ func (m *S7ParameterReadVarRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7ParameterReadVarRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
index 3f6348c..5a618c5 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
@@ -125,7 +125,7 @@ func S7ParameterUserDataParse(io utils.ReadBuffer) (*S7Parameter, error) {
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7ParameterUserDataItem, numItems)
 	for curItem := uint16(0); curItem < uint16(numItems); curItem++ {
@@ -135,7 +135,7 @@ func S7ParameterUserDataParse(io utils.ReadBuffer) (*S7Parameter, error) {
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7ParameterUserData")
 
@@ -161,14 +161,14 @@ func (m *S7ParameterUserData) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7ParameterUserData")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
index 5285829..35ae259 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
@@ -125,7 +125,7 @@ func S7ParameterWriteVarRequestParse(io utils.ReadBuffer) (*S7Parameter, error)
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7VarRequestParameterItem, numItems)
 	for curItem := uint16(0); curItem < uint16(numItems); curItem++ {
@@ -135,7 +135,7 @@ func S7ParameterWriteVarRequestParse(io utils.ReadBuffer) (*S7Parameter, error)
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7ParameterWriteVarRequest")
 
@@ -161,14 +161,14 @@ func (m *S7ParameterWriteVarRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7ParameterWriteVarRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
index 109e631..92dca27 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
@@ -115,7 +115,7 @@ func S7PayloadReadVarResponseParse(io utils.ReadBuffer, parameter *S7Parameter)
 	io.PullContext("S7PayloadReadVarResponse")
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7VarPayloadDataItem, CastS7ParameterReadVarResponse(parameter).NumItems)
 	for curItem := uint16(0); curItem < uint16(CastS7ParameterReadVarResponse(parameter).NumItems); curItem++ {
@@ -126,7 +126,7 @@ func S7PayloadReadVarResponseParse(io utils.ReadBuffer, parameter *S7Parameter)
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7PayloadReadVarResponse")
 
@@ -145,7 +145,7 @@ func (m *S7PayloadReadVarResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			itemCount := uint16(len(m.Items))
 			var curItem uint16 = 0
 			for _, _element := range m.Items {
@@ -156,7 +156,7 @@ func (m *S7PayloadReadVarResponse) Serialize(io utils.WriteBuffer) error {
 				}
 				curItem++
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7PayloadReadVarResponse")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
index 9b3f38a..8feca99 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
@@ -115,7 +115,7 @@ func S7PayloadUserDataParse(io utils.ReadBuffer, parameter *S7Parameter) (*S7Pay
 	io.PullContext("S7PayloadUserData")
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7PayloadUserDataItem, uint16(len(CastS7ParameterUserData(parameter).Items)))
 	for curItem := uint16(0); curItem < uint16(uint16(len(CastS7ParameterUserData(parameter).Items))); curItem++ {
@@ -125,7 +125,7 @@ func S7PayloadUserDataParse(io utils.ReadBuffer, parameter *S7Parameter) (*S7Pay
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7PayloadUserData")
 
@@ -144,14 +144,14 @@ func (m *S7PayloadUserData) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7PayloadUserData")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
index 56409f4..4c253f4 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
@@ -141,7 +141,7 @@ func S7PayloadUserDataItemCpuFunctionReadSzlResponseParse(io utils.ReadBuffer) (
 	}
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*SzlDataTreeItem, szlItemCount)
 	for curItem := uint16(0); curItem < uint16(szlItemCount); curItem++ {
@@ -151,7 +151,7 @@ func S7PayloadUserDataItemCpuFunctionReadSzlResponseParse(io utils.ReadBuffer) (
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7PayloadUserDataItemCpuFunctionReadSzlResponse")
 
@@ -183,14 +183,14 @@ func (m *S7PayloadUserDataItemCpuFunctionReadSzlResponse) Serialize(io utils.Wri
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7PayloadUserDataItemCpuFunctionReadSzlResponse")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
index 5cf8d7e..fec8940 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
@@ -115,7 +115,7 @@ func S7PayloadWriteVarRequestParse(io utils.ReadBuffer, parameter *S7Parameter)
 	io.PullContext("S7PayloadWriteVarRequest")
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7VarPayloadDataItem, uint16(len(CastS7ParameterWriteVarRequest(parameter).Items)))
 	for curItem := uint16(0); curItem < uint16(uint16(len(CastS7ParameterWriteVarRequest(parameter).Items))); curItem++ {
@@ -126,7 +126,7 @@ func S7PayloadWriteVarRequestParse(io utils.ReadBuffer, parameter *S7Parameter)
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7PayloadWriteVarRequest")
 
@@ -145,7 +145,7 @@ func (m *S7PayloadWriteVarRequest) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			itemCount := uint16(len(m.Items))
 			var curItem uint16 = 0
 			for _, _element := range m.Items {
@@ -156,7 +156,7 @@ func (m *S7PayloadWriteVarRequest) Serialize(io utils.WriteBuffer) error {
 				}
 				curItem++
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7PayloadWriteVarRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
index cb5d978..431648d 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
@@ -115,7 +115,7 @@ func S7PayloadWriteVarResponseParse(io utils.ReadBuffer, parameter *S7Parameter)
 	io.PullContext("S7PayloadWriteVarResponse")
 
 	// Array field (items)
-	io.PullContext("items")
+	io.PullContext("items", utils.WithRenderAsList(true))
 	// Count array
 	items := make([]*S7VarPayloadStatusItem, CastS7ParameterWriteVarResponse(parameter).NumItems)
 	for curItem := uint16(0); curItem < uint16(CastS7ParameterWriteVarResponse(parameter).NumItems); curItem++ {
@@ -125,7 +125,7 @@ func S7PayloadWriteVarResponseParse(io utils.ReadBuffer, parameter *S7Parameter)
 		}
 		items[curItem] = _item
 	}
-	io.CloseContext("items")
+	io.CloseContext("items", utils.WithRenderAsList(true))
 
 	io.CloseContext("S7PayloadWriteVarResponse")
 
@@ -144,14 +144,14 @@ func (m *S7PayloadWriteVarResponse) Serialize(io utils.WriteBuffer) error {
 
 		// Array Field (items)
 		if m.Items != nil {
-			io.PushContext("items")
+			io.PushContext("items", utils.WithRenderAsList(true))
 			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.Wrap(_elementErr, "Error serializing 'items' field")
 				}
 			}
-			io.PopContext("items")
+			io.PopContext("items", utils.WithRenderAsList(true))
 		}
 
 		io.PopContext("S7PayloadWriteVarResponse")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go b/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
index 50c8a14..958f2d0 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
@@ -129,7 +129,7 @@ func S7VarPayloadDataItemParse(io utils.ReadBuffer, lastItem bool) (*S7VarPayloa
 	}
 
 	// Array field (data)
-	io.PullContext("data")
+	io.PullContext("data", utils.WithRenderAsList(true))
 	// Count array
 	data := make([]int8, utils.InlineIf(transportSize.SizeInBits(), func() uint16 { return uint16(math.Ceil(float64(dataLength) / float64(float64(8.0)))) }, func() uint16 { return uint16(dataLength) }))
 	for curItem := uint16(0); curItem < uint16(utils.InlineIf(transportSize.SizeInBits(), func() uint16 { return uint16(math.Ceil(float64(dataLength) / float64(float64(8.0)))) }, func() uint16 { return uint16(dataLength) })); curItem++ {
@@ -139,7 +139,7 @@ func S7VarPayloadDataItemParse(io utils.ReadBuffer, lastItem bool) (*S7VarPayloa
 		}
 		data[curItem] = _item
 	}
-	io.CloseContext("data")
+	io.CloseContext("data", utils.WithRenderAsList(true))
 
 	// Padding Field (padding)
 	{
@@ -193,14 +193,14 @@ func (m *S7VarPayloadDataItem) Serialize(io utils.WriteBuffer, lastItem bool) er
 
 	// Array Field (data)
 	if m.Data != nil {
-		io.PushContext("data")
+		io.PushContext("data", utils.WithRenderAsList(true))
 		for _, _element := range m.Data {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
-		io.PopContext("data")
+		io.PopContext("data", utils.WithRenderAsList(true))
 	}
 
 	// Padding Field (padding)
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go b/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
index f68505e..f7328ee 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
@@ -110,7 +110,7 @@ func SzlDataTreeItemParse(io utils.ReadBuffer) (*SzlDataTreeItem, error) {
 	}
 
 	// Array field (mlfb)
-	io.PullContext("mlfb")
+	io.PullContext("mlfb", utils.WithRenderAsList(true))
 	// Count array
 	mlfb := make([]int8, uint16(20))
 	for curItem := uint16(0); curItem < uint16(uint16(20)); curItem++ {
@@ -120,7 +120,7 @@ func SzlDataTreeItemParse(io utils.ReadBuffer) (*SzlDataTreeItem, error) {
 		}
 		mlfb[curItem] = _item
 	}
-	io.CloseContext("mlfb")
+	io.CloseContext("mlfb", utils.WithRenderAsList(true))
 
 	// Simple Field (moduleTypeId)
 	moduleTypeId, _moduleTypeIdErr := io.ReadUint16("moduleTypeId", 16)
@@ -158,14 +158,14 @@ func (m *SzlDataTreeItem) Serialize(io utils.WriteBuffer) error {
 
 	// Array Field (mlfb)
 	if m.Mlfb != nil {
-		io.PushContext("mlfb")
+		io.PushContext("mlfb", utils.WithRenderAsList(true))
 		for _, _element := range m.Mlfb {
 			_elementErr := io.WriteInt8("", 8, _element)
 			if _elementErr != nil {
 				return errors.Wrap(_elementErr, "Error serializing 'mlfb' field")
 			}
 		}
-		io.PopContext("mlfb")
+		io.PopContext("mlfb", utils.WithRenderAsList(true))
 	}
 
 	// Simple Field (moduleTypeId)
diff --git a/plc4go/internal/plc4go/s7/s7Io_test.go b/plc4go/internal/plc4go/s7/s7Io_test.go
index e803ab3..efc79dd 100644
--- a/plc4go/internal/plc4go/s7/s7Io_test.go
+++ b/plc4go/internal/plc4go/s7/s7Io_test.go
@@ -258,31 +258,33 @@ func TestS7MessageBytes(t *testing.T) {
           },
           "S7Payload": {
             "S7PayloadReadVarResponse": {
-              "items": {
-                "S7VarPayloadDataItem": {
-                  "data": {
-                    "value": 1,
-                    "value__plc4x_bitLength": 8,
-                    "value__plc4x_dataType": "int"
-                  },
-                  "dataLength": 1,
-                  "dataLength__plc4x_bitLength": 16,
-                  "dataLength__plc4x_dataType": "uint",
-                  "padding": {},
-                  "returnCode": {
-                    "DataTransportErrorCode": 255,
-                    "DataTransportErrorCode__plc4x_bitLength": 8,
-                    "DataTransportErrorCode__plc4x_dataType": "uint",
-                    "DataTransportErrorCode__plc4x_stringRepresentation": "OK"
-                  },
-                  "transportSize": {
-                    "DataTransportSize": 3,
-                    "DataTransportSize__plc4x_bitLength": 8,
-                    "DataTransportSize__plc4x_dataType": "uint",
-                    "DataTransportSize__plc4x_stringRepresentation": "BIT"
+              "items": [
+                {
+                  "S7VarPayloadDataItem": {
+                    "data": [
+                      {
+                        "value": 1
+                      }
+                    ],
+                    "dataLength": 1,
+                    "dataLength__plc4x_bitLength": 16,
+                    "dataLength__plc4x_dataType": "uint",
+                    "padding": {},
+                    "returnCode": {
+                      "DataTransportErrorCode": 255,
+                      "DataTransportErrorCode__plc4x_bitLength": 8,
+                      "DataTransportErrorCode__plc4x_dataType": "uint",
+                      "DataTransportErrorCode__plc4x_stringRepresentation": "OK"
+                    },
+                    "transportSize": {
+                      "DataTransportSize": 3,
+                      "DataTransportSize__plc4x_bitLength": 8,
+                      "DataTransportSize__plc4x_dataType": "uint",
+                      "DataTransportSize__plc4x_stringRepresentation": "BIT"
+                    }
                   }
                 }
-              }
+              ]
             }
           },
           "messageType": 3,
diff --git a/plc4go/internal/plc4go/spi/testutils/steptype_string.go b/plc4go/internal/plc4go/spi/testutils/steptype_string.go
index 8506728..c99ce3e 100644
--- a/plc4go/internal/plc4go/spi/testutils/steptype_string.go
+++ b/plc4go/internal/plc4go/spi/testutils/steptype_string.go
@@ -1,3 +1,20 @@
+// Licensed to Apache Software Foundation (ASF) under one or more contributor
+// license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright
+// ownership. Apache Software Foundation (ASF) licenses this file to you under
+// the Apache License, Version 2.0 (the "License"); you may
+// not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
 // Code generated by "stringer -type StepType"; DO NOT EDIT.
 
 package testutils