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

[plc4x] branch feature/mspec-ng updated (b23f493 -> a47855b)

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

cdutz pushed a change to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from b23f493  - Made the expression for the length of 'vstring' fields optional - Updated all places where we had lengths of "-1" (mostly in arguments) to use vstring instead.
     new ae95c5b  - Ported some of the fixes of the feature/mspec-ng back to develop
     new 39678c8  - Changed the download urls of the last release to the archive ones ...
     new eb53f0b  Worked on implementing some of the mspec changes we discussed (WIP)
     new a47855b  - Refactored the endianess handling toward usage of byteOrder attributes (WIP: Go currently doesn't build)

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../resources/templates/go/model-template.go.ftlh  |   3 +-
 .../templates/java/data-io-template.java.ftlh      |   7 +-
 .../resources/templates/java/io-template.java.ftlh |   1 -
 .../src/test/resources/integration-test/pom.xml    |  23 +--
 .../protocols/abeth/ParserSerializerTestsuite.xml  |   2 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |   2 +-
 .../testing/protocols/ads/DriverTestsuite.xml      |   2 +-
 .../protocols/ads/ParserSerializerTestsuite.xml    |   2 +-
 .../protocols/df1/ParserSerializerTestsuite.xml    |   2 +-
 .../testing/protocols/eip/DriverTestsuite.xml      |   2 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |   3 +-
 .../firmata/ParserSerializerTestsuite.xml          |   3 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |   3 +-
 .../testing/protocols/modbus/DriverTestsuite.xml   |   2 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |   3 +-
 .../testing/protocols/s7/DriverTestsuite.xml       |   2 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   3 +-
 plc4go/internal/plc4go/ads/fieldtype_string.go     |  17 --
 plc4go/internal/plc4go/modbus/fieldtype_string.go  |  17 --
 plc4go/internal/plc4go/s7/fieldtype_string.go      |  17 --
 .../plc4go/spi/testutils/steptype_string.go        |  17 --
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |  14 +-
 .../protocol/ads/ManualParserSerializerTest.java   |   3 +-
 .../generic/protocol/GenericCANProtocolLogic.java  |  10 +-
 .../canopen/CANOpenConversationBase.java           |   3 +-
 .../canopen/SDODownloadConversation.java           |   3 +-
 .../canopen/protocol/CANOpenProtocolLogic.java     |   4 +-
 .../canopen/transport/CANOpenFrameDataHandler.java |   3 +-
 .../plc4x/java/canopen/ManualParserTest.java       |   5 +-
 .../transport/IdentityCANOpenFrameBuilder.java     |   3 +-
 .../eip/readwrite/protocol/EipProtocolLogic.java   |   6 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |   4 +-
 .../java/opcua/context/EncryptionHandler.java      |   8 +-
 .../plc4x/java/opcua/context/SecureChannel.java    |  34 ++--
 .../java/opcua/protocol/OpcuaProtocolLogic.java    |  12 +-
 .../opcua/protocol/OpcuaSubscriptionHandle.java    |  12 +-
 .../apache/plc4x/java/profinet/ProfinetPoc.java    |  74 ++++---
 .../s7/src/test/resources/tests/PLC4X-272.xml      |   2 +-
 .../java/simulated/connection/SimulatedDevice.java |   3 +-
 .../spi/GeneratedDriverByteToMessageCodec.java     |  10 +-
 .../connection/CustomProtocolStackConfigurer.java  |  25 ++-
 .../connection/GeneratedProtocolMessageCodec.java  |   4 +-
 .../connection/SingleProtocolStackConfigurer.java  |  25 ++-
 .../{WithReaderArgs.java => ByteOrder.java}        |   4 +-
 .../java/spi/generation/ReadBufferByteBased.java   |  22 +--
 .../java/spi/generation/WriteBufferByteBased.java  |  30 +--
 .../transport/socketcan/SocketCANTransport.java    |   7 +-
 .../transport/virtualcan/VirtualCANTransport.java  |   7 +-
 .../test/driver/internal/DriverTestsuite.java      |   7 +-
 .../internal/DriverTestsuiteConfiguration.java     |  12 +-
 .../plc4x/test/driver/internal/TestStep.java       |   9 +-
 .../plc4x/test/driver/internal/Testcase.java       |   9 +-
 .../handlers/IncomingPlcMessageHandler.java        |  13 +-
 .../internal/handlers/OutgoingPlcBytesHandler.java |   9 +-
 .../handlers/OutgoingPlcMessageHandler.java        |   5 +-
 .../migration/MessageValidatorAndMigrator.java     |  12 +-
 .../ParserSerializerTestsuiteRunner.java           |  15 +-
 .../model/ParserSerializerTestsuite.java           |  12 +-
 .../main/resources/schemas/driver-testsuite.xsd    |   9 +-
 .../schemas/parser-serializer-testsuite.xsd        |   9 +-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |   2 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |   2 +-
 .../resources/protocols/ads/DriverTestsuite.xml    |   2 +-
 .../protocols/ads/ParserSerializerTestsuite.xml    |   2 +-
 .../protocols/canopen/CANOpenDriverSDOIT.xml       |   2 +-
 .../protocols/canopen/CANOpenPayloadTestSuite.xml  |   3 +-
 .../canopen/CANOpenWiresharkTestSuite.xml          |   3 +-
 .../protocols/df1/ParserSerializerTestsuite.xml    |   2 +-
 .../resources/protocols/eip/DriverTestsuite.xml    |   2 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |   3 +-
 .../firmata/ParserSerializerTestsuite.xml          |   3 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |   3 +-
 .../resources/protocols/modbus/DriverTestsuite.xml |   2 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |   3 +-
 .../resources/protocols/profinet/profinet.mspec    | 213 ++++++++++++---------
 .../resources/protocols/s7/DriverTestsuite.xml     |   2 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   3 +-
 protocols/socketcan/pom.xml                        |   2 +-
 .../plc4x/simulator/server/s7/S7ServerModule.java  |   3 +-
 .../plc4x/java/df1/protocol/Df1Protocol.java       |   4 +-
 .../org/apache/plc4x/java/df1/util/DF1Utils.java   |   2 +-
 src/site/asciidoc/users/download.adoc              |   2 +-
 82 files changed, 450 insertions(+), 406 deletions(-)
 copy plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/{WithReaderArgs.java => ByteOrder.java} (93%)

[plc4x] 03/04: Worked on implementing some of the mspec changes we discussed (WIP)

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit eb53f0b01425d0611f50f46e1ecf5b6e669f6fb9
Author: cdutz <ch...@c-ware.de>
AuthorDate: Sun Oct 3 13:22:33 2021 +0200

    Worked on implementing some of the mspec changes we discussed (WIP)
---
 .../resources/templates/go/model-template.go.ftlh  |   6 +-
 .../src/test/resources/integration-test/pom.xml    |  23 +-
 .../plc4go/abeth/readwrite/XmlParserHelper.go      |  36 +-
 .../model/CIPEncapsulationConnectionRequest.go     |   9 +-
 .../model/CIPEncapsulationConnectionResponse.go    |   9 +-
 .../readwrite/model/CIPEncapsulationPacket.go      |  49 +-
 .../readwrite/model/CIPEncapsulationReadRequest.go |  39 +-
 .../model/CIPEncapsulationReadResponse.go          |  39 +-
 .../readwrite/model/DF1CommandRequestMessage.go    |  39 +-
 ...mandResponseMessageProtectedTypedLogicalRead.go |  43 +-
 .../abeth/readwrite/model/DF1RequestCommand.go     |  17 +-
 .../abeth/readwrite/model/DF1RequestMessage.go     |  41 +-
 .../model/DF1RequestProtectedTypedLogicalRead.go   | 119 ++--
 .../abeth/readwrite/model/DF1ResponseMessage.go    |  41 +-
 .../plc4go/ads/readwrite/XmlParserHelper.go        |  68 +-
 .../model/AdsAddDeviceNotificationRequest.go       | 157 ++---
 .../model/AdsAddDeviceNotificationResponse.go      |  63 +-
 .../internal/plc4go/ads/readwrite/model/AdsData.go |  89 +--
 .../plc4go/ads/readwrite/model/AdsDataType.go      | 654 ++++++++----------
 .../model/AdsDeleteDeviceNotificationRequest.go    |  33 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |  35 +-
 .../model/AdsDeviceNotificationRequest.go          |  89 +--
 .../model/AdsDeviceNotificationResponse.go         |  11 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |  11 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |  11 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |  21 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |  77 ++-
 .../model/AdsMultiRequestItemReadWrite.go          |  93 +--
 .../readwrite/model/AdsMultiRequestItemWrite.go    |  71 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |  22 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |  11 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   | 133 ++--
 .../plc4go/ads/readwrite/model/AdsReadRequest.go   |  77 ++-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |  79 ++-
 .../ads/readwrite/model/AdsReadStateRequest.go     |  11 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |  85 +--
 .../ads/readwrite/model/AdsReadWriteRequest.go     | 163 ++---
 .../ads/readwrite/model/AdsReadWriteResponse.go    |  79 ++-
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |  24 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |  99 +--
 .../ads/readwrite/model/AdsWriteControlResponse.go |  35 +-
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |  99 +--
 .../plc4go/ads/readwrite/model/AdsWriteResponse.go |  35 +-
 .../plc4go/ads/readwrite/model/AmsNetId.go         |  34 +-
 .../plc4go/ads/readwrite/model/AmsPacket.go        |  50 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |  44 +-
 .../plc4go/ads/readwrite/model/AmsSerialFrame.go   |  48 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |  44 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |  14 +-
 .../plc4go/ads/readwrite/model/CommandId.go        |  63 +-
 .../plc4go/ads/readwrite/model/DataItem.go         | 691 ++++++++++---------
 .../ads/readwrite/model/ReservedIndexGroups.go     | 183 ++---
 .../plc4go/ads/readwrite/model/ReturnCode.go       | 735 +++++++++++----------
 .../internal/plc4go/ads/readwrite/model/State.go   |  64 +-
 .../resources/protocols/profinet/profinet.mspec    |   2 +-
 55 files changed, 2567 insertions(+), 2350 deletions(-)

diff --git a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
index f37ca35..9e4ae92 100644
--- a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -838,7 +838,9 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 	curPos = readBuffer.GetPos() - startPos
 				</#if>
 	var ${optionalField.name} *${helper.getLanguageTypeNameForField(field)} = nil
-	<#if optionalField.conditionExpression.present>if ${helper.toBooleanParseExpression(optionalField.conditionExpression.get(), parserArguments)} </#if>{
+	<#if optionalField.conditionExpression.present>
+	if ${helper.toBooleanParseExpression(optionalField.conditionExpression.get(), parserArguments)} </#if>{
+    </#if>
 			<#if helper.isSimpleTypeReference(optionalField.type)>
 		_val, _err := ${helper.getReadBufferReadMethodCall(optionalField.name, optionalField.type.asSimpleTypeReference().orElseThrow())}
 		if _err != nil {
@@ -889,7 +891,9 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 		}
 		${optionalField.name} = Cast${helper.getLanguageTypeNameForField(field)}(_val)
 			</#if>
+	<#if optionalField.conditionExpression.present>
 	}
+	</#if>
 			<#break>
 			<#case "assert">
 				<#assign assertField = field.asAssertField().orElseThrow()>
diff --git a/code-generation/language-java/src/test/resources/integration-test/pom.xml b/code-generation/language-java/src/test/resources/integration-test/pom.xml
index f435ad8..21530ff 100644
--- a/code-generation/language-java/src/test/resources/integration-test/pom.xml
+++ b/code-generation/language-java/src/test/resources/integration-test/pom.xml
@@ -137,17 +137,18 @@
     </plugins>
   </build>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-api</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-spi</artifactId>
-      <version>@project.version@</version>
-    </dependency>
+<dependencies>
+  <dependency>
+    <groupId>org.apache.plc4x</groupId>
+    <artifactId>plc4j-api</artifactId>
+    <version>@project.version@</version>
+  </dependency>
+
+  <dependency>
+    <groupId>org.apache.plc4x</groupId>
+    <artifactId>plc4j-spi</artifactId>
+    <version>@project.version@</version>
+  </dependency>
 
     <dependency>
       <groupId>org.apache.plc4x</groupId>
diff --git a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
index 7e51b7b..cd8a8eb 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/abeth/readwrite/model"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
-	"strconv"
-	"strings"
+    "strings"
+    "strconv"
 )
 
 // Code generated by code-generation. DO NOT EDIT.
@@ -41,20 +41,20 @@ func init() {
 }
 
 func (m AbethXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-	switch typeName {
-	case "DF1RequestCommand":
-		return model.DF1RequestCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "DF1RequestMessage":
-		return model.DF1RequestMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "DF1ResponseMessage":
-		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
-		if err != nil {
-			return nil, err
-		}
-		payloadLength := uint16(parsedUint0)
-		return model.DF1ResponseMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength)
-	case "CIPEncapsulationPacket":
-		return model.CIPEncapsulationPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	}
-	return nil, errors.Errorf("Unsupported type %s", typeName)
+    switch typeName {
+        case "DF1RequestCommand":
+			return model.DF1RequestCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "DF1RequestMessage":
+			return model.DF1RequestMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "DF1ResponseMessage":
+			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
+			if err!=nil {
+				return nil, err
+			}
+			payloadLength := uint16(parsedUint0)
+            return model.DF1ResponseMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength  )
+        case "CIPEncapsulationPacket":
+			return model.CIPEncapsulationPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+    }
+    return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index 6c8c64e..4980903 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type CIPEncapsulationConnectionRequest struct {
@@ -44,6 +46,7 @@ func (m *CIPEncapsulationConnectionRequest) CommandType() uint16 {
 	return 0x0101
 }
 
+
 func (m *CIPEncapsulationConnectionRequest) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -92,6 +95,7 @@ func (m *CIPEncapsulationConnectionRequest) LengthInBitsConditional(lastItem boo
 	return lengthInBits
 }
 
+
 func (m *CIPEncapsulationConnectionRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -135,3 +139,6 @@ func (m *CIPEncapsulationConnectionRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index e4b8546..77e7c4e 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type CIPEncapsulationConnectionResponse struct {
@@ -44,6 +46,7 @@ func (m *CIPEncapsulationConnectionResponse) CommandType() uint16 {
 	return 0x0201
 }
 
+
 func (m *CIPEncapsulationConnectionResponse) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -92,6 +95,7 @@ func (m *CIPEncapsulationConnectionResponse) LengthInBitsConditional(lastItem bo
 	return lengthInBits
 }
 
+
 func (m *CIPEncapsulationConnectionResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -135,3 +139,6 @@ func (m *CIPEncapsulationConnectionResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
index 1111635..97fc214 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type CIPEncapsulationPacket struct {
 	SessionHandle uint32
-	Status        uint32
+	Status uint32
 	SenderContext []uint8
-	Options       uint32
-	Child         ICIPEncapsulationPacketChild
+	Options uint32
+	Child ICIPEncapsulationPacketChild
 }
 
 // The corresponding interface
@@ -88,24 +90,24 @@ func (m *CIPEncapsulationPacket) LengthInBitsConditional(lastItem bool) uint16 {
 func (m *CIPEncapsulationPacket) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (commandType)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Implicit Field (len)
 	lengthInBits += 16
 
 	// Simple field (sessionHandle)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (status)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Array field
 	if len(m.SenderContext) > 0 {
 		lengthInBits += 8 * uint16(len(m.SenderContext))
-	}
+				}
 
 	// Simple field (options)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Reserved Field (reserved)
 	lengthInBits += 32
@@ -125,7 +127,7 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	// Discriminator Field (commandType) (Used as input to a switch field)
 	commandType, _commandTypeErr := readBuffer.ReadUint16("commandType", 16)
 	if _commandTypeErr != nil {
-		return nil, errors.Wrap(_commandTypeErr, "Error parsing 'commandType' field")
+	return nil, errors.Wrap(_commandTypeErr, "Error parsing 'commandType' field")
 	}
 
 	// Implicit Field (len) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
@@ -136,13 +138,13 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	}
 
 	// Simple Field (sessionHandle)
-	sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
+sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
 	if _sessionHandleErr != nil {
 		return nil, errors.Wrap(_sessionHandleErr, "Error parsing 'sessionHandle' field")
 	}
 
 	// Simple Field (status)
-	status, _statusErr := readBuffer.ReadUint32("status", 32)
+status, _statusErr := readBuffer.ReadUint32("status", 32)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
@@ -165,7 +167,7 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	}
 
 	// Simple Field (options)
-	options, _optionsErr := readBuffer.ReadUint32("options", 32)
+options, _optionsErr := readBuffer.ReadUint32("options", 32)
 	if _optionsErr != nil {
 		return nil, errors.Wrap(_optionsErr, "Error parsing 'options' field")
 	}
@@ -179,7 +181,7 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 		if reserved != uint32(0x00000000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint32(0x00000000),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -188,13 +190,13 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	var _parent *CIPEncapsulationPacket
 	var typeSwitchError error
 	switch {
-	case commandType == 0x0101: // CIPEncapsulationConnectionRequest
-		_parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer)
-	case commandType == 0x0201: // CIPEncapsulationConnectionResponse
-		_parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer)
-	case commandType == 0x0107: // CIPEncapsulationReadRequest
-		_parent, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer)
-	case commandType == 0x0207: // CIPEncapsulationReadResponse
+case commandType == 0x0101 : // CIPEncapsulationConnectionRequest
+		_parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer, )
+case commandType == 0x0201 : // CIPEncapsulationConnectionResponse
+		_parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer, )
+case commandType == 0x0107 : // CIPEncapsulationReadRequest
+		_parent, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer, )
+case commandType == 0x0207 : // CIPEncapsulationReadResponse
 		_parent, typeSwitchError = CIPEncapsulationReadResponseParse(readBuffer, len)
 	default:
 		// TODO: return actual type
@@ -218,7 +220,7 @@ func (m *CIPEncapsulationPacket) Serialize(writeBuffer utils.WriteBuffer) error
 }
 
 func (m *CIPEncapsulationPacket) SerializeParent(writeBuffer utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -302,3 +304,6 @@ func (m *CIPEncapsulationPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index afa9253..99e95cd 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type CIPEncapsulationReadRequest struct {
 	Request *DF1RequestMessage
-	Parent  *CIPEncapsulationPacket
+	Parent *CIPEncapsulationPacket
 }
 
 // The corresponding interface
@@ -46,6 +48,7 @@ func (m *CIPEncapsulationReadRequest) CommandType() uint16 {
 	return 0x0107
 }
 
+
 func (m *CIPEncapsulationReadRequest) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -56,7 +59,7 @@ func (m *CIPEncapsulationReadRequest) InitializeParent(parent *CIPEncapsulationP
 func NewCIPEncapsulationReadRequest(request *DF1RequestMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationReadRequest{
 		Request: request,
-		Parent:  NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Parent: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -98,6 +101,7 @@ func (m *CIPEncapsulationReadRequest) LengthInBitsConditional(lastItem bool) uin
 	return lengthInBits
 }
 
+
 func (m *CIPEncapsulationReadRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -111,7 +115,7 @@ func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (*CIPEncapsul
 	if pullErr := readBuffer.PullContext("request"); pullErr != nil {
 		return nil, pullErr
 	}
-	request, _requestErr := DF1RequestMessageParse(readBuffer)
+request, _requestErr := DF1RequestMessageParse(readBuffer)
 	if _requestErr != nil {
 		return nil, errors.Wrap(_requestErr, "Error parsing 'request' field")
 	}
@@ -126,7 +130,7 @@ func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (*CIPEncapsul
 	// Create a partially initialized instance
 	_child := &CIPEncapsulationReadRequest{
 		Request: CastDF1RequestMessage(request),
-		Parent:  &CIPEncapsulationPacket{},
+		Parent: &CIPEncapsulationPacket{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -138,17 +142,17 @@ func (m *CIPEncapsulationReadRequest) Serialize(writeBuffer utils.WriteBuffer) e
 			return pushErr
 		}
 
-		// Simple Field (request)
-		if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
-			return pushErr
-		}
-		_requestErr := m.Request.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("request"); popErr != nil {
-			return popErr
-		}
-		if _requestErr != nil {
-			return errors.Wrap(_requestErr, "Error serializing 'request' field")
-		}
+	// Simple Field (request)
+	if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
+		return pushErr
+	}
+	_requestErr := m.Request.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("request"); popErr != nil {
+		return popErr
+	}
+	if _requestErr != nil {
+		return errors.Wrap(_requestErr, "Error serializing 'request' field")
+	}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadRequest"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *CIPEncapsulationReadRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index a95ec22..820c44f 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type CIPEncapsulationReadResponse struct {
 	Response *DF1ResponseMessage
-	Parent   *CIPEncapsulationPacket
+	Parent *CIPEncapsulationPacket
 }
 
 // The corresponding interface
@@ -46,6 +48,7 @@ func (m *CIPEncapsulationReadResponse) CommandType() uint16 {
 	return 0x0207
 }
 
+
 func (m *CIPEncapsulationReadResponse) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -56,7 +59,7 @@ func (m *CIPEncapsulationReadResponse) InitializeParent(parent *CIPEncapsulation
 func NewCIPEncapsulationReadResponse(response *DF1ResponseMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationReadResponse{
 		Response: response,
-		Parent:   NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Parent: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -98,6 +101,7 @@ func (m *CIPEncapsulationReadResponse) LengthInBitsConditional(lastItem bool) ui
 	return lengthInBits
 }
 
+
 func (m *CIPEncapsulationReadResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -111,7 +115,7 @@ func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, len uint16)
 	if pullErr := readBuffer.PullContext("response"); pullErr != nil {
 		return nil, pullErr
 	}
-	response, _responseErr := DF1ResponseMessageParse(readBuffer, len)
+response, _responseErr := DF1ResponseMessageParse(readBuffer , len )
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field")
 	}
@@ -126,7 +130,7 @@ func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, len uint16)
 	// Create a partially initialized instance
 	_child := &CIPEncapsulationReadResponse{
 		Response: CastDF1ResponseMessage(response),
-		Parent:   &CIPEncapsulationPacket{},
+		Parent: &CIPEncapsulationPacket{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -138,17 +142,17 @@ func (m *CIPEncapsulationReadResponse) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-		// Simple Field (response)
-		if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
-			return pushErr
-		}
-		_responseErr := m.Response.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("response"); popErr != nil {
-			return popErr
-		}
-		if _responseErr != nil {
-			return errors.Wrap(_responseErr, "Error serializing 'response' field")
-		}
+	// Simple Field (response)
+	if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
+		return pushErr
+	}
+	_responseErr := m.Response.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("response"); popErr != nil {
+		return popErr
+	}
+	if _responseErr != nil {
+		return errors.Wrap(_responseErr, "Error serializing 'response' field")
+	}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadResponse"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *CIPEncapsulationReadResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
index b00ee3c..38b1368 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1CommandRequestMessage struct {
 	Command *DF1RequestCommand
-	Parent  *DF1RequestMessage
+	Parent *DF1RequestMessage
 }
 
 // The corresponding interface
@@ -46,6 +48,7 @@ func (m *DF1CommandRequestMessage) CommandCode() uint8 {
 	return 0x0F
 }
 
+
 func (m *DF1CommandRequestMessage) InitializeParent(parent *DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
 	m.Parent.DestinationAddress = destinationAddress
 	m.Parent.SourceAddress = sourceAddress
@@ -56,7 +59,7 @@ func (m *DF1CommandRequestMessage) InitializeParent(parent *DF1RequestMessage, d
 func NewDF1CommandRequestMessage(command *DF1RequestCommand, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1RequestMessage {
 	child := &DF1CommandRequestMessage{
 		Command: command,
-		Parent:  NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
+		Parent: NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -98,6 +101,7 @@ func (m *DF1CommandRequestMessage) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
+
 func (m *DF1CommandRequestMessage) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -111,7 +115,7 @@ func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMess
 	if pullErr := readBuffer.PullContext("command"); pullErr != nil {
 		return nil, pullErr
 	}
-	command, _commandErr := DF1RequestCommandParse(readBuffer)
+command, _commandErr := DF1RequestCommandParse(readBuffer)
 	if _commandErr != nil {
 		return nil, errors.Wrap(_commandErr, "Error parsing 'command' field")
 	}
@@ -126,7 +130,7 @@ func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMess
 	// Create a partially initialized instance
 	_child := &DF1CommandRequestMessage{
 		Command: CastDF1RequestCommand(command),
-		Parent:  &DF1RequestMessage{},
+		Parent: &DF1RequestMessage{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -138,17 +142,17 @@ func (m *DF1CommandRequestMessage) Serialize(writeBuffer utils.WriteBuffer) erro
 			return pushErr
 		}
 
-		// Simple Field (command)
-		if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
-			return pushErr
-		}
-		_commandErr := m.Command.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("command"); popErr != nil {
-			return popErr
-		}
-		if _commandErr != nil {
-			return errors.Wrap(_commandErr, "Error serializing 'command' field")
-		}
+	// Simple Field (command)
+	if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
+		return pushErr
+	}
+	_commandErr := m.Command.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("command"); popErr != nil {
+		return popErr
+	}
+	if _commandErr != nil {
+		return errors.Wrap(_commandErr, "Error serializing 'command' field")
+	}
 
 		if popErr := writeBuffer.PopContext("DF1CommandRequestMessage"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *DF1CommandRequestMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index a56801a..840504b 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -19,16 +19,18 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1CommandResponseMessageProtectedTypedLogicalRead struct {
-	Data   []uint8
+	Data []uint8
 	Parent *DF1ResponseMessage
 }
 
@@ -46,6 +48,7 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) CommandCode() uint8
 	return 0x4F
 }
 
+
 func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(parent *DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
 	m.Parent.DestinationAddress = destinationAddress
 	m.Parent.SourceAddress = sourceAddress
@@ -55,7 +58,7 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(pa
 
 func NewDF1CommandResponseMessageProtectedTypedLogicalRead(data []uint8, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1ResponseMessage {
 	child := &DF1CommandResponseMessageProtectedTypedLogicalRead{
-		Data:   data,
+		Data: data,
 		Parent: NewDF1ResponseMessage(destinationAddress, sourceAddress, status, transactionCounter),
 	}
 	child.Parent.Child = child
@@ -100,6 +103,7 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) LengthInBitsConditi
 	return lengthInBits
 }
 
+
 func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -117,7 +121,7 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.Re
 	data := make([]uint8, 0)
 	_dataLength := uint16(payloadLength) - uint16(uint16(8))
 	_dataEndPos := readBuffer.GetPos() + uint16(_dataLength)
-	for readBuffer.GetPos() < _dataEndPos {
+	for ;readBuffer.GetPos() < _dataEndPos; {
 		_item, _err := readBuffer.ReadUint8("", 8)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'data' field")
@@ -134,7 +138,7 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.Re
 
 	// Create a partially initialized instance
 	_child := &DF1CommandResponseMessageProtectedTypedLogicalRead{
-		Data:   data,
+		Data: data,
 		Parent: &DF1ResponseMessage{},
 	}
 	_child.Parent.Child = _child
@@ -147,21 +151,21 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) Serialize(writeBuff
 			return pushErr
 		}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteUint8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteUint8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); popErr != nil {
 			return popErr
@@ -179,3 +183,6 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
index 29ef3b3..37822c8 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1RequestCommand struct {
@@ -83,7 +85,7 @@ func (m *DF1RequestCommand) LengthInBitsConditional(lastItem bool) uint16 {
 func (m *DF1RequestCommand) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (functionCode)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	return lengthInBits
 }
@@ -100,15 +102,15 @@ func DF1RequestCommandParse(readBuffer utils.ReadBuffer) (*DF1RequestCommand, er
 	// Discriminator Field (functionCode) (Used as input to a switch field)
 	functionCode, _functionCodeErr := readBuffer.ReadUint8("functionCode", 8)
 	if _functionCodeErr != nil {
-		return nil, errors.Wrap(_functionCodeErr, "Error parsing 'functionCode' field")
+	return nil, errors.Wrap(_functionCodeErr, "Error parsing 'functionCode' field")
 	}
 
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	var _parent *DF1RequestCommand
 	var typeSwitchError error
 	switch {
-	case functionCode == 0xA2: // DF1RequestProtectedTypedLogicalRead
-		_parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer)
+case functionCode == 0xA2 : // DF1RequestProtectedTypedLogicalRead
+		_parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer, )
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -131,7 +133,7 @@ func (m *DF1RequestCommand) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1RequestCommand) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
 		return pushErr
 	}
 
@@ -163,3 +165,6 @@ func (m *DF1RequestCommand) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
index 3200b90..078f79e 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1RequestMessage struct {
 	DestinationAddress uint8
-	SourceAddress      uint8
-	Status             uint8
+	SourceAddress uint8
+	Status uint8
 	TransactionCounter uint16
-	Child              IDF1RequestMessageChild
+	Child IDF1RequestMessageChild
 }
 
 // The corresponding interface
@@ -89,21 +91,21 @@ func (m *DF1RequestMessage) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Reserved Field (reserved)
 	lengthInBits += 16
 	// Discriminator Field (commandCode)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (status)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
@@ -118,13 +120,13 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, er
 	}
 
 	// Simple Field (destinationAddress)
-	destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
 	}
 
 	// Simple Field (sourceAddress)
-	sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
 	}
@@ -138,7 +140,7 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, er
 		if reserved != uint16(0x0000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -146,17 +148,17 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, er
 	// Discriminator Field (commandCode) (Used as input to a switch field)
 	commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
 	if _commandCodeErr != nil {
-		return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
+	return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
 	}
 
 	// Simple Field (status)
-	status, _statusErr := readBuffer.ReadUint8("status", 8)
+status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
 
 	// Simple Field (transactionCounter)
-	transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
 	}
@@ -165,8 +167,8 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, er
 	var _parent *DF1RequestMessage
 	var typeSwitchError error
 	switch {
-	case commandCode == 0x0F: // DF1CommandRequestMessage
-		_parent, typeSwitchError = DF1CommandRequestMessageParse(readBuffer)
+case commandCode == 0x0F : // DF1CommandRequestMessage
+		_parent, typeSwitchError = DF1CommandRequestMessageParse(readBuffer, )
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -189,7 +191,7 @@ func (m *DF1RequestMessage) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1RequestMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
 		return pushErr
 	}
 
@@ -257,3 +259,6 @@ func (m *DF1RequestMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 0f4f142..1faa63a 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1RequestProtectedTypedLogicalRead struct {
-	ByteSize         uint8
-	FileNumber       uint8
-	FileType         uint8
-	ElementNumber    uint8
+	ByteSize uint8
+	FileNumber uint8
+	FileType uint8
+	ElementNumber uint8
 	SubElementNumber uint8
-	Parent           *DF1RequestCommand
+	Parent *DF1RequestCommand
 }
 
 // The corresponding interface
@@ -50,17 +52,18 @@ func (m *DF1RequestProtectedTypedLogicalRead) FunctionCode() uint8 {
 	return 0xA2
 }
 
+
 func (m *DF1RequestProtectedTypedLogicalRead) InitializeParent(parent *DF1RequestCommand) {
 }
 
 func NewDF1RequestProtectedTypedLogicalRead(byteSize uint8, fileNumber uint8, fileType uint8, elementNumber uint8, subElementNumber uint8) *DF1RequestCommand {
 	child := &DF1RequestProtectedTypedLogicalRead{
-		ByteSize:         byteSize,
-		FileNumber:       fileNumber,
-		FileType:         fileType,
-		ElementNumber:    elementNumber,
+		ByteSize: byteSize,
+		FileNumber: fileNumber,
+		FileType: fileType,
+		ElementNumber: elementNumber,
 		SubElementNumber: subElementNumber,
-		Parent:           NewDF1RequestCommand(),
+		Parent: NewDF1RequestCommand(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -97,23 +100,24 @@ func (m *DF1RequestProtectedTypedLogicalRead) LengthInBitsConditional(lastItem b
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (byteSize)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (fileNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (fileType)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (elementNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (subElementNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	return lengthInBits
 }
 
+
 func (m *DF1RequestProtectedTypedLogicalRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -124,31 +128,31 @@ func DF1RequestProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer) (*DF1
 	}
 
 	// Simple Field (byteSize)
-	byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
+byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
 	if _byteSizeErr != nil {
 		return nil, errors.Wrap(_byteSizeErr, "Error parsing 'byteSize' field")
 	}
 
 	// Simple Field (fileNumber)
-	fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
+fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
 	if _fileNumberErr != nil {
 		return nil, errors.Wrap(_fileNumberErr, "Error parsing 'fileNumber' field")
 	}
 
 	// Simple Field (fileType)
-	fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
+fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
 	if _fileTypeErr != nil {
 		return nil, errors.Wrap(_fileTypeErr, "Error parsing 'fileType' field")
 	}
 
 	// Simple Field (elementNumber)
-	elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
+elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
 	if _elementNumberErr != nil {
 		return nil, errors.Wrap(_elementNumberErr, "Error parsing 'elementNumber' field")
 	}
 
 	// Simple Field (subElementNumber)
-	subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
+subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
 	if _subElementNumberErr != nil {
 		return nil, errors.Wrap(_subElementNumberErr, "Error parsing 'subElementNumber' field")
 	}
@@ -159,12 +163,12 @@ func DF1RequestProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer) (*DF1
 
 	// Create a partially initialized instance
 	_child := &DF1RequestProtectedTypedLogicalRead{
-		ByteSize:         byteSize,
-		FileNumber:       fileNumber,
-		FileType:         fileType,
-		ElementNumber:    elementNumber,
+		ByteSize: byteSize,
+		FileNumber: fileNumber,
+		FileType: fileType,
+		ElementNumber: elementNumber,
 		SubElementNumber: subElementNumber,
-		Parent:           &DF1RequestCommand{},
+		Parent: &DF1RequestCommand{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -176,40 +180,40 @@ func (m *DF1RequestProtectedTypedLogicalRead) Serialize(writeBuffer utils.WriteB
 			return pushErr
 		}
 
-		// Simple Field (byteSize)
-		byteSize := uint8(m.ByteSize)
-		_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
-		if _byteSizeErr != nil {
-			return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
-		}
+	// Simple Field (byteSize)
+	byteSize := uint8(m.ByteSize)
+	_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
+	if _byteSizeErr != nil {
+		return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
+	}
 
-		// Simple Field (fileNumber)
-		fileNumber := uint8(m.FileNumber)
-		_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
-		if _fileNumberErr != nil {
-			return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
-		}
+	// Simple Field (fileNumber)
+	fileNumber := uint8(m.FileNumber)
+	_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
+	if _fileNumberErr != nil {
+		return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
+	}
 
-		// Simple Field (fileType)
-		fileType := uint8(m.FileType)
-		_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
-		if _fileTypeErr != nil {
-			return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
-		}
+	// Simple Field (fileType)
+	fileType := uint8(m.FileType)
+	_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
+	if _fileTypeErr != nil {
+		return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
+	}
 
-		// Simple Field (elementNumber)
-		elementNumber := uint8(m.ElementNumber)
-		_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
-		if _elementNumberErr != nil {
-			return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
-		}
+	// Simple Field (elementNumber)
+	elementNumber := uint8(m.ElementNumber)
+	_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
+	if _elementNumberErr != nil {
+		return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
+	}
 
-		// Simple Field (subElementNumber)
-		subElementNumber := uint8(m.SubElementNumber)
-		_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
-		if _subElementNumberErr != nil {
-			return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
-		}
+	// Simple Field (subElementNumber)
+	subElementNumber := uint8(m.SubElementNumber)
+	_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
+	if _subElementNumberErr != nil {
+		return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
+	}
 
 		if popErr := writeBuffer.PopContext("DF1RequestProtectedTypedLogicalRead"); popErr != nil {
 			return popErr
@@ -227,3 +231,6 @@ func (m *DF1RequestProtectedTypedLogicalRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
index 2c4913a..6217916 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type DF1ResponseMessage struct {
 	DestinationAddress uint8
-	SourceAddress      uint8
-	Status             uint8
+	SourceAddress uint8
+	Status uint8
 	TransactionCounter uint16
-	Child              IDF1ResponseMessageChild
+	Child IDF1ResponseMessageChild
 }
 
 // The corresponding interface
@@ -92,21 +94,21 @@ func (m *DF1ResponseMessage) ParentLengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Reserved Field (reserved)
 	lengthInBits += 8
 	// Discriminator Field (commandCode)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (status)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
@@ -129,19 +131,19 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 		if reserved != uint8(0x00) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
 
 	// Simple Field (destinationAddress)
-	destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
 	}
 
 	// Simple Field (sourceAddress)
-	sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
 	}
@@ -155,7 +157,7 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 		if reserved != uint8(0x00) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -163,17 +165,17 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 	// Discriminator Field (commandCode) (Used as input to a switch field)
 	commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
 	if _commandCodeErr != nil {
-		return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
+	return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
 	}
 
 	// Simple Field (status)
-	status, _statusErr := readBuffer.ReadUint8("status", 8)
+status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
 
 	// Simple Field (transactionCounter)
-	transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
 	}
@@ -182,7 +184,7 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 	var _parent *DF1ResponseMessage
 	var typeSwitchError error
 	switch {
-	case commandCode == 0x4F: // DF1CommandResponseMessageProtectedTypedLogicalRead
+case commandCode == 0x4F : // DF1CommandResponseMessageProtectedTypedLogicalRead
 		_parent, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer, payloadLength, status)
 	default:
 		// TODO: return actual type
@@ -206,7 +208,7 @@ func (m *DF1ResponseMessage) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1ResponseMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
 		return pushErr
 	}
 
@@ -282,3 +284,6 @@ func (m *DF1ResponseMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
index 616c149..c8cd0b7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
-	"strconv"
-	"strings"
+    "strings"
+    "strconv"
 )
 
 // Code generated by code-generation. DO NOT EDIT.
@@ -41,36 +41,36 @@ func init() {
 }
 
 func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-	switch typeName {
-	case "AdsMultiRequestItem":
-		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
-		if err != nil {
-			return nil, err
-		}
-		indexGroup := uint32(parsedUint0)
-		return model.AdsMultiRequestItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup)
-	case "AmsTCPPacket":
-		return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "State":
-		return model.StateParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AmsPacket":
-		return model.AmsPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AmsSerialFrame":
-		return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AmsSerialAcknowledgeFrame":
-		return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AdsData":
-		commandId := model.CommandIdByName(parserArguments[0])
-		response := parserArguments[1] == "true"
-		return model.AdsDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), commandId, response)
-	case "AmsNetId":
-		return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AdsStampHeader":
-		return model.AdsStampHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AmsSerialResetFrame":
-		return model.AmsSerialResetFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	case "AdsNotificationSample":
-		return model.AdsNotificationSampleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-	}
-	return nil, errors.Errorf("Unsupported type %s", typeName)
+    switch typeName {
+        case "AdsMultiRequestItem":
+			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
+			if err!=nil {
+				return nil, err
+			}
+			indexGroup := uint32(parsedUint0)
+            return model.AdsMultiRequestItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup  )
+        case "AmsTCPPacket":
+			return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "State":
+			return model.StateParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AmsPacket":
+			return model.AmsPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AmsSerialFrame":
+			return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AmsSerialAcknowledgeFrame":
+			return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AdsData":
+            commandId := model.CommandIdByName(parserArguments[0])
+            response := parserArguments[1] == "true"
+            return model.AdsDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), commandId,  response  )
+        case "AmsNetId":
+			return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AdsStampHeader":
+			return model.AdsStampHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AmsSerialResetFrame":
+			return model.AmsSerialResetFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+        case "AdsNotificationSample":
+			return model.AdsNotificationSampleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+    }
+    return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index 222528a..84ace91 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -19,6 +19,7 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
@@ -26,17 +27,18 @@ import (
 	"math/big"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsAddDeviceNotificationRequest struct {
-	IndexGroup       uint32
-	IndexOffset      uint32
-	Length           uint32
+	IndexGroup uint32
+	IndexOffset uint32
+	Length uint32
 	TransmissionMode uint32
-	MaxDelay         uint32
-	CycleTime        uint32
-	Parent           *AdsData
+	MaxDelay uint32
+	CycleTime uint32
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -57,18 +59,19 @@ func (m *AdsAddDeviceNotificationRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsAddDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsAddDeviceNotificationRequest(indexGroup uint32, indexOffset uint32, length uint32, transmissionMode uint32, maxDelay uint32, cycleTime uint32) *AdsData {
 	child := &AdsAddDeviceNotificationRequest{
-		IndexGroup:       indexGroup,
-		IndexOffset:      indexOffset,
-		Length:           length,
+		IndexGroup: indexGroup,
+		IndexOffset: indexOffset,
+		Length: length,
 		TransmissionMode: transmissionMode,
-		MaxDelay:         maxDelay,
-		CycleTime:        cycleTime,
-		Parent:           NewAdsData(),
+		MaxDelay: maxDelay,
+		CycleTime: cycleTime,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -105,22 +108,22 @@ func (m *AdsAddDeviceNotificationRequest) LengthInBitsConditional(lastItem bool)
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (indexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (length)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (transmissionMode)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (maxDelay)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (cycleTime)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Reserved Field (reserved)
 	lengthInBits += 128
@@ -128,47 +131,48 @@ func (m *AdsAddDeviceNotificationRequest) LengthInBitsConditional(lastItem bool)
 	return lengthInBits
 }
 
+
 func (m *AdsAddDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadUint32("length", 32)
+length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (transmissionMode)
-	transmissionMode, _transmissionModeErr := readBuffer.ReadUint32("transmissionMode", 32)
+transmissionMode, _transmissionModeErr := readBuffer.ReadUint32("transmissionMode", 32)
 	if _transmissionModeErr != nil {
 		return nil, errors.Wrap(_transmissionModeErr, "Error parsing 'transmissionMode' field")
 	}
 
 	// Simple Field (maxDelay)
-	maxDelay, _maxDelayErr := readBuffer.ReadUint32("maxDelay", 32)
+maxDelay, _maxDelayErr := readBuffer.ReadUint32("maxDelay", 32)
 	if _maxDelayErr != nil {
 		return nil, errors.Wrap(_maxDelayErr, "Error parsing 'maxDelay' field")
 	}
 
 	// Simple Field (cycleTime)
-	cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
+cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
 	if _cycleTimeErr != nil {
 		return nil, errors.Wrap(_cycleTimeErr, "Error parsing 'cycleTime' field")
 	}
@@ -182,7 +186,7 @@ func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData
 		if reserved.Cmp(big.NewInt(0x0000)) != 0 {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": big.NewInt(0x0000),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -193,13 +197,13 @@ func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData
 
 	// Create a partially initialized instance
 	_child := &AdsAddDeviceNotificationRequest{
-		IndexGroup:       indexGroup,
-		IndexOffset:      indexOffset,
-		Length:           length,
+		IndexGroup: indexGroup,
+		IndexOffset: indexOffset,
+		Length: length,
 		TransmissionMode: transmissionMode,
-		MaxDelay:         maxDelay,
-		CycleTime:        cycleTime,
-		Parent:           &AdsData{},
+		MaxDelay: maxDelay,
+		CycleTime: cycleTime,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -211,55 +215,55 @@ func (m *AdsAddDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffe
 			return pushErr
 		}
 
-		// Simple Field (indexGroup)
-		indexGroup := uint32(m.IndexGroup)
-		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-		if _indexGroupErr != nil {
-			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-		}
+	// Simple Field (indexGroup)
+	indexGroup := uint32(m.IndexGroup)
+	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+	if _indexGroupErr != nil {
+		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+	}
 
-		// Simple Field (indexOffset)
-		indexOffset := uint32(m.IndexOffset)
-		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-		if _indexOffsetErr != nil {
-			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-		}
+	// Simple Field (indexOffset)
+	indexOffset := uint32(m.IndexOffset)
+	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+	if _indexOffsetErr != nil {
+		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+	}
 
-		// Simple Field (length)
-		length := uint32(m.Length)
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Simple Field (length)
+	length := uint32(m.Length)
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Simple Field (transmissionMode)
-		transmissionMode := uint32(m.TransmissionMode)
-		_transmissionModeErr := writeBuffer.WriteUint32("transmissionMode", 32, (transmissionMode))
-		if _transmissionModeErr != nil {
-			return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
-		}
+	// Simple Field (transmissionMode)
+	transmissionMode := uint32(m.TransmissionMode)
+	_transmissionModeErr := writeBuffer.WriteUint32("transmissionMode", 32, (transmissionMode))
+	if _transmissionModeErr != nil {
+		return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
+	}
 
-		// Simple Field (maxDelay)
-		maxDelay := uint32(m.MaxDelay)
-		_maxDelayErr := writeBuffer.WriteUint32("maxDelay", 32, (maxDelay))
-		if _maxDelayErr != nil {
-			return errors.Wrap(_maxDelayErr, "Error serializing 'maxDelay' field")
-		}
+	// Simple Field (maxDelay)
+	maxDelay := uint32(m.MaxDelay)
+	_maxDelayErr := writeBuffer.WriteUint32("maxDelay", 32, (maxDelay))
+	if _maxDelayErr != nil {
+		return errors.Wrap(_maxDelayErr, "Error serializing 'maxDelay' field")
+	}
 
-		// Simple Field (cycleTime)
-		cycleTime := uint32(m.CycleTime)
-		_cycleTimeErr := writeBuffer.WriteUint32("cycleTime", 32, (cycleTime))
-		if _cycleTimeErr != nil {
-			return errors.Wrap(_cycleTimeErr, "Error serializing 'cycleTime' field")
-		}
+	// Simple Field (cycleTime)
+	cycleTime := uint32(m.CycleTime)
+	_cycleTimeErr := writeBuffer.WriteUint32("cycleTime", 32, (cycleTime))
+	if _cycleTimeErr != nil {
+		return errors.Wrap(_cycleTimeErr, "Error serializing 'cycleTime' field")
+	}
 
-		// Reserved Field (reserved)
-		{
-			_err := writeBuffer.WriteBigInt("reserved", 128, big.NewInt(0x0000))
-			if _err != nil {
-				return errors.Wrap(_err, "Error serializing 'reserved' field")
-			}
+	// Reserved Field (reserved)
+	{
+		_err := writeBuffer.WriteBigInt("reserved", 128, big.NewInt(0x0000))
+		if _err != nil {
+			return errors.Wrap(_err, "Error serializing 'reserved' field")
 		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -277,3 +281,6 @@ func (m *AdsAddDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index c60af8d..a23e1c5 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -19,18 +19,20 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsAddDeviceNotificationResponse struct {
-	Result             ReturnCode
+	Result ReturnCode
 	NotificationHandle uint32
-	Parent             *AdsData
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -51,14 +53,15 @@ func (m *AdsAddDeviceNotificationResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsAddDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsAddDeviceNotificationResponse(result ReturnCode, notificationHandle uint32) *AdsData {
 	child := &AdsAddDeviceNotificationResponse{
-		Result:             result,
+		Result: result,
 		NotificationHandle: notificationHandle,
-		Parent:             NewAdsData(),
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -98,16 +101,17 @@ func (m *AdsAddDeviceNotificationResponse) LengthInBitsConditional(lastItem bool
 	lengthInBits += 32
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsAddDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -116,7 +120,7 @@ func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsDat
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -125,7 +129,7 @@ func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsDat
 	}
 
 	// Simple Field (notificationHandle)
-	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
@@ -136,9 +140,9 @@ func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsDat
 
 	// Create a partially initialized instance
 	_child := &AdsAddDeviceNotificationResponse{
-		Result:             result,
+		Result: result,
 		NotificationHandle: notificationHandle,
-		Parent:             &AdsData{},
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -150,24 +154,24 @@ func (m *AdsAddDeviceNotificationResponse) Serialize(writeBuffer utils.WriteBuff
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
-		// Simple Field (notificationHandle)
-		notificationHandle := uint32(m.NotificationHandle)
-		_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
-		if _notificationHandleErr != nil {
-			return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
-		}
+	// Simple Field (notificationHandle)
+	notificationHandle := uint32(m.NotificationHandle)
+	_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
+	if _notificationHandleErr != nil {
+		return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationResponse"); popErr != nil {
 			return popErr
@@ -185,3 +189,6 @@ func (m *AdsAddDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
index a6b631a..892c136 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsData struct {
@@ -100,46 +102,46 @@ func AdsDataParse(readBuffer utils.ReadBuffer, commandId CommandId, response boo
 	var _parent *AdsData
 	var typeSwitchError error
 	switch {
-	case commandId == CommandId_INVALID && response == false: // AdsInvalidRequest
-		_parent, typeSwitchError = AdsInvalidRequestParse(readBuffer)
-	case commandId == CommandId_INVALID && response == true: // AdsInvalidResponse
-		_parent, typeSwitchError = AdsInvalidResponseParse(readBuffer)
-	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == false: // AdsReadDeviceInfoRequest
-		_parent, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer)
-	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == true: // AdsReadDeviceInfoResponse
-		_parent, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer)
-	case commandId == CommandId_ADS_READ && response == false: // AdsReadRequest
-		_parent, typeSwitchError = AdsReadRequestParse(readBuffer)
-	case commandId == CommandId_ADS_READ && response == true: // AdsReadResponse
-		_parent, typeSwitchError = AdsReadResponseParse(readBuffer)
-	case commandId == CommandId_ADS_WRITE && response == false: // AdsWriteRequest
-		_parent, typeSwitchError = AdsWriteRequestParse(readBuffer)
-	case commandId == CommandId_ADS_WRITE && response == true: // AdsWriteResponse
-		_parent, typeSwitchError = AdsWriteResponseParse(readBuffer)
-	case commandId == CommandId_ADS_READ_STATE && response == false: // AdsReadStateRequest
-		_parent, typeSwitchError = AdsReadStateRequestParse(readBuffer)
-	case commandId == CommandId_ADS_READ_STATE && response == true: // AdsReadStateResponse
-		_parent, typeSwitchError = AdsReadStateResponseParse(readBuffer)
-	case commandId == CommandId_ADS_WRITE_CONTROL && response == false: // AdsWriteControlRequest
-		_parent, typeSwitchError = AdsWriteControlRequestParse(readBuffer)
-	case commandId == CommandId_ADS_WRITE_CONTROL && response == true: // AdsWriteControlResponse
-		_parent, typeSwitchError = AdsWriteControlResponseParse(readBuffer)
-	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == false: // AdsAddDeviceNotificationRequest
-		_parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer)
-	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == true: // AdsAddDeviceNotificationResponse
-		_parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer)
-	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == false: // AdsDeleteDeviceNotificationRequest
-		_parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer)
-	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == true: // AdsDeleteDeviceNotificationResponse
-		_parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer)
-	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == false: // AdsDeviceNotificationRequest
-		_parent, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer)
-	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == true: // AdsDeviceNotificationResponse
-		_parent, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer)
-	case commandId == CommandId_ADS_READ_WRITE && response == false: // AdsReadWriteRequest
-		_parent, typeSwitchError = AdsReadWriteRequestParse(readBuffer)
-	case commandId == CommandId_ADS_READ_WRITE && response == true: // AdsReadWriteResponse
-		_parent, typeSwitchError = AdsReadWriteResponseParse(readBuffer)
+case commandId == CommandId_INVALID && response == false : // AdsInvalidRequest
+		_parent, typeSwitchError = AdsInvalidRequestParse(readBuffer, )
+case commandId == CommandId_INVALID && response == true : // AdsInvalidResponse
+		_parent, typeSwitchError = AdsInvalidResponseParse(readBuffer, )
+case commandId == CommandId_ADS_READ_DEVICE_INFO && response == false : // AdsReadDeviceInfoRequest
+		_parent, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer, )
+case commandId == CommandId_ADS_READ_DEVICE_INFO && response == true : // AdsReadDeviceInfoResponse
+		_parent, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer, )
+case commandId == CommandId_ADS_READ && response == false : // AdsReadRequest
+		_parent, typeSwitchError = AdsReadRequestParse(readBuffer, )
+case commandId == CommandId_ADS_READ && response == true : // AdsReadResponse
+		_parent, typeSwitchError = AdsReadResponseParse(readBuffer, )
+case commandId == CommandId_ADS_WRITE && response == false : // AdsWriteRequest
+		_parent, typeSwitchError = AdsWriteRequestParse(readBuffer, )
+case commandId == CommandId_ADS_WRITE && response == true : // AdsWriteResponse
+		_parent, typeSwitchError = AdsWriteResponseParse(readBuffer, )
+case commandId == CommandId_ADS_READ_STATE && response == false : // AdsReadStateRequest
+		_parent, typeSwitchError = AdsReadStateRequestParse(readBuffer, )
+case commandId == CommandId_ADS_READ_STATE && response == true : // AdsReadStateResponse
+		_parent, typeSwitchError = AdsReadStateResponseParse(readBuffer, )
+case commandId == CommandId_ADS_WRITE_CONTROL && response == false : // AdsWriteControlRequest
+		_parent, typeSwitchError = AdsWriteControlRequestParse(readBuffer, )
+case commandId == CommandId_ADS_WRITE_CONTROL && response == true : // AdsWriteControlResponse
+		_parent, typeSwitchError = AdsWriteControlResponseParse(readBuffer, )
+case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == false : // AdsAddDeviceNotificationRequest
+		_parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer, )
+case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == true : // AdsAddDeviceNotificationResponse
+		_parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer, )
+case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == false : // AdsDeleteDeviceNotificationRequest
+		_parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer, )
+case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == true : // AdsDeleteDeviceNotificationResponse
+		_parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer, )
+case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == false : // AdsDeviceNotificationRequest
+		_parent, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer, )
+case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == true : // AdsDeviceNotificationResponse
+		_parent, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer, )
+case commandId == CommandId_ADS_READ_WRITE && response == false : // AdsReadWriteRequest
+		_parent, typeSwitchError = AdsReadWriteRequestParse(readBuffer, )
+case commandId == CommandId_ADS_READ_WRITE && response == true : // AdsReadWriteResponse
+		_parent, typeSwitchError = AdsReadWriteResponseParse(readBuffer, )
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -162,7 +164,7 @@ func (m *AdsData) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *AdsData) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("AdsData"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AdsData"); pushErr != nil {
 		return pushErr
 	}
 
@@ -186,3 +188,6 @@ func (m *AdsData) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
index ba9169a..b8ded20 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
@@ -34,54 +34,54 @@ type IAdsDataType interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const (
-	AdsDataType_BOOL          AdsDataType = 0x01
-	AdsDataType_BIT           AdsDataType = 0x02
-	AdsDataType_BIT8          AdsDataType = 0x03
-	AdsDataType_BYTE          AdsDataType = 0x04
-	AdsDataType_BITARR8       AdsDataType = 0x05
-	AdsDataType_WORD          AdsDataType = 0x06
-	AdsDataType_BITARR16      AdsDataType = 0x07
-	AdsDataType_DWORD         AdsDataType = 0x08
-	AdsDataType_BITARR32      AdsDataType = 0x09
-	AdsDataType_SINT          AdsDataType = 0x0A
-	AdsDataType_INT8          AdsDataType = 0x0B
-	AdsDataType_USINT         AdsDataType = 0x0C
-	AdsDataType_UINT8         AdsDataType = 0x0D
-	AdsDataType_INT           AdsDataType = 0x0E
-	AdsDataType_INT16         AdsDataType = 0x0F
-	AdsDataType_UINT          AdsDataType = 0x10
-	AdsDataType_UINT16        AdsDataType = 0x11
-	AdsDataType_DINT          AdsDataType = 0x12
-	AdsDataType_INT32         AdsDataType = 0x13
-	AdsDataType_UDINT         AdsDataType = 0x14
-	AdsDataType_UINT32        AdsDataType = 0x15
-	AdsDataType_LINT          AdsDataType = 0x16
-	AdsDataType_INT64         AdsDataType = 0x17
-	AdsDataType_ULINT         AdsDataType = 0x18
-	AdsDataType_UINT64        AdsDataType = 0x19
-	AdsDataType_REAL          AdsDataType = 0x1A
-	AdsDataType_FLOAT         AdsDataType = 0x1B
-	AdsDataType_LREAL         AdsDataType = 0x1C
-	AdsDataType_DOUBLE        AdsDataType = 0x1D
-	AdsDataType_CHAR          AdsDataType = 0x1E
-	AdsDataType_WCHAR         AdsDataType = 0x1F
-	AdsDataType_STRING        AdsDataType = 0x20
-	AdsDataType_WSTRING       AdsDataType = 0x21
-	AdsDataType_TIME          AdsDataType = 0x22
-	AdsDataType_LTIME         AdsDataType = 0x23
-	AdsDataType_DATE          AdsDataType = 0x24
-	AdsDataType_TIME_OF_DAY   AdsDataType = 0x25
-	AdsDataType_TOD           AdsDataType = 0x26
+const(
+	AdsDataType_BOOL AdsDataType = 0x01
+	AdsDataType_BIT AdsDataType = 0x02
+	AdsDataType_BIT8 AdsDataType = 0x03
+	AdsDataType_BYTE AdsDataType = 0x04
+	AdsDataType_BITARR8 AdsDataType = 0x05
+	AdsDataType_WORD AdsDataType = 0x06
+	AdsDataType_BITARR16 AdsDataType = 0x07
+	AdsDataType_DWORD AdsDataType = 0x08
+	AdsDataType_BITARR32 AdsDataType = 0x09
+	AdsDataType_SINT AdsDataType = 0x0A
+	AdsDataType_INT8 AdsDataType = 0x0B
+	AdsDataType_USINT AdsDataType = 0x0C
+	AdsDataType_UINT8 AdsDataType = 0x0D
+	AdsDataType_INT AdsDataType = 0x0E
+	AdsDataType_INT16 AdsDataType = 0x0F
+	AdsDataType_UINT AdsDataType = 0x10
+	AdsDataType_UINT16 AdsDataType = 0x11
+	AdsDataType_DINT AdsDataType = 0x12
+	AdsDataType_INT32 AdsDataType = 0x13
+	AdsDataType_UDINT AdsDataType = 0x14
+	AdsDataType_UINT32 AdsDataType = 0x15
+	AdsDataType_LINT AdsDataType = 0x16
+	AdsDataType_INT64 AdsDataType = 0x17
+	AdsDataType_ULINT AdsDataType = 0x18
+	AdsDataType_UINT64 AdsDataType = 0x19
+	AdsDataType_REAL AdsDataType = 0x1A
+	AdsDataType_FLOAT AdsDataType = 0x1B
+	AdsDataType_LREAL AdsDataType = 0x1C
+	AdsDataType_DOUBLE AdsDataType = 0x1D
+	AdsDataType_CHAR AdsDataType = 0x1E
+	AdsDataType_WCHAR AdsDataType = 0x1F
+	AdsDataType_STRING AdsDataType = 0x20
+	AdsDataType_WSTRING AdsDataType = 0x21
+	AdsDataType_TIME AdsDataType = 0x22
+	AdsDataType_LTIME AdsDataType = 0x23
+	AdsDataType_DATE AdsDataType = 0x24
+	AdsDataType_TIME_OF_DAY AdsDataType = 0x25
+	AdsDataType_TOD AdsDataType = 0x26
 	AdsDataType_DATE_AND_TIME AdsDataType = 0x27
-	AdsDataType_DT            AdsDataType = 0x28
+	AdsDataType_DT AdsDataType = 0x28
 )
 
 var AdsDataTypeValues []AdsDataType
 
 func init() {
 	_ = errors.New
-	AdsDataTypeValues = []AdsDataType{
+	AdsDataTypeValues = []AdsDataType {
 		AdsDataType_BOOL,
 		AdsDataType_BIT,
 		AdsDataType_BIT8,
@@ -125,170 +125,130 @@ func init() {
 	}
 }
 
+
 func (e AdsDataType) NumBytes() uint16 {
-	switch e {
-	case 0x01:
-		{ /* '0x01' */
-			return 1
+	switch e  {
+		case 0x01: { /* '0x01' */
+            return 1
 		}
-	case 0x02:
-		{ /* '0x02' */
-			return 1
+		case 0x02: { /* '0x02' */
+            return 1
 		}
-	case 0x03:
-		{ /* '0x03' */
-			return 1
+		case 0x03: { /* '0x03' */
+            return 1
 		}
-	case 0x04:
-		{ /* '0x04' */
-			return 1
+		case 0x04: { /* '0x04' */
+            return 1
 		}
-	case 0x05:
-		{ /* '0x05' */
-			return 1
+		case 0x05: { /* '0x05' */
+            return 1
 		}
-	case 0x06:
-		{ /* '0x06' */
-			return 2
+		case 0x06: { /* '0x06' */
+            return 2
 		}
-	case 0x07:
-		{ /* '0x07' */
-			return 2
+		case 0x07: { /* '0x07' */
+            return 2
 		}
-	case 0x08:
-		{ /* '0x08' */
-			return 4
+		case 0x08: { /* '0x08' */
+            return 4
 		}
-	case 0x09:
-		{ /* '0x09' */
-			return 4
+		case 0x09: { /* '0x09' */
+            return 4
 		}
-	case 0x0A:
-		{ /* '0x0A' */
-			return 1
+		case 0x0A: { /* '0x0A' */
+            return 1
 		}
-	case 0x0B:
-		{ /* '0x0B' */
-			return 1
+		case 0x0B: { /* '0x0B' */
+            return 1
 		}
-	case 0x0C:
-		{ /* '0x0C' */
-			return 1
+		case 0x0C: { /* '0x0C' */
+            return 1
 		}
-	case 0x0D:
-		{ /* '0x0D' */
-			return 1
+		case 0x0D: { /* '0x0D' */
+            return 1
 		}
-	case 0x0E:
-		{ /* '0x0E' */
-			return 2
+		case 0x0E: { /* '0x0E' */
+            return 2
 		}
-	case 0x0F:
-		{ /* '0x0F' */
-			return 2
+		case 0x0F: { /* '0x0F' */
+            return 2
 		}
-	case 0x10:
-		{ /* '0x10' */
-			return 2
+		case 0x10: { /* '0x10' */
+            return 2
 		}
-	case 0x11:
-		{ /* '0x11' */
-			return 2
+		case 0x11: { /* '0x11' */
+            return 2
 		}
-	case 0x12:
-		{ /* '0x12' */
-			return 4
+		case 0x12: { /* '0x12' */
+            return 4
 		}
-	case 0x13:
-		{ /* '0x13' */
-			return 4
+		case 0x13: { /* '0x13' */
+            return 4
 		}
-	case 0x14:
-		{ /* '0x14' */
-			return 4
+		case 0x14: { /* '0x14' */
+            return 4
 		}
-	case 0x15:
-		{ /* '0x15' */
-			return 4
+		case 0x15: { /* '0x15' */
+            return 4
 		}
-	case 0x16:
-		{ /* '0x16' */
-			return 8
+		case 0x16: { /* '0x16' */
+            return 8
 		}
-	case 0x17:
-		{ /* '0x17' */
-			return 8
+		case 0x17: { /* '0x17' */
+            return 8
 		}
-	case 0x18:
-		{ /* '0x18' */
-			return 8
+		case 0x18: { /* '0x18' */
+            return 8
 		}
-	case 0x19:
-		{ /* '0x19' */
-			return 8
+		case 0x19: { /* '0x19' */
+            return 8
 		}
-	case 0x1A:
-		{ /* '0x1A' */
-			return 4
+		case 0x1A: { /* '0x1A' */
+            return 4
 		}
-	case 0x1B:
-		{ /* '0x1B' */
-			return 4
+		case 0x1B: { /* '0x1B' */
+            return 4
 		}
-	case 0x1C:
-		{ /* '0x1C' */
-			return 8
+		case 0x1C: { /* '0x1C' */
+            return 8
 		}
-	case 0x1D:
-		{ /* '0x1D' */
-			return 8
+		case 0x1D: { /* '0x1D' */
+            return 8
 		}
-	case 0x1E:
-		{ /* '0x1E' */
-			return 1
+		case 0x1E: { /* '0x1E' */
+            return 1
 		}
-	case 0x1F:
-		{ /* '0x1F' */
-			return 2
+		case 0x1F: { /* '0x1F' */
+            return 2
 		}
-	case 0x20:
-		{ /* '0x20' */
-			return 256
+		case 0x20: { /* '0x20' */
+            return 256
 		}
-	case 0x21:
-		{ /* '0x21' */
-			return 512
+		case 0x21: { /* '0x21' */
+            return 512
 		}
-	case 0x22:
-		{ /* '0x22' */
-			return 4
+		case 0x22: { /* '0x22' */
+            return 4
 		}
-	case 0x23:
-		{ /* '0x23' */
-			return 8
+		case 0x23: { /* '0x23' */
+            return 8
 		}
-	case 0x24:
-		{ /* '0x24' */
-			return 4
+		case 0x24: { /* '0x24' */
+            return 4
 		}
-	case 0x25:
-		{ /* '0x25' */
-			return 4
+		case 0x25: { /* '0x25' */
+            return 4
 		}
-	case 0x26:
-		{ /* '0x26' */
-			return 4
+		case 0x26: { /* '0x26' */
+            return 4
 		}
-	case 0x27:
-		{ /* '0x27' */
-			return 4
+		case 0x27: { /* '0x27' */
+            return 4
 		}
-	case 0x28:
-		{ /* '0x28' */
-			return 4
+		case 0x28: { /* '0x28' */
+            return 4
 		}
-	default:
-		{
+		default: {
 			return 0
 		}
 	}
@@ -304,169 +264,128 @@ func AdsDataTypeFirstEnumForFieldNumBytes(value uint16) (AdsDataType, error) {
 }
 
 func (e AdsDataType) DataFormatName() string {
-	switch e {
-	case 0x01:
-		{ /* '0x01' */
-			return "IEC61131_BOOL"
+	switch e  {
+		case 0x01: { /* '0x01' */
+            return "IEC61131_BOOL"
 		}
-	case 0x02:
-		{ /* '0x02' */
-			return "IEC61131_BOOL"
+		case 0x02: { /* '0x02' */
+            return "IEC61131_BOOL"
 		}
-	case 0x03:
-		{ /* '0x03' */
-			return "IEC61131_BOOL"
+		case 0x03: { /* '0x03' */
+            return "IEC61131_BOOL"
 		}
-	case 0x04:
-		{ /* '0x04' */
-			return "IEC61131_BYTE"
+		case 0x04: { /* '0x04' */
+            return "IEC61131_BYTE"
 		}
-	case 0x05:
-		{ /* '0x05' */
-			return "IEC61131_BYTE"
+		case 0x05: { /* '0x05' */
+            return "IEC61131_BYTE"
 		}
-	case 0x06:
-		{ /* '0x06' */
-			return "IEC61131_WORD"
+		case 0x06: { /* '0x06' */
+            return "IEC61131_WORD"
 		}
-	case 0x07:
-		{ /* '0x07' */
-			return "IEC61131_WORD"
+		case 0x07: { /* '0x07' */
+            return "IEC61131_WORD"
 		}
-	case 0x08:
-		{ /* '0x08' */
-			return "IEC61131_DWORD"
+		case 0x08: { /* '0x08' */
+            return "IEC61131_DWORD"
 		}
-	case 0x09:
-		{ /* '0x09' */
-			return "IEC61131_DWORD"
+		case 0x09: { /* '0x09' */
+            return "IEC61131_DWORD"
 		}
-	case 0x0A:
-		{ /* '0x0A' */
-			return "IEC61131_SINT"
+		case 0x0A: { /* '0x0A' */
+            return "IEC61131_SINT"
 		}
-	case 0x0B:
-		{ /* '0x0B' */
-			return "IEC61131_SINT"
+		case 0x0B: { /* '0x0B' */
+            return "IEC61131_SINT"
 		}
-	case 0x0C:
-		{ /* '0x0C' */
-			return "IEC61131_USINT"
+		case 0x0C: { /* '0x0C' */
+            return "IEC61131_USINT"
 		}
-	case 0x0D:
-		{ /* '0x0D' */
-			return "IEC61131_USINT"
+		case 0x0D: { /* '0x0D' */
+            return "IEC61131_USINT"
 		}
-	case 0x0E:
-		{ /* '0x0E' */
-			return "IEC61131_INT"
+		case 0x0E: { /* '0x0E' */
+            return "IEC61131_INT"
 		}
-	case 0x0F:
-		{ /* '0x0F' */
-			return "IEC61131_INT"
+		case 0x0F: { /* '0x0F' */
+            return "IEC61131_INT"
 		}
-	case 0x10:
-		{ /* '0x10' */
-			return "IEC61131_UINT"
+		case 0x10: { /* '0x10' */
+            return "IEC61131_UINT"
 		}
-	case 0x11:
-		{ /* '0x11' */
-			return "IEC61131_UINT"
+		case 0x11: { /* '0x11' */
+            return "IEC61131_UINT"
 		}
-	case 0x12:
-		{ /* '0x12' */
-			return "IEC61131_DINT"
+		case 0x12: { /* '0x12' */
+            return "IEC61131_DINT"
 		}
-	case 0x13:
-		{ /* '0x13' */
-			return "IEC61131_DINT"
+		case 0x13: { /* '0x13' */
+            return "IEC61131_DINT"
 		}
-	case 0x14:
-		{ /* '0x14' */
-			return "IEC61131_UDINT"
+		case 0x14: { /* '0x14' */
+            return "IEC61131_UDINT"
 		}
-	case 0x15:
-		{ /* '0x15' */
-			return "IEC61131_UDINT"
+		case 0x15: { /* '0x15' */
+            return "IEC61131_UDINT"
 		}
-	case 0x16:
-		{ /* '0x16' */
-			return "IEC61131_LINT"
+		case 0x16: { /* '0x16' */
+            return "IEC61131_LINT"
 		}
-	case 0x17:
-		{ /* '0x17' */
-			return "IEC61131_LINT"
+		case 0x17: { /* '0x17' */
+            return "IEC61131_LINT"
 		}
-	case 0x18:
-		{ /* '0x18' */
-			return "IEC61131_ULINT"
+		case 0x18: { /* '0x18' */
+            return "IEC61131_ULINT"
 		}
-	case 0x19:
-		{ /* '0x19' */
-			return "IEC61131_ULINT"
+		case 0x19: { /* '0x19' */
+            return "IEC61131_ULINT"
 		}
-	case 0x1A:
-		{ /* '0x1A' */
-			return "IEC61131_REAL"
+		case 0x1A: { /* '0x1A' */
+            return "IEC61131_REAL"
 		}
-	case 0x1B:
-		{ /* '0x1B' */
-			return "IEC61131_REAL"
+		case 0x1B: { /* '0x1B' */
+            return "IEC61131_REAL"
 		}
-	case 0x1C:
-		{ /* '0x1C' */
-			return "IEC61131_LREAL"
+		case 0x1C: { /* '0x1C' */
+            return "IEC61131_LREAL"
 		}
-	case 0x1D:
-		{ /* '0x1D' */
-			return "IEC61131_LREAL"
+		case 0x1D: { /* '0x1D' */
+            return "IEC61131_LREAL"
 		}
-	case 0x1E:
-		{ /* '0x1E' */
-			return "IEC61131_CHAR"
+		case 0x1E: { /* '0x1E' */
+            return "IEC61131_CHAR"
 		}
-	case 0x1F:
-		{ /* '0x1F' */
-			return "IEC61131_WCHAR"
+		case 0x1F: { /* '0x1F' */
+            return "IEC61131_WCHAR"
 		}
-	case 0x20:
-		{ /* '0x20' */
-			return "IEC61131_STRING"
+		case 0x20: { /* '0x20' */
+            return "IEC61131_STRING"
 		}
-	case 0x21:
-		{ /* '0x21' */
-			return "IEC61131_WSTRING"
+		case 0x21: { /* '0x21' */
+            return "IEC61131_WSTRING"
 		}
-	case 0x22:
-		{ /* '0x22' */
-			return "IEC61131_TIME"
+		case 0x22: { /* '0x22' */
+            return "IEC61131_TIME"
 		}
-	case 0x23:
-		{ /* '0x23' */
-			return "IEC61131_LTIME"
+		case 0x23: { /* '0x23' */
+            return "IEC61131_LTIME"
 		}
-	case 0x24:
-		{ /* '0x24' */
-			return "IEC61131_DATE"
+		case 0x24: { /* '0x24' */
+            return "IEC61131_DATE"
 		}
-	case 0x25:
-		{ /* '0x25' */
-			return "IEC61131_TIME_OF_DAY"
+		case 0x25: { /* '0x25' */
+            return "IEC61131_TIME_OF_DAY"
 		}
-	case 0x26:
-		{ /* '0x26' */
-			return "IEC61131_TIME_OF_DAY"
+		case 0x26: { /* '0x26' */
+            return "IEC61131_TIME_OF_DAY"
 		}
-	case 0x27:
-		{ /* '0x27' */
-			return "IEC61131_DATE_AND_TIME"
+		case 0x27: { /* '0x27' */
+            return "IEC61131_DATE_AND_TIME"
 		}
-	case 0x28:
-		{ /* '0x28' */
-			return "IEC61131_DATE_AND_TIME"
+		case 0x28: { /* '0x28' */
+            return "IEC61131_DATE_AND_TIME"
 		}
-	default:
-		{
+		default: {
 			return ""
 		}
 	}
@@ -482,86 +401,86 @@ func AdsDataTypeFirstEnumForFieldDataFormatName(value string) (AdsDataType, erro
 }
 func AdsDataTypeByValue(value int8) AdsDataType {
 	switch value {
-	case 0x01:
-		return AdsDataType_BOOL
-	case 0x02:
-		return AdsDataType_BIT
-	case 0x03:
-		return AdsDataType_BIT8
-	case 0x04:
-		return AdsDataType_BYTE
-	case 0x05:
-		return AdsDataType_BITARR8
-	case 0x06:
-		return AdsDataType_WORD
-	case 0x07:
-		return AdsDataType_BITARR16
-	case 0x08:
-		return AdsDataType_DWORD
-	case 0x09:
-		return AdsDataType_BITARR32
-	case 0x0A:
-		return AdsDataType_SINT
-	case 0x0B:
-		return AdsDataType_INT8
-	case 0x0C:
-		return AdsDataType_USINT
-	case 0x0D:
-		return AdsDataType_UINT8
-	case 0x0E:
-		return AdsDataType_INT
-	case 0x0F:
-		return AdsDataType_INT16
-	case 0x10:
-		return AdsDataType_UINT
-	case 0x11:
-		return AdsDataType_UINT16
-	case 0x12:
-		return AdsDataType_DINT
-	case 0x13:
-		return AdsDataType_INT32
-	case 0x14:
-		return AdsDataType_UDINT
-	case 0x15:
-		return AdsDataType_UINT32
-	case 0x16:
-		return AdsDataType_LINT
-	case 0x17:
-		return AdsDataType_INT64
-	case 0x18:
-		return AdsDataType_ULINT
-	case 0x19:
-		return AdsDataType_UINT64
-	case 0x1A:
-		return AdsDataType_REAL
-	case 0x1B:
-		return AdsDataType_FLOAT
-	case 0x1C:
-		return AdsDataType_LREAL
-	case 0x1D:
-		return AdsDataType_DOUBLE
-	case 0x1E:
-		return AdsDataType_CHAR
-	case 0x1F:
-		return AdsDataType_WCHAR
-	case 0x20:
-		return AdsDataType_STRING
-	case 0x21:
-		return AdsDataType_WSTRING
-	case 0x22:
-		return AdsDataType_TIME
-	case 0x23:
-		return AdsDataType_LTIME
-	case 0x24:
-		return AdsDataType_DATE
-	case 0x25:
-		return AdsDataType_TIME_OF_DAY
-	case 0x26:
-		return AdsDataType_TOD
-	case 0x27:
-		return AdsDataType_DATE_AND_TIME
-	case 0x28:
-		return AdsDataType_DT
+		case 0x01:
+			return AdsDataType_BOOL
+		case 0x02:
+			return AdsDataType_BIT
+		case 0x03:
+			return AdsDataType_BIT8
+		case 0x04:
+			return AdsDataType_BYTE
+		case 0x05:
+			return AdsDataType_BITARR8
+		case 0x06:
+			return AdsDataType_WORD
+		case 0x07:
+			return AdsDataType_BITARR16
+		case 0x08:
+			return AdsDataType_DWORD
+		case 0x09:
+			return AdsDataType_BITARR32
+		case 0x0A:
+			return AdsDataType_SINT
+		case 0x0B:
+			return AdsDataType_INT8
+		case 0x0C:
+			return AdsDataType_USINT
+		case 0x0D:
+			return AdsDataType_UINT8
+		case 0x0E:
+			return AdsDataType_INT
+		case 0x0F:
+			return AdsDataType_INT16
+		case 0x10:
+			return AdsDataType_UINT
+		case 0x11:
+			return AdsDataType_UINT16
+		case 0x12:
+			return AdsDataType_DINT
+		case 0x13:
+			return AdsDataType_INT32
+		case 0x14:
+			return AdsDataType_UDINT
+		case 0x15:
+			return AdsDataType_UINT32
+		case 0x16:
+			return AdsDataType_LINT
+		case 0x17:
+			return AdsDataType_INT64
+		case 0x18:
+			return AdsDataType_ULINT
+		case 0x19:
+			return AdsDataType_UINT64
+		case 0x1A:
+			return AdsDataType_REAL
+		case 0x1B:
+			return AdsDataType_FLOAT
+		case 0x1C:
+			return AdsDataType_LREAL
+		case 0x1D:
+			return AdsDataType_DOUBLE
+		case 0x1E:
+			return AdsDataType_CHAR
+		case 0x1F:
+			return AdsDataType_WCHAR
+		case 0x20:
+			return AdsDataType_STRING
+		case 0x21:
+			return AdsDataType_WSTRING
+		case 0x22:
+			return AdsDataType_TIME
+		case 0x23:
+			return AdsDataType_LTIME
+		case 0x24:
+			return AdsDataType_DATE
+		case 0x25:
+			return AdsDataType_TIME_OF_DAY
+		case 0x26:
+			return AdsDataType_TOD
+		case 0x27:
+			return AdsDataType_DATE_AND_TIME
+		case 0x28:
+			return AdsDataType_DT
 	}
 	return 0
 }
@@ -771,3 +690,4 @@ func (e AdsDataType) name() string {
 func (e AdsDataType) String() string {
 	return e.name()
 }
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index f7c3348..7209c83 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationRequest struct {
 	NotificationHandle uint32
-	Parent             *AdsData
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -50,13 +52,14 @@ func (m *AdsDeleteDeviceNotificationRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsDeleteDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeleteDeviceNotificationRequest(notificationHandle uint32) *AdsData {
 	child := &AdsDeleteDeviceNotificationRequest{
 		NotificationHandle: notificationHandle,
-		Parent:             NewAdsData(),
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -93,22 +96,23 @@ func (m *AdsDeleteDeviceNotificationRequest) LengthInBitsConditional(lastItem bo
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsDeleteDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (notificationHandle)
-	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
@@ -120,7 +124,7 @@ func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsD
 	// Create a partially initialized instance
 	_child := &AdsDeleteDeviceNotificationRequest{
 		NotificationHandle: notificationHandle,
-		Parent:             &AdsData{},
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -132,12 +136,12 @@ func (m *AdsDeleteDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBu
 			return pushErr
 		}
 
-		// Simple Field (notificationHandle)
-		notificationHandle := uint32(m.NotificationHandle)
-		_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
-		if _notificationHandleErr != nil {
-			return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
-		}
+	// Simple Field (notificationHandle)
+	notificationHandle := uint32(m.NotificationHandle)
+	_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
+	if _notificationHandleErr != nil {
+		return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -155,3 +159,6 @@ func (m *AdsDeleteDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index 3286eda..fe93f42 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationResponse struct {
@@ -50,6 +52,7 @@ func (m *AdsDeleteDeviceNotificationResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsDeleteDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -98,11 +101,12 @@ func (m *AdsDeleteDeviceNotificationResponse) LengthInBitsConditional(lastItem b
 	return lengthInBits
 }
 
+
 func (m *AdsDeleteDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -111,7 +115,7 @@ func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*Ads
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -138,17 +142,17 @@ func (m *AdsDeleteDeviceNotificationResponse) Serialize(writeBuffer utils.WriteB
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationResponse"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *AdsDeleteDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index c778f43..f52fd59 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsDeviceNotificationRequest struct {
-	Length          uint32
-	Stamps          uint32
+	Length uint32
+	Stamps uint32
 	AdsStampHeaders []*AdsStampHeader
-	Parent          *AdsData
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -52,15 +54,16 @@ func (m *AdsDeviceNotificationRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeviceNotificationRequest(length uint32, stamps uint32, adsStampHeaders []*AdsStampHeader) *AdsData {
 	child := &AdsDeviceNotificationRequest{
-		Length:          length,
-		Stamps:          stamps,
+		Length: length,
+		Stamps: stamps,
 		AdsStampHeaders: adsStampHeaders,
-		Parent:          NewAdsData(),
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -97,15 +100,15 @@ func (m *AdsDeviceNotificationRequest) LengthInBitsConditional(lastItem bool) ui
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (length)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (stamps)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Array field
 	if len(m.AdsStampHeaders) > 0 {
 		for i, element := range m.AdsStampHeaders {
-			last := i == len(m.AdsStampHeaders)-1
+			last := i == len(m.AdsStampHeaders) -1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -113,23 +116,24 @@ func (m *AdsDeviceNotificationRequest) LengthInBitsConditional(lastItem bool) ui
 	return lengthInBits
 }
 
+
 func (m *AdsDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadUint32("length", 32)
+length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (stamps)
-	stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
+stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
 	if _stampsErr != nil {
 		return nil, errors.Wrap(_stampsErr, "Error parsing 'stamps' field")
 	}
@@ -157,10 +161,10 @@ func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, e
 
 	// Create a partially initialized instance
 	_child := &AdsDeviceNotificationRequest{
-		Length:          length,
-		Stamps:          stamps,
+		Length: length,
+		Stamps: stamps,
 		AdsStampHeaders: adsStampHeaders,
-		Parent:          &AdsData{},
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -172,35 +176,35 @@ func (m *AdsDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-		// Simple Field (length)
-		length := uint32(m.Length)
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Simple Field (length)
+	length := uint32(m.Length)
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Simple Field (stamps)
-		stamps := uint32(m.Stamps)
-		_stampsErr := writeBuffer.WriteUint32("stamps", 32, (stamps))
-		if _stampsErr != nil {
-			return errors.Wrap(_stampsErr, "Error serializing 'stamps' field")
-		}
+	// Simple Field (stamps)
+	stamps := uint32(m.Stamps)
+	_stampsErr := writeBuffer.WriteUint32("stamps", 32, (stamps))
+	if _stampsErr != nil {
+		return errors.Wrap(_stampsErr, "Error serializing 'stamps' field")
+	}
 
-		// Array Field (adsStampHeaders)
-		if m.AdsStampHeaders != nil {
-			if pushErr := writeBuffer.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.AdsStampHeaders {
-				_elementErr := _element.Serialize(writeBuffer)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (adsStampHeaders)
+	if m.AdsStampHeaders != nil {
+		if pushErr := writeBuffer.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.AdsStampHeaders {
+			_elementErr := _element.Serialize(writeBuffer)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -218,3 +222,6 @@ func (m *AdsDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
index e39a126..c201237 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsDeviceNotificationResponse struct {
@@ -48,6 +50,7 @@ func (m *AdsDeviceNotificationResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -92,11 +95,12 @@ func (m *AdsDeviceNotificationResponse) LengthInBitsConditional(lastItem bool) u
 	return lengthInBits
 }
 
+
 func (m *AdsDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -135,3 +139,6 @@ func (m *AdsDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
index 8af6fab..2c9604f 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsInvalidRequest struct {
@@ -48,6 +50,7 @@ func (m *AdsInvalidRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsInvalidRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -92,11 +95,12 @@ func (m *AdsInvalidRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsInvalidRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsInvalidRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsInvalidRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsInvalidRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -135,3 +139,6 @@ func (m *AdsInvalidRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
index b440038..49899be 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsInvalidResponse struct {
@@ -48,6 +50,7 @@ func (m *AdsInvalidResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsInvalidResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -92,11 +95,12 @@ func (m *AdsInvalidResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsInvalidResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsInvalidResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsInvalidResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsInvalidResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -135,3 +139,6 @@ func (m *AdsInvalidResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
index ea9b085..dbbacce 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsMultiRequestItem struct {
@@ -99,12 +101,12 @@ func AdsMultiRequestItemParse(readBuffer utils.ReadBuffer, indexGroup uint32) (*
 	var _parent *AdsMultiRequestItem
 	var typeSwitchError error
 	switch {
-	case indexGroup == 61568: // AdsMultiRequestItemRead
-		_parent, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer)
-	case indexGroup == 61569: // AdsMultiRequestItemWrite
-		_parent, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer)
-	case indexGroup == 61570: // AdsMultiRequestItemReadWrite
-		_parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer)
+case indexGroup == 61568 : // AdsMultiRequestItemRead
+		_parent, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer, )
+case indexGroup == 61569 : // AdsMultiRequestItemWrite
+		_parent, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer, )
+case indexGroup == 61570 : // AdsMultiRequestItemReadWrite
+		_parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer, )
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -127,7 +129,7 @@ func (m *AdsMultiRequestItem) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *AdsMultiRequestItem) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error {
-	if pushErr := writeBuffer.PushContext("AdsMultiRequestItem"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AdsMultiRequestItem"); pushErr != nil {
 		return pushErr
 	}
 
@@ -151,3 +153,6 @@ func (m *AdsMultiRequestItem) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
index 4bb70d0..09a0467 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsMultiRequestItemRead struct {
-	ItemIndexGroup  uint32
+	ItemIndexGroup uint32
 	ItemIndexOffset uint32
-	ItemReadLength  uint32
-	Parent          *AdsMultiRequestItem
+	ItemReadLength uint32
+	Parent *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -48,15 +50,16 @@ func (m *AdsMultiRequestItemRead) IndexGroup() uint32 {
 	return 61568
 }
 
+
 func (m *AdsMultiRequestItemRead) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemRead(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemRead{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength:  itemReadLength,
-		Parent:          NewAdsMultiRequestItem(),
+		ItemReadLength: itemReadLength,
+		Parent: NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -93,40 +96,41 @@ func (m *AdsMultiRequestItemRead) LengthInBitsConditional(lastItem bool) uint16
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemReadLength)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsMultiRequestItemRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemRead"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemReadLength)
-	itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
+itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
 	if _itemReadLengthErr != nil {
 		return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
 	}
@@ -137,10 +141,10 @@ func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer) (*AdsMultiRequest
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemRead{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength:  itemReadLength,
-		Parent:          &AdsMultiRequestItem{},
+		ItemReadLength: itemReadLength,
+		Parent: &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -152,26 +156,26 @@ func (m *AdsMultiRequestItemRead) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-		// Simple Field (itemIndexGroup)
-		itemIndexGroup := uint32(m.ItemIndexGroup)
-		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-		if _itemIndexGroupErr != nil {
-			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-		}
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup := uint32(m.ItemIndexGroup)
+	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+	if _itemIndexGroupErr != nil {
+		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+	}
 
-		// Simple Field (itemIndexOffset)
-		itemIndexOffset := uint32(m.ItemIndexOffset)
-		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-		if _itemIndexOffsetErr != nil {
-			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-		}
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset := uint32(m.ItemIndexOffset)
+	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+	if _itemIndexOffsetErr != nil {
+		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+	}
 
-		// Simple Field (itemReadLength)
-		itemReadLength := uint32(m.ItemReadLength)
-		_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
-		if _itemReadLengthErr != nil {
-			return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
-		}
+	// Simple Field (itemReadLength)
+	itemReadLength := uint32(m.ItemReadLength)
+	_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
+	if _itemReadLengthErr != nil {
+		return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemRead"); popErr != nil {
 			return popErr
@@ -189,3 +193,6 @@ func (m *AdsMultiRequestItemRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index 8777f31..a8679cd 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -19,20 +19,22 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsMultiRequestItemReadWrite struct {
-	ItemIndexGroup  uint32
+	ItemIndexGroup uint32
 	ItemIndexOffset uint32
-	ItemReadLength  uint32
+	ItemReadLength uint32
 	ItemWriteLength uint32
-	Parent          *AdsMultiRequestItem
+	Parent *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -49,16 +51,17 @@ func (m *AdsMultiRequestItemReadWrite) IndexGroup() uint32 {
 	return 61570
 }
 
+
 func (m *AdsMultiRequestItemReadWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemReadWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32, itemWriteLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemReadWrite{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength:  itemReadLength,
+		ItemReadLength: itemReadLength,
 		ItemWriteLength: itemWriteLength,
-		Parent:          NewAdsMultiRequestItem(),
+		Parent: NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -95,49 +98,50 @@ func (m *AdsMultiRequestItemReadWrite) LengthInBitsConditional(lastItem bool) ui
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemReadLength)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemWriteLength)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsMultiRequestItemReadWrite) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemReadWrite"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemReadLength)
-	itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
+itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
 	if _itemReadLengthErr != nil {
 		return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
 	}
 
 	// Simple Field (itemWriteLength)
-	itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
+itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
 	if _itemWriteLengthErr != nil {
 		return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
 	}
@@ -148,11 +152,11 @@ func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRe
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemReadWrite{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength:  itemReadLength,
+		ItemReadLength: itemReadLength,
 		ItemWriteLength: itemWriteLength,
-		Parent:          &AdsMultiRequestItem{},
+		Parent: &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -164,33 +168,33 @@ func (m *AdsMultiRequestItemReadWrite) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-		// Simple Field (itemIndexGroup)
-		itemIndexGroup := uint32(m.ItemIndexGroup)
-		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-		if _itemIndexGroupErr != nil {
-			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-		}
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup := uint32(m.ItemIndexGroup)
+	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+	if _itemIndexGroupErr != nil {
+		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+	}
 
-		// Simple Field (itemIndexOffset)
-		itemIndexOffset := uint32(m.ItemIndexOffset)
-		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-		if _itemIndexOffsetErr != nil {
-			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-		}
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset := uint32(m.ItemIndexOffset)
+	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+	if _itemIndexOffsetErr != nil {
+		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+	}
 
-		// Simple Field (itemReadLength)
-		itemReadLength := uint32(m.ItemReadLength)
-		_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
-		if _itemReadLengthErr != nil {
-			return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
-		}
+	// Simple Field (itemReadLength)
+	itemReadLength := uint32(m.ItemReadLength)
+	_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
+	if _itemReadLengthErr != nil {
+		return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
+	}
 
-		// Simple Field (itemWriteLength)
-		itemWriteLength := uint32(m.ItemWriteLength)
-		_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
-		if _itemWriteLengthErr != nil {
-			return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
-		}
+	// Simple Field (itemWriteLength)
+	itemWriteLength := uint32(m.ItemWriteLength)
+	_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+	if _itemWriteLengthErr != nil {
+		return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemReadWrite"); popErr != nil {
 			return popErr
@@ -208,3 +212,6 @@ func (m *AdsMultiRequestItemReadWrite) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
index eb745be..71bfcbb 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsMultiRequestItemWrite struct {
-	ItemIndexGroup  uint32
+	ItemIndexGroup uint32
 	ItemIndexOffset uint32
 	ItemWriteLength uint32
-	Parent          *AdsMultiRequestItem
+	Parent *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -48,15 +50,16 @@ func (m *AdsMultiRequestItemWrite) IndexGroup() uint32 {
 	return 61569
 }
 
+
 func (m *AdsMultiRequestItemWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemWriteLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemWrite{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
 		ItemWriteLength: itemWriteLength,
-		Parent:          NewAdsMultiRequestItem(),
+		Parent: NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -93,40 +96,41 @@ func (m *AdsMultiRequestItemWrite) LengthInBitsConditional(lastItem bool) uint16
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (itemWriteLength)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsMultiRequestItemWrite) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemWrite"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemWriteLength)
-	itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
+itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
 	if _itemWriteLengthErr != nil {
 		return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
 	}
@@ -137,10 +141,10 @@ func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiReques
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemWrite{
-		ItemIndexGroup:  itemIndexGroup,
+		ItemIndexGroup: itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
 		ItemWriteLength: itemWriteLength,
-		Parent:          &AdsMultiRequestItem{},
+		Parent: &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -152,26 +156,26 @@ func (m *AdsMultiRequestItemWrite) Serialize(writeBuffer utils.WriteBuffer) erro
 			return pushErr
 		}
 
-		// Simple Field (itemIndexGroup)
-		itemIndexGroup := uint32(m.ItemIndexGroup)
-		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-		if _itemIndexGroupErr != nil {
-			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-		}
+	// Simple Field (itemIndexGroup)
+	itemIndexGroup := uint32(m.ItemIndexGroup)
+	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+	if _itemIndexGroupErr != nil {
+		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+	}
 
-		// Simple Field (itemIndexOffset)
-		itemIndexOffset := uint32(m.ItemIndexOffset)
-		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-		if _itemIndexOffsetErr != nil {
-			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-		}
+	// Simple Field (itemIndexOffset)
+	itemIndexOffset := uint32(m.ItemIndexOffset)
+	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+	if _itemIndexOffsetErr != nil {
+		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+	}
 
-		// Simple Field (itemWriteLength)
-		itemWriteLength := uint32(m.ItemWriteLength)
-		_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
-		if _itemWriteLengthErr != nil {
-			return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
-		}
+	// Simple Field (itemWriteLength)
+	itemWriteLength := uint32(m.ItemWriteLength)
+	_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+	if _itemWriteLengthErr != nil {
+		return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemWrite"); popErr != nil {
 			return popErr
@@ -189,3 +193,6 @@ func (m *AdsMultiRequestItemWrite) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index 66d724e..2cb24aa 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -19,18 +19,20 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsNotificationSample struct {
 	NotificationHandle uint32
-	SampleSize         uint32
-	Data               []int8
+	SampleSize uint32
+	Data []int8
 }
 
 // The corresponding interface
@@ -69,10 +71,10 @@ func (m *AdsNotificationSample) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (sampleSize)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Array field
 	if len(m.Data) > 0 {
@@ -82,6 +84,7 @@ func (m *AdsNotificationSample) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsNotificationSample) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -92,13 +95,13 @@ func AdsNotificationSampleParse(readBuffer utils.ReadBuffer) (*AdsNotificationSa
 	}
 
 	// Simple Field (notificationHandle)
-	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
 
 	// Simple Field (sampleSize)
-	sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
+sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
 	if _sampleSizeErr != nil {
 		return nil, errors.Wrap(_sampleSizeErr, "Error parsing 'sampleSize' field")
 	}
@@ -129,7 +132,7 @@ func AdsNotificationSampleParse(readBuffer utils.ReadBuffer) (*AdsNotificationSa
 }
 
 func (m *AdsNotificationSample) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AdsNotificationSample"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AdsNotificationSample"); pushErr != nil {
 		return pushErr
 	}
 
@@ -177,3 +180,6 @@ func (m *AdsNotificationSample) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index 219d2e8..dccde2c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadDeviceInfoRequest struct {
@@ -48,6 +50,7 @@ func (m *AdsReadDeviceInfoRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsReadDeviceInfoRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -92,11 +95,12 @@ func (m *AdsReadDeviceInfoRequest) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
+
 func (m *AdsReadDeviceInfoRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -135,3 +139,6 @@ func (m *AdsReadDeviceInfoRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 0981bb1..e2b5684 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadDeviceInfoResponse struct {
-	Result       ReturnCode
+	Result ReturnCode
 	MajorVersion uint8
 	MinorVersion uint8
-	Version      uint16
-	Device       []int8
-	Parent       *AdsData
+	Version uint16
+	Device []int8
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -54,17 +56,18 @@ func (m *AdsReadDeviceInfoResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsReadDeviceInfoResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadDeviceInfoResponse(result ReturnCode, majorVersion uint8, minorVersion uint8, version uint16, device []int8) *AdsData {
 	child := &AdsReadDeviceInfoResponse{
-		Result:       result,
+		Result: result,
 		MajorVersion: majorVersion,
 		MinorVersion: minorVersion,
-		Version:      version,
-		Device:       device,
-		Parent:       NewAdsData(),
+		Version: version,
+		Device: device,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -104,13 +107,13 @@ func (m *AdsReadDeviceInfoResponse) LengthInBitsConditional(lastItem bool) uint1
 	lengthInBits += 32
 
 	// Simple field (majorVersion)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (minorVersion)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (version)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Array field
 	if len(m.Device) > 0 {
@@ -120,11 +123,12 @@ func (m *AdsReadDeviceInfoResponse) LengthInBitsConditional(lastItem bool) uint1
 	return lengthInBits
 }
 
+
 func (m *AdsReadDeviceInfoResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -133,7 +137,7 @@ func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, erro
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -142,19 +146,19 @@ func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, erro
 	}
 
 	// Simple Field (majorVersion)
-	majorVersion, _majorVersionErr := readBuffer.ReadUint8("majorVersion", 8)
+majorVersion, _majorVersionErr := readBuffer.ReadUint8("majorVersion", 8)
 	if _majorVersionErr != nil {
 		return nil, errors.Wrap(_majorVersionErr, "Error parsing 'majorVersion' field")
 	}
 
 	// Simple Field (minorVersion)
-	minorVersion, _minorVersionErr := readBuffer.ReadUint8("minorVersion", 8)
+minorVersion, _minorVersionErr := readBuffer.ReadUint8("minorVersion", 8)
 	if _minorVersionErr != nil {
 		return nil, errors.Wrap(_minorVersionErr, "Error parsing 'minorVersion' field")
 	}
 
 	// Simple Field (version)
-	version, _versionErr := readBuffer.ReadUint16("version", 16)
+version, _versionErr := readBuffer.ReadUint16("version", 16)
 	if _versionErr != nil {
 		return nil, errors.Wrap(_versionErr, "Error parsing 'version' field")
 	}
@@ -182,12 +186,12 @@ func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, erro
 
 	// Create a partially initialized instance
 	_child := &AdsReadDeviceInfoResponse{
-		Result:       result,
+		Result: result,
 		MajorVersion: majorVersion,
 		MinorVersion: minorVersion,
-		Version:      version,
-		Device:       device,
-		Parent:       &AdsData{},
+		Version: version,
+		Device: device,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -199,54 +203,54 @@ func (m *AdsReadDeviceInfoResponse) Serialize(writeBuffer utils.WriteBuffer) err
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
-		// Simple Field (majorVersion)
-		majorVersion := uint8(m.MajorVersion)
-		_majorVersionErr := writeBuffer.WriteUint8("majorVersion", 8, (majorVersion))
-		if _majorVersionErr != nil {
-			return errors.Wrap(_majorVersionErr, "Error serializing 'majorVersion' field")
-		}
+	// Simple Field (majorVersion)
+	majorVersion := uint8(m.MajorVersion)
+	_majorVersionErr := writeBuffer.WriteUint8("majorVersion", 8, (majorVersion))
+	if _majorVersionErr != nil {
+		return errors.Wrap(_majorVersionErr, "Error serializing 'majorVersion' field")
+	}
 
-		// Simple Field (minorVersion)
-		minorVersion := uint8(m.MinorVersion)
-		_minorVersionErr := writeBuffer.WriteUint8("minorVersion", 8, (minorVersion))
-		if _minorVersionErr != nil {
-			return errors.Wrap(_minorVersionErr, "Error serializing 'minorVersion' field")
-		}
+	// Simple Field (minorVersion)
+	minorVersion := uint8(m.MinorVersion)
+	_minorVersionErr := writeBuffer.WriteUint8("minorVersion", 8, (minorVersion))
+	if _minorVersionErr != nil {
+		return errors.Wrap(_minorVersionErr, "Error serializing 'minorVersion' field")
+	}
 
-		// Simple Field (version)
-		version := uint16(m.Version)
-		_versionErr := writeBuffer.WriteUint16("version", 16, (version))
-		if _versionErr != nil {
-			return errors.Wrap(_versionErr, "Error serializing 'version' field")
-		}
+	// Simple Field (version)
+	version := uint16(m.Version)
+	_versionErr := writeBuffer.WriteUint16("version", 16, (version))
+	if _versionErr != nil {
+		return errors.Wrap(_versionErr, "Error serializing 'version' field")
+	}
 
-		// Array Field (device)
-		if m.Device != nil {
-			if pushErr := writeBuffer.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Device {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'device' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (device)
+	if m.Device != nil {
+		if pushErr := writeBuffer.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Device {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'device' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadDeviceInfoResponse"); popErr != nil {
 			return popErr
@@ -264,3 +268,6 @@ func (m *AdsReadDeviceInfoResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
index cade5a9..1adf5768 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadRequest struct {
-	IndexGroup  uint32
+	IndexGroup uint32
 	IndexOffset uint32
-	Length      uint32
-	Parent      *AdsData
+	Length uint32
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -52,15 +54,16 @@ func (m *AdsReadRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsReadRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadRequest(indexGroup uint32, indexOffset uint32, length uint32) *AdsData {
 	child := &AdsReadRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		Length:      length,
-		Parent:      NewAdsData(),
+		Length: length,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -97,40 +100,41 @@ func (m *AdsReadRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (indexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (length)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	return lengthInBits
 }
 
+
 func (m *AdsReadRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadUint32("length", 32)
+length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
@@ -141,10 +145,10 @@ func AdsReadRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 
 	// Create a partially initialized instance
 	_child := &AdsReadRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		Length:      length,
-		Parent:      &AdsData{},
+		Length: length,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -156,26 +160,26 @@ func (m *AdsReadRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (indexGroup)
-		indexGroup := uint32(m.IndexGroup)
-		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-		if _indexGroupErr != nil {
-			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-		}
+	// Simple Field (indexGroup)
+	indexGroup := uint32(m.IndexGroup)
+	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+	if _indexGroupErr != nil {
+		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+	}
 
-		// Simple Field (indexOffset)
-		indexOffset := uint32(m.IndexOffset)
-		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-		if _indexOffsetErr != nil {
-			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-		}
+	// Simple Field (indexOffset)
+	indexOffset := uint32(m.IndexOffset)
+	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+	if _indexOffsetErr != nil {
+		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+	}
 
-		// Simple Field (length)
-		length := uint32(m.Length)
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Simple Field (length)
+	length := uint32(m.Length)
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadRequest"); popErr != nil {
 			return popErr
@@ -193,3 +197,6 @@ func (m *AdsReadRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index 9eb97e3..8626463 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadResponse struct {
 	Result ReturnCode
-	Data   []int8
+	Data []int8
 	Parent *AdsData
 }
 
@@ -51,13 +53,14 @@ func (m *AdsReadResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsReadResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadResponse(result ReturnCode, data []int8) *AdsData {
 	child := &AdsReadResponse{
 		Result: result,
-		Data:   data,
+		Data: data,
 		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
@@ -108,11 +111,12 @@ func (m *AdsReadResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsReadResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -121,7 +125,7 @@ func AdsReadResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -160,7 +164,7 @@ func AdsReadResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	// Create a partially initialized instance
 	_child := &AdsReadResponse{
 		Result: result,
-		Data:   data,
+		Data: data,
 		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
@@ -173,40 +177,40 @@ func (m *AdsReadResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
-		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		length := uint32(uint32(len(m.Data)))
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length := uint32(uint32(len(m.Data)))
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadResponse"); popErr != nil {
 			return popErr
@@ -224,3 +228,6 @@ func (m *AdsReadResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
index 44adbc8..3d05929 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
@@ -19,11 +19,13 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadStateRequest struct {
@@ -48,6 +50,7 @@ func (m *AdsReadStateRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsReadStateRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -92,11 +95,12 @@ func (m *AdsReadStateRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsReadStateRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadStateRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadStateRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadStateRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -135,3 +139,6 @@ func (m *AdsReadStateRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
index 70191d1..a02300d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadStateResponse struct {
-	Result      ReturnCode
-	AdsState    uint16
+	Result ReturnCode
+	AdsState uint16
 	DeviceState uint16
-	Parent      *AdsData
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -52,15 +54,16 @@ func (m *AdsReadStateResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsReadStateResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadStateResponse(result ReturnCode, adsState uint16, deviceState uint16) *AdsData {
 	child := &AdsReadStateResponse{
-		Result:      result,
-		AdsState:    adsState,
+		Result: result,
+		AdsState: adsState,
 		DeviceState: deviceState,
-		Parent:      NewAdsData(),
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,19 +103,20 @@ func (m *AdsReadStateResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += 32
 
 	// Simple field (adsState)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (deviceState)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
 
+
 func (m *AdsReadStateResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadStateResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadStateResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -121,7 +125,7 @@ func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -130,13 +134,13 @@ func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	}
 
 	// Simple Field (adsState)
-	adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
+adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
 	if _adsStateErr != nil {
 		return nil, errors.Wrap(_adsStateErr, "Error parsing 'adsState' field")
 	}
 
 	// Simple Field (deviceState)
-	deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
+deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 	if _deviceStateErr != nil {
 		return nil, errors.Wrap(_deviceStateErr, "Error parsing 'deviceState' field")
 	}
@@ -147,10 +151,10 @@ func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 
 	// Create a partially initialized instance
 	_child := &AdsReadStateResponse{
-		Result:      result,
-		AdsState:    adsState,
+		Result: result,
+		AdsState: adsState,
 		DeviceState: deviceState,
-		Parent:      &AdsData{},
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -162,31 +166,31 @@ func (m *AdsReadStateResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
-		// Simple Field (adsState)
-		adsState := uint16(m.AdsState)
-		_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
-		if _adsStateErr != nil {
-			return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
-		}
+	// Simple Field (adsState)
+	adsState := uint16(m.AdsState)
+	_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
+	if _adsStateErr != nil {
+		return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
+	}
 
-		// Simple Field (deviceState)
-		deviceState := uint16(m.DeviceState)
-		_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
-		if _deviceStateErr != nil {
-			return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
-		}
+	// Simple Field (deviceState)
+	deviceState := uint16(m.DeviceState)
+	_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
+	if _deviceStateErr != nil {
+		return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadStateResponse"); popErr != nil {
 			return popErr
@@ -204,3 +208,6 @@ func (m *AdsReadStateResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index df5b4ea..4c2b688 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadWriteRequest struct {
-	IndexGroup  uint32
+	IndexGroup uint32
 	IndexOffset uint32
-	ReadLength  uint32
-	Items       []*AdsMultiRequestItem
-	Data        []int8
-	Parent      *AdsData
+	ReadLength uint32
+	Items []*AdsMultiRequestItem
+	Data []int8
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -54,17 +56,18 @@ func (m *AdsReadWriteRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsReadWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteRequest(indexGroup uint32, indexOffset uint32, readLength uint32, items []*AdsMultiRequestItem, data []int8) *AdsData {
 	child := &AdsReadWriteRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		ReadLength:  readLength,
-		Items:       items,
-		Data:        data,
-		Parent:      NewAdsData(),
+		ReadLength: readLength,
+		Items: items,
+		Data: data,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -101,13 +104,13 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (indexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (readLength)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Implicit Field (writeLength)
 	lengthInBits += 32
@@ -115,7 +118,7 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	// Array field
 	if len(m.Items) > 0 {
 		for i, element := range m.Items {
-			last := i == len(m.Items)-1
+			last := i == len(m.Items) -1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -128,29 +131,30 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsReadWriteRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadWriteRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (readLength)
-	readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
+readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
 	if _readLengthErr != nil {
 		return nil, errors.Wrap(_readLengthErr, "Error parsing 'readLength' field")
 	}
@@ -167,8 +171,8 @@ func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 		return nil, pullErr
 	}
 	// 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() interface{} { return uint16(indexOffset) }, func() interface{} { return uint16(uint16(0)) }).(uint16))
-	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() interface{} { return uint16(indexOffset) }, func() interface{} { return uint16(uint16(0)) }).(uint16)); curItem++ {
+	items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == ((61568))))) || bool(bool(bool((indexGroup) == ((61569)))))) || bool(bool(bool((indexGroup) == ((61570)))))), func() interface{} {return uint16(indexOffset)}, func() interface{} {return uint16(uint16(0))}).(uint16))
+	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() interface{} {return uint16(indexOffset)}, func() interface{} {return uint16(uint16(0))}).(uint16)); curItem++ {
 		_item, _err := AdsMultiRequestItemParse(readBuffer, indexGroup)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'items' field")
@@ -184,8 +188,8 @@ func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 		return nil, pullErr
 	}
 	// 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++ {
+	data := make([]int8, uint16(writeLength) - uint16(uint16(uint16(uint16(len(items))) * uint16(uint16(12)))))
+	for curItem := uint16(0); curItem < uint16(uint16(writeLength) - uint16(uint16(uint16(uint16(len(items))) * uint16(uint16(12))))); curItem++ {
 		_item, _err := readBuffer.ReadInt8("", 8)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'data' field")
@@ -202,12 +206,12 @@ func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 
 	// Create a partially initialized instance
 	_child := &AdsReadWriteRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		ReadLength:  readLength,
-		Items:       items,
-		Data:        data,
-		Parent:      &AdsData{},
+		ReadLength: readLength,
+		Items: items,
+		Data: data,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -219,65 +223,65 @@ func (m *AdsReadWriteRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (indexGroup)
-		indexGroup := uint32(m.IndexGroup)
-		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-		if _indexGroupErr != nil {
-			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-		}
+	// Simple Field (indexGroup)
+	indexGroup := uint32(m.IndexGroup)
+	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+	if _indexGroupErr != nil {
+		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+	}
 
-		// Simple Field (indexOffset)
-		indexOffset := uint32(m.IndexOffset)
-		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-		if _indexOffsetErr != nil {
-			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-		}
+	// Simple Field (indexOffset)
+	indexOffset := uint32(m.IndexOffset)
+	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+	if _indexOffsetErr != nil {
+		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+	}
 
-		// Simple Field (readLength)
-		readLength := uint32(m.ReadLength)
-		_readLengthErr := writeBuffer.WriteUint32("readLength", 32, (readLength))
-		if _readLengthErr != nil {
-			return errors.Wrap(_readLengthErr, "Error serializing 'readLength' field")
-		}
+	// Simple Field (readLength)
+	readLength := uint32(m.ReadLength)
+	_readLengthErr := writeBuffer.WriteUint32("readLength", 32, (readLength))
+	if _readLengthErr != nil {
+		return errors.Wrap(_readLengthErr, "Error serializing 'readLength' field")
+	}
 
-		// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items)))*uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (61570))), func() interface{} { return uint32(uint32(16)) }, func() interface{} { return uint32(uint32(12)) }).(uint32))))) + uint32(uint32(len(m.Data))))
-		_writeLengthErr := writeBuffer.WriteUint32("writeLength", 32, (writeLength))
-		if _writeLengthErr != nil {
-			return errors.Wrap(_writeLengthErr, "Error serializing 'writeLength' field")
-		}
+	// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items))) * uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == ((61570)))), func() interface{} {return uint32(uint32(16))}, func() interface{} {return uint32(uint32(12))}).(uint32))))) + uint32(uint32(len(m.Data))))
+	_writeLengthErr := writeBuffer.WriteUint32("writeLength", 32, (writeLength))
+	if _writeLengthErr != nil {
+		return errors.Wrap(_writeLengthErr, "Error serializing 'writeLength' field")
+	}
 
-		// Array Field (items)
-		if m.Items != nil {
-			if pushErr := writeBuffer.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Items {
-				_elementErr := _element.Serialize(writeBuffer)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'items' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (items)
+	if m.Items != nil {
+		if pushErr := writeBuffer.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Items {
+			_elementErr := _element.Serialize(writeBuffer)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'items' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadWriteRequest"); popErr != nil {
 			return popErr
@@ -295,3 +299,6 @@ func (m *AdsReadWriteRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index 2d620bb..b3f1a94 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsReadWriteResponse struct {
 	Result ReturnCode
-	Data   []int8
+	Data []int8
 	Parent *AdsData
 }
 
@@ -51,13 +53,14 @@ func (m *AdsReadWriteResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsReadWriteResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteResponse(result ReturnCode, data []int8) *AdsData {
 	child := &AdsReadWriteResponse{
 		Result: result,
-		Data:   data,
+		Data: data,
 		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
@@ -108,11 +111,12 @@ func (m *AdsReadWriteResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsReadWriteResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadWriteResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -121,7 +125,7 @@ func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -160,7 +164,7 @@ func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	// Create a partially initialized instance
 	_child := &AdsReadWriteResponse{
 		Result: result,
-		Data:   data,
+		Data: data,
 		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
@@ -173,40 +177,40 @@ func (m *AdsReadWriteResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
-		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		length := uint32(uint32(len(m.Data)))
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length := uint32(uint32(len(m.Data)))
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsReadWriteResponse"); popErr != nil {
 			return popErr
@@ -224,3 +228,6 @@ func (m *AdsReadWriteResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index b81f997..ac4ce82 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -19,17 +19,19 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsStampHeader struct {
-	Timestamp              uint64
-	Samples                uint32
+	Timestamp uint64
+	Samples uint32
 	AdsNotificationSamples []*AdsNotificationSample
 }
 
@@ -69,15 +71,15 @@ func (m *AdsStampHeader) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (timestamp)
-	lengthInBits += 64
+	lengthInBits += 64;
 
 	// Simple field (samples)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Array field
 	if len(m.AdsNotificationSamples) > 0 {
 		for i, element := range m.AdsNotificationSamples {
-			last := i == len(m.AdsNotificationSamples)-1
+			last := i == len(m.AdsNotificationSamples) -1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -85,6 +87,7 @@ func (m *AdsStampHeader) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsStampHeader) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -95,13 +98,13 @@ func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (*AdsStampHeader, error) {
 	}
 
 	// Simple Field (timestamp)
-	timestamp, _timestampErr := readBuffer.ReadUint64("timestamp", 64)
+timestamp, _timestampErr := readBuffer.ReadUint64("timestamp", 64)
 	if _timestampErr != nil {
 		return nil, errors.Wrap(_timestampErr, "Error parsing 'timestamp' field")
 	}
 
 	// Simple Field (samples)
-	samples, _samplesErr := readBuffer.ReadUint32("samples", 32)
+samples, _samplesErr := readBuffer.ReadUint32("samples", 32)
 	if _samplesErr != nil {
 		return nil, errors.Wrap(_samplesErr, "Error parsing 'samples' field")
 	}
@@ -132,7 +135,7 @@ func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (*AdsStampHeader, error) {
 }
 
 func (m *AdsStampHeader) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AdsStampHeader"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AdsStampHeader"); pushErr != nil {
 		return pushErr
 	}
 
@@ -180,3 +183,6 @@ func (m *AdsStampHeader) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index a871f38..fa2a805 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsWriteControlRequest struct {
-	AdsState    uint16
+	AdsState uint16
 	DeviceState uint16
-	Data        []int8
-	Parent      *AdsData
+	Data []int8
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -52,15 +54,16 @@ func (m *AdsWriteControlRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsWriteControlRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteControlRequest(adsState uint16, deviceState uint16, data []int8) *AdsData {
 	child := &AdsWriteControlRequest{
-		AdsState:    adsState,
+		AdsState: adsState,
 		DeviceState: deviceState,
-		Data:        data,
-		Parent:      NewAdsData(),
+		Data: data,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -97,10 +100,10 @@ func (m *AdsWriteControlRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (adsState)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (deviceState)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Implicit Field (length)
 	lengthInBits += 32
@@ -113,23 +116,24 @@ func (m *AdsWriteControlRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsWriteControlRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteControlRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (adsState)
-	adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
+adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
 	if _adsStateErr != nil {
 		return nil, errors.Wrap(_adsStateErr, "Error parsing 'adsState' field")
 	}
 
 	// Simple Field (deviceState)
-	deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
+deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 	if _deviceStateErr != nil {
 		return nil, errors.Wrap(_deviceStateErr, "Error parsing 'deviceState' field")
 	}
@@ -164,10 +168,10 @@ func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error)
 
 	// Create a partially initialized instance
 	_child := &AdsWriteControlRequest{
-		AdsState:    adsState,
+		AdsState: adsState,
 		DeviceState: deviceState,
-		Data:        data,
-		Parent:      &AdsData{},
+		Data: data,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -179,42 +183,42 @@ func (m *AdsWriteControlRequest) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-		// Simple Field (adsState)
-		adsState := uint16(m.AdsState)
-		_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
-		if _adsStateErr != nil {
-			return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
-		}
+	// Simple Field (adsState)
+	adsState := uint16(m.AdsState)
+	_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
+	if _adsStateErr != nil {
+		return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
+	}
 
-		// Simple Field (deviceState)
-		deviceState := uint16(m.DeviceState)
-		_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
-		if _deviceStateErr != nil {
-			return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
-		}
+	// Simple Field (deviceState)
+	deviceState := uint16(m.DeviceState)
+	_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
+	if _deviceStateErr != nil {
+		return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
+	}
 
-		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		length := uint32(uint32(len(m.Data)))
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length := uint32(uint32(len(m.Data)))
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteControlRequest"); popErr != nil {
 			return popErr
@@ -232,3 +236,6 @@ func (m *AdsWriteControlRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
index f5b4972..7ea5c46 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsWriteControlResponse struct {
@@ -50,6 +52,7 @@ func (m *AdsWriteControlResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsWriteControlResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -98,11 +101,12 @@ func (m *AdsWriteControlResponse) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
+
 func (m *AdsWriteControlResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteControlResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -111,7 +115,7 @@ func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error)
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -138,17 +142,17 @@ func (m *AdsWriteControlResponse) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteControlResponse"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *AdsWriteControlResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index 3273b5b..0269c2c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -19,19 +19,21 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsWriteRequest struct {
-	IndexGroup  uint32
+	IndexGroup uint32
 	IndexOffset uint32
-	Data        []int8
-	Parent      *AdsData
+	Data []int8
+	Parent *AdsData
 }
 
 // The corresponding interface
@@ -52,15 +54,16 @@ func (m *AdsWriteRequest) Response() bool {
 	return false
 }
 
+
 func (m *AdsWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteRequest(indexGroup uint32, indexOffset uint32, data []int8) *AdsData {
 	child := &AdsWriteRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		Data:        data,
-		Parent:      NewAdsData(),
+		Data: data,
+		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -97,10 +100,10 @@ func (m *AdsWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (indexOffset)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Implicit Field (length)
 	lengthInBits += 32
@@ -113,23 +116,24 @@ func (m *AdsWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsWriteRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsWriteRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
@@ -164,10 +168,10 @@ func AdsWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 
 	// Create a partially initialized instance
 	_child := &AdsWriteRequest{
-		IndexGroup:  indexGroup,
+		IndexGroup: indexGroup,
 		IndexOffset: indexOffset,
-		Data:        data,
-		Parent:      &AdsData{},
+		Data: data,
+		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -179,42 +183,42 @@ func (m *AdsWriteRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (indexGroup)
-		indexGroup := uint32(m.IndexGroup)
-		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-		if _indexGroupErr != nil {
-			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-		}
+	// Simple Field (indexGroup)
+	indexGroup := uint32(m.IndexGroup)
+	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+	if _indexGroupErr != nil {
+		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+	}
 
-		// Simple Field (indexOffset)
-		indexOffset := uint32(m.IndexOffset)
-		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-		if _indexOffsetErr != nil {
-			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-		}
+	// Simple Field (indexOffset)
+	indexOffset := uint32(m.IndexOffset)
+	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+	if _indexOffsetErr != nil {
+		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+	}
 
-		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		length := uint32(uint32(len(m.Data)))
-		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-		if _lengthErr != nil {
-			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-		}
+	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+	length := uint32(uint32(len(m.Data)))
+	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+	if _lengthErr != nil {
+		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+	}
 
-		// Array Field (data)
-		if m.Data != nil {
-			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-				return pushErr
-			}
-			for _, _element := range m.Data {
-				_elementErr := writeBuffer.WriteInt8("", 8, _element)
-				if _elementErr != nil {
-					return errors.Wrap(_elementErr, "Error serializing 'data' field")
-				}
-			}
-			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-				return popErr
+	// Array Field (data)
+	if m.Data != nil {
+		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+			return pushErr
+		}
+		for _, _element := range m.Data {
+			_elementErr := writeBuffer.WriteInt8("", 8, _element)
+			if _elementErr != nil {
+				return errors.Wrap(_elementErr, "Error serializing 'data' field")
 			}
 		}
+		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+			return popErr
+		}
+	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteRequest"); popErr != nil {
 			return popErr
@@ -232,3 +236,6 @@ func (m *AdsWriteRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
index d6b7894..8d84e7d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AdsWriteResponse struct {
@@ -50,6 +52,7 @@ func (m *AdsWriteResponse) Response() bool {
 	return true
 }
 
+
 func (m *AdsWriteResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -98,11 +101,12 @@ func (m *AdsWriteResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AdsWriteResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
+func AdsWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -111,7 +115,7 @@ func AdsWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-	result, _resultErr := ReturnCodeParse(readBuffer)
+result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -138,17 +142,17 @@ func (m *AdsWriteResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-		// Simple Field (result)
-		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-			return pushErr
-		}
-		_resultErr := m.Result.Serialize(writeBuffer)
-		if popErr := writeBuffer.PopContext("result"); popErr != nil {
-			return popErr
-		}
-		if _resultErr != nil {
-			return errors.Wrap(_resultErr, "Error serializing 'result' field")
-		}
+	// Simple Field (result)
+	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+		return pushErr
+	}
+	_resultErr := m.Result.Serialize(writeBuffer)
+	if popErr := writeBuffer.PopContext("result"); popErr != nil {
+		return popErr
+	}
+	if _resultErr != nil {
+		return errors.Wrap(_resultErr, "Error serializing 'result' field")
+	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteResponse"); popErr != nil {
 			return popErr
@@ -166,3 +170,6 @@ func (m *AdsWriteResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
index 28d0a0b..dfd0cfc 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
@@ -19,12 +19,14 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsNetId struct {
@@ -72,26 +74,27 @@ func (m *AmsNetId) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (octet1)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (octet2)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (octet3)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (octet4)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (octet5)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (octet6)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	return lengthInBits
 }
 
+
 func (m *AmsNetId) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -102,37 +105,37 @@ func AmsNetIdParse(readBuffer utils.ReadBuffer) (*AmsNetId, error) {
 	}
 
 	// Simple Field (octet1)
-	octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
+octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
 	if _octet1Err != nil {
 		return nil, errors.Wrap(_octet1Err, "Error parsing 'octet1' field")
 	}
 
 	// Simple Field (octet2)
-	octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
+octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
 	if _octet2Err != nil {
 		return nil, errors.Wrap(_octet2Err, "Error parsing 'octet2' field")
 	}
 
 	// Simple Field (octet3)
-	octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
+octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
 	if _octet3Err != nil {
 		return nil, errors.Wrap(_octet3Err, "Error parsing 'octet3' field")
 	}
 
 	// Simple Field (octet4)
-	octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
+octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
 	if _octet4Err != nil {
 		return nil, errors.Wrap(_octet4Err, "Error parsing 'octet4' field")
 	}
 
 	// Simple Field (octet5)
-	octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
+octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
 	if _octet5Err != nil {
 		return nil, errors.Wrap(_octet5Err, "Error parsing 'octet5' field")
 	}
 
 	// Simple Field (octet6)
-	octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
+octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
 	if _octet6Err != nil {
 		return nil, errors.Wrap(_octet6Err, "Error parsing 'octet6' field")
 	}
@@ -146,7 +149,7 @@ func AmsNetIdParse(readBuffer utils.ReadBuffer) (*AmsNetId, error) {
 }
 
 func (m *AmsNetId) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsNetId"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsNetId"); pushErr != nil {
 		return pushErr
 	}
 
@@ -206,3 +209,6 @@ func (m *AmsNetId) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
index 5f26363..0b2d624 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
@@ -19,24 +19,26 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsPacket struct {
 	TargetAmsNetId *AmsNetId
-	TargetAmsPort  uint16
+	TargetAmsPort uint16
 	SourceAmsNetId *AmsNetId
-	SourceAmsPort  uint16
-	CommandId      CommandId
-	State          *State
-	ErrorCode      uint32
-	InvokeId       uint32
-	Data           *AdsData
+	SourceAmsPort uint16
+	CommandId CommandId
+	State *State
+	ErrorCode uint32
+	InvokeId uint32
+	Data *AdsData
 }
 
 // The corresponding interface
@@ -78,13 +80,13 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += m.TargetAmsNetId.LengthInBits()
 
 	// Simple field (targetAmsPort)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (sourceAmsNetId)
 	lengthInBits += m.SourceAmsNetId.LengthInBits()
 
 	// Simple field (sourceAmsPort)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (commandId)
 	lengthInBits += 16
@@ -96,10 +98,10 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += 32
 
 	// Simple field (errorCode)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (invokeId)
-	lengthInBits += 32
+	lengthInBits += 32;
 
 	// Simple field (data)
 	lengthInBits += m.Data.LengthInBits()
@@ -107,6 +109,7 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AmsPacket) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -120,7 +123,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("targetAmsNetId"); pullErr != nil {
 		return nil, pullErr
 	}
-	targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
+targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
 	if _targetAmsNetIdErr != nil {
 		return nil, errors.Wrap(_targetAmsNetIdErr, "Error parsing 'targetAmsNetId' field")
 	}
@@ -129,7 +132,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	}
 
 	// Simple Field (targetAmsPort)
-	targetAmsPort, _targetAmsPortErr := readBuffer.ReadUint16("targetAmsPort", 16)
+targetAmsPort, _targetAmsPortErr := readBuffer.ReadUint16("targetAmsPort", 16)
 	if _targetAmsPortErr != nil {
 		return nil, errors.Wrap(_targetAmsPortErr, "Error parsing 'targetAmsPort' field")
 	}
@@ -138,7 +141,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("sourceAmsNetId"); pullErr != nil {
 		return nil, pullErr
 	}
-	sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
+sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
 	if _sourceAmsNetIdErr != nil {
 		return nil, errors.Wrap(_sourceAmsNetIdErr, "Error parsing 'sourceAmsNetId' field")
 	}
@@ -147,7 +150,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	}
 
 	// Simple Field (sourceAmsPort)
-	sourceAmsPort, _sourceAmsPortErr := readBuffer.ReadUint16("sourceAmsPort", 16)
+sourceAmsPort, _sourceAmsPortErr := readBuffer.ReadUint16("sourceAmsPort", 16)
 	if _sourceAmsPortErr != nil {
 		return nil, errors.Wrap(_sourceAmsPortErr, "Error parsing 'sourceAmsPort' field")
 	}
@@ -156,7 +159,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("commandId"); pullErr != nil {
 		return nil, pullErr
 	}
-	commandId, _commandIdErr := CommandIdParse(readBuffer)
+commandId, _commandIdErr := CommandIdParse(readBuffer)
 	if _commandIdErr != nil {
 		return nil, errors.Wrap(_commandIdErr, "Error parsing 'commandId' field")
 	}
@@ -168,7 +171,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("state"); pullErr != nil {
 		return nil, pullErr
 	}
-	state, _stateErr := StateParse(readBuffer)
+state, _stateErr := StateParse(readBuffer)
 	if _stateErr != nil {
 		return nil, errors.Wrap(_stateErr, "Error parsing 'state' field")
 	}
@@ -184,13 +187,13 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	}
 
 	// Simple Field (errorCode)
-	errorCode, _errorCodeErr := readBuffer.ReadUint32("errorCode", 32)
+errorCode, _errorCodeErr := readBuffer.ReadUint32("errorCode", 32)
 	if _errorCodeErr != nil {
 		return nil, errors.Wrap(_errorCodeErr, "Error parsing 'errorCode' field")
 	}
 
 	// Simple Field (invokeId)
-	invokeId, _invokeIdErr := readBuffer.ReadUint32("invokeId", 32)
+invokeId, _invokeIdErr := readBuffer.ReadUint32("invokeId", 32)
 	if _invokeIdErr != nil {
 		return nil, errors.Wrap(_invokeIdErr, "Error parsing 'invokeId' field")
 	}
@@ -199,7 +202,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("data"); pullErr != nil {
 		return nil, pullErr
 	}
-	data, _dataErr := AdsDataParse(readBuffer, commandId, state.Response)
+data, _dataErr := AdsDataParse(readBuffer , commandId , state.Response )
 	if _dataErr != nil {
 		return nil, errors.Wrap(_dataErr, "Error parsing 'data' field")
 	}
@@ -216,7 +219,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 }
 
 func (m *AmsPacket) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsPacket"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -329,3 +332,6 @@ func (m *AmsPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
index 956c48d..dc603a3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsSerialAcknowledgeFrame struct {
-	MagicCookie        uint16
+	MagicCookie uint16
 	TransmitterAddress int8
-	ReceiverAddress    int8
-	FragmentNumber     int8
-	Length             int8
-	Crc                uint16
+	ReceiverAddress int8
+	FragmentNumber int8
+	Length int8
+	Crc uint16
 }
 
 // The corresponding interface
@@ -72,26 +74,27 @@ func (m *AmsSerialAcknowledgeFrame) LengthInBitsConditional(lastItem bool) uint1
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (length)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (crc)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
 
+
 func (m *AmsSerialAcknowledgeFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -102,37 +105,37 @@ func AmsSerialAcknowledgeFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialAckn
 	}
 
 	// Simple Field (magicCookie)
-	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadInt8("length", 8)
+length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (crc)
-	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -146,7 +149,7 @@ func AmsSerialAcknowledgeFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialAckn
 }
 
 func (m *AmsSerialAcknowledgeFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsSerialAcknowledgeFrame"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsSerialAcknowledgeFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -206,3 +209,6 @@ func (m *AmsSerialAcknowledgeFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
index 64715c7..d898a32 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
@@ -19,22 +19,24 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsSerialFrame struct {
-	MagicCookie        uint16
+	MagicCookie uint16
 	TransmitterAddress int8
-	ReceiverAddress    int8
-	FragmentNumber     int8
-	Length             int8
-	Userdata           *AmsPacket
-	Crc                uint16
+	ReceiverAddress int8
+	FragmentNumber int8
+	Length int8
+	Userdata *AmsPacket
+	Crc uint16
 }
 
 // The corresponding interface
@@ -73,29 +75,30 @@ func (m *AmsSerialFrame) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (length)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (userdata)
 	lengthInBits += m.Userdata.LengthInBits()
 
 	// Simple field (crc)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
 
+
 func (m *AmsSerialFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -106,31 +109,31 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialFrame, error) {
 	}
 
 	// Simple Field (magicCookie)
-	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadInt8("length", 8)
+length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
@@ -139,7 +142,7 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialFrame, error) {
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, pullErr
 	}
-	userdata, _userdataErr := AmsPacketParse(readBuffer)
+userdata, _userdataErr := AmsPacketParse(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field")
 	}
@@ -148,7 +151,7 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialFrame, error) {
 	}
 
 	// Simple Field (crc)
-	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -162,7 +165,7 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialFrame, error) {
 }
 
 func (m *AmsSerialFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsSerialFrame"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsSerialFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -234,3 +237,6 @@ func (m *AmsSerialFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
index c3966b5..48a0ada 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
@@ -19,21 +19,23 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsSerialResetFrame struct {
-	MagicCookie        uint16
+	MagicCookie uint16
 	TransmitterAddress int8
-	ReceiverAddress    int8
-	FragmentNumber     int8
-	Length             int8
-	Crc                uint16
+	ReceiverAddress int8
+	FragmentNumber int8
+	Length int8
+	Crc uint16
 }
 
 // The corresponding interface
@@ -72,26 +74,27 @@ func (m *AmsSerialResetFrame) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (length)
-	lengthInBits += 8
+	lengthInBits += 8;
 
 	// Simple field (crc)
-	lengthInBits += 16
+	lengthInBits += 16;
 
 	return lengthInBits
 }
 
+
 func (m *AmsSerialResetFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -102,37 +105,37 @@ func AmsSerialResetFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialResetFrame
 	}
 
 	// Simple Field (magicCookie)
-	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-	length, _lengthErr := readBuffer.ReadInt8("length", 8)
+length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (crc)
-	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -146,7 +149,7 @@ func AmsSerialResetFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialResetFrame
 }
 
 func (m *AmsSerialResetFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsSerialResetFrame"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsSerialResetFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -206,3 +209,6 @@ func (m *AmsSerialResetFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
index c9accc0..f3d4a6a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
@@ -19,13 +19,15 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type AmsTCPPacket struct {
@@ -79,6 +81,7 @@ func (m *AmsTCPPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *AmsTCPPacket) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -97,7 +100,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (*AmsTCPPacket, error) {
 		if reserved != uint16(0x0000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -113,7 +116,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (*AmsTCPPacket, error) {
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, pullErr
 	}
-	userdata, _userdataErr := AmsPacketParse(readBuffer)
+userdata, _userdataErr := AmsPacketParse(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field")
 	}
@@ -130,7 +133,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (*AmsTCPPacket, error) {
 }
 
 func (m *AmsTCPPacket) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("AmsTCPPacket"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("AmsTCPPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -175,3 +178,6 @@ func (m *AmsTCPPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go b/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
index d662ca1..151d9b4 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
@@ -32,24 +32,24 @@ type ICommandId interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const (
-	CommandId_INVALID                        CommandId = 0x0000
-	CommandId_ADS_READ_DEVICE_INFO           CommandId = 0x0001
-	CommandId_ADS_READ                       CommandId = 0x0002
-	CommandId_ADS_WRITE                      CommandId = 0x0003
-	CommandId_ADS_READ_STATE                 CommandId = 0x0004
-	CommandId_ADS_WRITE_CONTROL              CommandId = 0x0005
-	CommandId_ADS_ADD_DEVICE_NOTIFICATION    CommandId = 0x0006
+const(
+	CommandId_INVALID CommandId = 0x0000
+	CommandId_ADS_READ_DEVICE_INFO CommandId = 0x0001
+	CommandId_ADS_READ CommandId = 0x0002
+	CommandId_ADS_WRITE CommandId = 0x0003
+	CommandId_ADS_READ_STATE CommandId = 0x0004
+	CommandId_ADS_WRITE_CONTROL CommandId = 0x0005
+	CommandId_ADS_ADD_DEVICE_NOTIFICATION CommandId = 0x0006
 	CommandId_ADS_DELETE_DEVICE_NOTIFICATION CommandId = 0x0007
-	CommandId_ADS_DEVICE_NOTIFICATION        CommandId = 0x0008
-	CommandId_ADS_READ_WRITE                 CommandId = 0x0009
+	CommandId_ADS_DEVICE_NOTIFICATION CommandId = 0x0008
+	CommandId_ADS_READ_WRITE CommandId = 0x0009
 )
 
 var CommandIdValues []CommandId
 
 func init() {
 	_ = errors.New
-	CommandIdValues = []CommandId{
+	CommandIdValues = []CommandId {
 		CommandId_INVALID,
 		CommandId_ADS_READ_DEVICE_INFO,
 		CommandId_ADS_READ,
@@ -65,26 +65,26 @@ func init() {
 
 func CommandIdByValue(value uint16) CommandId {
 	switch value {
-	case 0x0000:
-		return CommandId_INVALID
-	case 0x0001:
-		return CommandId_ADS_READ_DEVICE_INFO
-	case 0x0002:
-		return CommandId_ADS_READ
-	case 0x0003:
-		return CommandId_ADS_WRITE
-	case 0x0004:
-		return CommandId_ADS_READ_STATE
-	case 0x0005:
-		return CommandId_ADS_WRITE_CONTROL
-	case 0x0006:
-		return CommandId_ADS_ADD_DEVICE_NOTIFICATION
-	case 0x0007:
-		return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
-	case 0x0008:
-		return CommandId_ADS_DEVICE_NOTIFICATION
-	case 0x0009:
-		return CommandId_ADS_READ_WRITE
+		case 0x0000:
+			return CommandId_INVALID
+		case 0x0001:
+			return CommandId_ADS_READ_DEVICE_INFO
+		case 0x0002:
+			return CommandId_ADS_READ
+		case 0x0003:
+			return CommandId_ADS_WRITE
+		case 0x0004:
+			return CommandId_ADS_READ_STATE
+		case 0x0005:
+			return CommandId_ADS_WRITE_CONTROL
+		case 0x0006:
+			return CommandId_ADS_ADD_DEVICE_NOTIFICATION
+		case 0x0007:
+			return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
+		case 0x0008:
+			return CommandId_ADS_DEVICE_NOTIFICATION
+		case 0x0009:
+			return CommandId_ADS_READ_WRITE
 	}
 	return 0
 }
@@ -174,3 +174,4 @@ func (e CommandId) name() string {
 func (e CommandId) String() string {
 	return e.name()
 }
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
index 3ed8ff0..51aee8a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
@@ -19,389 +19,384 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/values"
-	api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
 	"github.com/pkg/errors"
 	"time"
+	api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
 
 func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLength int32) (api.PlcValue, error) {
 	readBuffer.PullContext("DataItem")
 	switch {
-	case dataFormatName == "IEC61131_BOOL": // BOOL
-
-		// Reserved Field (Just skip the bytes)
-		if _, _err := readBuffer.ReadUint8("reserved", 7); _err != nil {
-			return nil, errors.Wrap(_err, "Error parsing reserved field")
-		}
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadBit("value")
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcBOOL(value), nil
-	case dataFormatName == "IEC61131_BYTE": // BitString
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint8("value", 8)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcBitString(value), nil
-	case dataFormatName == "IEC61131_WORD": // BitString
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint16("value", 16)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcBitString(value), nil
-	case dataFormatName == "IEC61131_DWORD": // BitString
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcBitString(value), nil
-	case dataFormatName == "IEC61131_SINT": // SINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadInt8("value", 8)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcSINT(value), nil
-	case dataFormatName == "IEC61131_USINT": // USINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint8("value", 8)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcUSINT(value), nil
-	case dataFormatName == "IEC61131_INT": // INT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadInt16("value", 16)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcINT(value), nil
-	case dataFormatName == "IEC61131_UINT": // UINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint16("value", 16)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcUINT(value), nil
-	case dataFormatName == "IEC61131_DINT": // DINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadInt32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcDINT(value), nil
-	case dataFormatName == "IEC61131_UDINT": // UDINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcUDINT(value), nil
-	case dataFormatName == "IEC61131_LINT": // LINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadInt64("value", 64)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcLINT(value), nil
-	case dataFormatName == "IEC61131_ULINT": // ULINT
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint64("value", 64)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcULINT(value), nil
-	case dataFormatName == "IEC61131_REAL": // REAL
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadFloat32("value", true, 8, 23)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcREAL(value), nil
-	case dataFormatName == "IEC61131_LREAL": // LREAL
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadFloat64("value", true, 11, 52)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcLREAL(value), nil
-	case dataFormatName == "IEC61131_CHAR": // STRING
-
-		// Simple Field (value)
+        case dataFormatName == "IEC61131_BOOL" : // BOOL
+
+			// Reserved Field (Just skip the bytes)
+			if _, _err := readBuffer.ReadUint8("reserved", 7); _err != nil {
+				return nil, errors.Wrap(_err, "Error parsing reserved field")
+			}
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadBit("value")
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcBOOL(value), nil
+        case dataFormatName == "IEC61131_BYTE" : // BitString
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint8("value", 8)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcBitString(value), nil
+        case dataFormatName == "IEC61131_WORD" : // BitString
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint16("value", 16)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcBitString(value), nil
+        case dataFormatName == "IEC61131_DWORD" : // BitString
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcBitString(value), nil
+        case dataFormatName == "IEC61131_SINT" : // SINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadInt8("value", 8)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcSINT(value), nil
+        case dataFormatName == "IEC61131_USINT" : // USINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint8("value", 8)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcUSINT(value), nil
+        case dataFormatName == "IEC61131_INT" : // INT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadInt16("value", 16)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcINT(value), nil
+        case dataFormatName == "IEC61131_UINT" : // UINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint16("value", 16)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcUINT(value), nil
+        case dataFormatName == "IEC61131_DINT" : // DINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadInt32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcDINT(value), nil
+        case dataFormatName == "IEC61131_UDINT" : // UDINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcUDINT(value), nil
+        case dataFormatName == "IEC61131_LINT" : // LINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadInt64("value", 64)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcLINT(value), nil
+        case dataFormatName == "IEC61131_ULINT" : // ULINT
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint64("value", 64)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcULINT(value), nil
+        case dataFormatName == "IEC61131_REAL" : // REAL
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadFloat32("value", true, 8, 23)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcREAL(value), nil
+        case dataFormatName == "IEC61131_LREAL" : // LREAL
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadFloat64("value", true, 11, 52)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcLREAL(value), nil
+        case dataFormatName == "IEC61131_CHAR" : // STRING
+        // Simple Field (value)
 		value, _valueErr := readBuffer.ReadString("value", uint32((8)))
 		if _valueErr != nil {
 			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
 		}
 		readBuffer.CloseContext("DataItem")
-		return values.NewPlcSTRING(value), nil
-	case dataFormatName == "IEC61131_WCHAR": // STRING
-
-		// Simple Field (value)
+		return values.NewPlcSTRING(value), nilcase dataFormatName == "IEC61131_WCHAR" : // STRING// Simple Field (value)
 		value, _valueErr := readBuffer.ReadString("value", uint32((16)))
 		if _valueErr != nil {
 			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
 		}
 		readBuffer.CloseContext("DataItem")
 		return values.NewPlcSTRING(value), nil
-	case dataFormatName == "IEC61131_STRING": // STRING
-
-		// Manual Field (value)
-		value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcSTRING(value), nil
-	case dataFormatName == "IEC61131_WSTRING": // STRING
-
-		// Manual Field (value)
-		value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcSTRING(value), nil
-	case dataFormatName == "IEC61131_TIME": // TIME
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcTIME(value), nil
-	case dataFormatName == "IEC61131_LTIME": // LTIME
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint64("value", 64)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcLTIME(value), nil
-	case dataFormatName == "IEC61131_DATE": // DATE
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcDATE(value), nil
-	case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
-
-		// Simple Field (value)
-		value, _valueErr := readBuffer.ReadUint32("value", 32)
-		if _valueErr != nil {
-			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-		}
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcTIME_OF_DAY(value), nil
-	case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
-
-		// Simple Field (secondsSinceEpoch)
-		secondsSinceEpoch, _secondsSinceEpochErr := readBuffer.ReadUint32("secondsSinceEpoch", 32)
-		if _secondsSinceEpochErr != nil {
-			return nil, errors.Wrap(_secondsSinceEpochErr, "Error parsing 'secondsSinceEpoch' field")
-		}
-		value := time.Unix(int64(secondsSinceEpoch), 0)
-		readBuffer.CloseContext("DataItem")
-		return values.NewPlcDATE_AND_TIME(value), nil
+        case dataFormatName == "IEC61131_STRING" : // STRING
+
+			// Manual Field (value)
+			value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcSTRING(value), nil
+        case dataFormatName == "IEC61131_WSTRING" : // STRING
+
+			// Manual Field (value)
+			value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcSTRING(value), nil
+        case dataFormatName == "IEC61131_TIME" : // TIME
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcTIME(value), nil
+        case dataFormatName == "IEC61131_LTIME" : // LTIME
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint64("value", 64)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcLTIME(value), nil
+        case dataFormatName == "IEC61131_DATE" : // DATE
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcDATE(value), nil
+        case dataFormatName == "IEC61131_TIME_OF_DAY" : // TIME_OF_DAY
+
+			// Simple Field (value)
+			value, _valueErr := readBuffer.ReadUint32("value", 32)
+			if _valueErr != nil {
+				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+			}
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcTIME_OF_DAY(value), nil
+        case dataFormatName == "IEC61131_DATE_AND_TIME" : // DATE_AND_TIME
+
+			// Simple Field (secondsSinceEpoch)
+			secondsSinceEpoch, _secondsSinceEpochErr := readBuffer.ReadUint32("secondsSinceEpoch", 32)
+			if _secondsSinceEpochErr != nil {
+				return nil, errors.Wrap(_secondsSinceEpochErr, "Error parsing 'secondsSinceEpoch' field")
+			}
+            value := time.Unix(int64(secondsSinceEpoch), 0)
+			readBuffer.CloseContext("DataItem")
+			return values.NewPlcDATE_AND_TIME(value), nil
 	}
-	// TODO: add more info which type it is actually
+    // TODO: add more info which type it is actually
 	return nil, errors.New("unsupported type")
 }
 
 func DataItemSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, dataFormatName string, stringLength int32) error {
 	writeBuffer.PushContext("DataItem")
 	switch {
-	case dataFormatName == "IEC61131_BOOL": // BOOL
-
-		// Reserved Field (Just skip the bytes)
-		if _err := writeBuffer.WriteUint8("reserved", 7, uint8(0x00)); _err != nil {
-			return errors.Wrap(_err, "Error serializing reserved field")
-		}
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_BYTE": // BitString
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_WORD": // BitString
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_DWORD": // BitString
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_SINT": // SINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteInt8("value", 8, value.GetInt8()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_USINT": // USINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_INT": // INT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteInt16("value", 16, value.GetInt16()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_UINT": // UINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_DINT": // DINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteInt32("value", 32, value.GetInt32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_UDINT": // UDINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_LINT": // LINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteInt64("value", 64, value.GetInt64()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_ULINT": // ULINT
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_REAL": // REAL
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteFloat32("value", 32, value.GetFloat32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_LREAL": // LREAL
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteFloat64("value", 64, value.GetFloat64()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_CHAR": // STRING
-
-		// Simple Field (value)
+        case dataFormatName == "IEC61131_BOOL" : // BOOL
+
+			// Reserved Field (Just skip the bytes)
+			if _err := writeBuffer.WriteUint8("reserved", 7, uint8(0x00)); _err != nil {
+				return errors.Wrap(_err, "Error serializing reserved field")
+			}
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_BYTE" : // BitString
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_WORD" : // BitString
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_DWORD" : // BitString
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_SINT" : // SINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteInt8("value", 8, value.GetInt8()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_USINT" : // USINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_INT" : // INT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteInt16("value", 16, value.GetInt16()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_UINT" : // UINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_DINT" : // DINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteInt32("value", 32, value.GetInt32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_UDINT" : // UDINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_LINT" : // LINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteInt64("value", 64, value.GetInt64()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_ULINT" : // ULINT
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_REAL" : // REAL
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteFloat32("value", 32, value.GetFloat32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_LREAL" : // LREAL
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteFloat64("value", 64, value.GetFloat64()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_CHAR" : // STRING
+        // Simple Field (value)
 		if _err := writeBuffer.WriteString("value", uint8((8)), "TF-", value.GetString()); _err != nil {
 			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_WCHAR": // STRING
-
-		// Simple Field (value)
+		}case dataFormatName == "IEC61131_WCHAR" : // STRING// Simple Field (value)
 		if _err := writeBuffer.WriteString("value", uint8((16)), "TF-", value.GetString()); _err != nil {
 			return errors.Wrap(_err, "Error serializing 'value' field")
 		}
-	case dataFormatName == "IEC61131_STRING": // STRING
-
-		// Manual Field (value)
-		_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
-		if _valueErr != nil {
-			return errors.Wrap(_valueErr, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_WSTRING": // STRING
-
-		// Manual Field (value)
-		_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
-		if _valueErr != nil {
-			return errors.Wrap(_valueErr, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_TIME": // TIME
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_LTIME": // LTIME
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_DATE": // DATE
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
-
-		// Simple Field (value)
-		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'value' field")
-		}
-	case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
-
-		// Simple Field (secondsSinceEpoch)
-		if _err := writeBuffer.WriteUint32("secondsSinceEpoch", 32, value.GetUint32()); _err != nil {
-			return errors.Wrap(_err, "Error serializing 'secondsSinceEpoch' field")
-		}
-	default:
-		// TODO: add more info which type it is actually
-		return errors.New("unsupported type")
+        case dataFormatName == "IEC61131_STRING" : // STRING
+
+			// Manual Field (value)
+			_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
+			if _valueErr != nil {
+				return errors.Wrap(_valueErr, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_WSTRING" : // STRING
+
+			// Manual Field (value)
+			_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
+			if _valueErr != nil {
+				return errors.Wrap(_valueErr, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_TIME" : // TIME
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_LTIME" : // LTIME
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_DATE" : // DATE
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_TIME_OF_DAY" : // TIME_OF_DAY
+
+			// Simple Field (value)
+			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'value' field")
+			}
+        case dataFormatName == "IEC61131_DATE_AND_TIME" : // DATE_AND_TIME
+
+			// Simple Field (secondsSinceEpoch)
+			if _err := writeBuffer.WriteUint32("secondsSinceEpoch", 32, value.GetUint32()); _err != nil {
+				return errors.Wrap(_err, "Error serializing 'secondsSinceEpoch' field")
+			}
+		default:
+            // TODO: add more info which type it is actually
+			return errors.New("unsupported type")
 	}
 	writeBuffer.PopContext("DataItem")
 	return nil
 }
+
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go b/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
index fe14e4b..aa8b9e2 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
@@ -32,44 +32,44 @@ type IReservedIndexGroups interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const (
-	ReservedIndexGroups_ADSIGRP_SYMTAB                  ReservedIndexGroups = 0x0000F000
-	ReservedIndexGroups_ADSIGRP_SYMNAME                 ReservedIndexGroups = 0x0000F001
-	ReservedIndexGroups_ADSIGRP_SYMVAL                  ReservedIndexGroups = 0x0000F002
-	ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME           ReservedIndexGroups = 0x0000F003
-	ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME           ReservedIndexGroups = 0x0000F004
-	ReservedIndexGroups_ADSIGRP_SYM_VALBYHND            ReservedIndexGroups = 0x0000F005
-	ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND          ReservedIndexGroups = 0x0000F006
-	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME          ReservedIndexGroups = 0x0000F007
-	ReservedIndexGroups_ADSIGRP_SYM_VERSION             ReservedIndexGroups = 0x0000F008
-	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX        ReservedIndexGroups = 0x0000F009
-	ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD            ReservedIndexGroups = 0x0000F00A
-	ReservedIndexGroups_ADSIGRP_SYM_UPLOAD              ReservedIndexGroups = 0x0000F00B
-	ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO          ReservedIndexGroups = 0x0000F00C
-	ReservedIndexGroups_ADSIGRP_SYMNOTE                 ReservedIndexGroups = 0x0000F010
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB            ReservedIndexGroups = 0x0000F020
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX            ReservedIndexGroups = 0x0000F021
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE          ReservedIndexGroups = 0x0000F025
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB            ReservedIndexGroups = 0x0000F030
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX            ReservedIndexGroups = 0x0000F031
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE         ReservedIndexGroups = 0x0000F035
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI          ReservedIndexGroups = 0x0000F040
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO          ReservedIndexGroups = 0x0000F050
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB           ReservedIndexGroups = 0x0000F060
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ           ReservedIndexGroups = 0x0000F080
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE          ReservedIndexGroups = 0x0000F081
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE     ReservedIndexGroups = 0x0000F082
+const(
+	ReservedIndexGroups_ADSIGRP_SYMTAB ReservedIndexGroups = 0x0000F000
+	ReservedIndexGroups_ADSIGRP_SYMNAME ReservedIndexGroups = 0x0000F001
+	ReservedIndexGroups_ADSIGRP_SYMVAL ReservedIndexGroups = 0x0000F002
+	ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME ReservedIndexGroups = 0x0000F003
+	ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME ReservedIndexGroups = 0x0000F004
+	ReservedIndexGroups_ADSIGRP_SYM_VALBYHND ReservedIndexGroups = 0x0000F005
+	ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND ReservedIndexGroups = 0x0000F006
+	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME ReservedIndexGroups = 0x0000F007
+	ReservedIndexGroups_ADSIGRP_SYM_VERSION ReservedIndexGroups = 0x0000F008
+	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX ReservedIndexGroups = 0x0000F009
+	ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD ReservedIndexGroups = 0x0000F00A
+	ReservedIndexGroups_ADSIGRP_SYM_UPLOAD ReservedIndexGroups = 0x0000F00B
+	ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO ReservedIndexGroups = 0x0000F00C
+	ReservedIndexGroups_ADSIGRP_SYMNOTE ReservedIndexGroups = 0x0000F010
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB ReservedIndexGroups = 0x0000F020
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX ReservedIndexGroups = 0x0000F021
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE ReservedIndexGroups = 0x0000F025
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB ReservedIndexGroups = 0x0000F030
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX ReservedIndexGroups = 0x0000F031
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE ReservedIndexGroups = 0x0000F035
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI ReservedIndexGroups = 0x0000F040
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO ReservedIndexGroups = 0x0000F050
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB ReservedIndexGroups = 0x0000F060
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ ReservedIndexGroups = 0x0000F080
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE ReservedIndexGroups = 0x0000F081
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE ReservedIndexGroups = 0x0000F082
 	ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE ReservedIndexGroups = 0x0000F083
-	ReservedIndexGroups_ADSIGRP_DEVICE_DATA             ReservedIndexGroups = 0x0000F100
-	ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE       ReservedIndexGroups = 0x00000000
-	ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE       ReservedIndexGroups = 0x00000002
+	ReservedIndexGroups_ADSIGRP_DEVICE_DATA ReservedIndexGroups = 0x0000F100
+	ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE ReservedIndexGroups = 0x00000000
+	ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE ReservedIndexGroups = 0x00000002
 )
 
 var ReservedIndexGroupsValues []ReservedIndexGroups
 
 func init() {
 	_ = errors.New
-	ReservedIndexGroupsValues = []ReservedIndexGroups{
+	ReservedIndexGroupsValues = []ReservedIndexGroups {
 		ReservedIndexGroups_ADSIGRP_SYMTAB,
 		ReservedIndexGroups_ADSIGRP_SYMNAME,
 		ReservedIndexGroups_ADSIGRP_SYMVAL,
@@ -105,66 +105,66 @@ func init() {
 
 func ReservedIndexGroupsByValue(value uint32) ReservedIndexGroups {
 	switch value {
-	case 0x00000000:
-		return ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE
-	case 0x00000002:
-		return ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE
-	case 0x0000F000:
-		return ReservedIndexGroups_ADSIGRP_SYMTAB
-	case 0x0000F001:
-		return ReservedIndexGroups_ADSIGRP_SYMNAME
-	case 0x0000F002:
-		return ReservedIndexGroups_ADSIGRP_SYMVAL
-	case 0x0000F003:
-		return ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME
-	case 0x0000F004:
-		return ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME
-	case 0x0000F005:
-		return ReservedIndexGroups_ADSIGRP_SYM_VALBYHND
-	case 0x0000F006:
-		return ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND
-	case 0x0000F007:
-		return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME
-	case 0x0000F008:
-		return ReservedIndexGroups_ADSIGRP_SYM_VERSION
-	case 0x0000F009:
-		return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX
-	case 0x0000F00A:
-		return ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD
-	case 0x0000F00B:
-		return ReservedIndexGroups_ADSIGRP_SYM_UPLOAD
-	case 0x0000F00C:
-		return ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO
-	case 0x0000F010:
-		return ReservedIndexGroups_ADSIGRP_SYMNOTE
-	case 0x0000F020:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB
-	case 0x0000F021:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX
-	case 0x0000F025:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE
-	case 0x0000F030:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB
-	case 0x0000F031:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX
-	case 0x0000F035:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE
-	case 0x0000F040:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI
-	case 0x0000F050:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO
-	case 0x0000F060:
-		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB
-	case 0x0000F080:
-		return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ
-	case 0x0000F081:
-		return ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE
-	case 0x0000F082:
-		return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE
-	case 0x0000F083:
-		return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE
-	case 0x0000F100:
-		return ReservedIndexGroups_ADSIGRP_DEVICE_DATA
+		case 0x00000000:
+			return ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE
+		case 0x00000002:
+			return ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE
+		case 0x0000F000:
+			return ReservedIndexGroups_ADSIGRP_SYMTAB
+		case 0x0000F001:
+			return ReservedIndexGroups_ADSIGRP_SYMNAME
+		case 0x0000F002:
+			return ReservedIndexGroups_ADSIGRP_SYMVAL
+		case 0x0000F003:
+			return ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME
+		case 0x0000F004:
+			return ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME
+		case 0x0000F005:
+			return ReservedIndexGroups_ADSIGRP_SYM_VALBYHND
+		case 0x0000F006:
+			return ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND
+		case 0x0000F007:
+			return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME
+		case 0x0000F008:
+			return ReservedIndexGroups_ADSIGRP_SYM_VERSION
+		case 0x0000F009:
+			return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX
+		case 0x0000F00A:
+			return ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD
+		case 0x0000F00B:
+			return ReservedIndexGroups_ADSIGRP_SYM_UPLOAD
+		case 0x0000F00C:
+			return ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO
+		case 0x0000F010:
+			return ReservedIndexGroups_ADSIGRP_SYMNOTE
+		case 0x0000F020:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB
+		case 0x0000F021:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX
+		case 0x0000F025:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE
+		case 0x0000F030:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB
+		case 0x0000F031:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX
+		case 0x0000F035:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE
+		case 0x0000F040:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI
+		case 0x0000F050:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO
+		case 0x0000F060:
+			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB
+		case 0x0000F080:
+			return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ
+		case 0x0000F081:
+			return ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE
+		case 0x0000F082:
+			return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE
+		case 0x0000F083:
+			return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE
+		case 0x0000F100:
+			return ReservedIndexGroups_ADSIGRP_DEVICE_DATA
 	}
 	return 0
 }
@@ -334,3 +334,4 @@ func (e ReservedIndexGroups) name() string {
 func (e ReservedIndexGroups) String() string {
 	return e.name()
 }
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go b/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
index 8015bab..a034def 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
@@ -32,136 +32,136 @@ type IReturnCode interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const (
-	ReturnCode_OK                                 ReturnCode = 0x00
-	ReturnCode_INTERNAL_ERROR                     ReturnCode = 0x01
-	ReturnCode_NO_REALTIME                        ReturnCode = 0x02
-	ReturnCode_SAVE_ERROR                         ReturnCode = 0x03
-	ReturnCode_MAILBOX_FULL                       ReturnCode = 0x04
-	ReturnCode_WRONG_HMSG                         ReturnCode = 0x05
-	ReturnCode_TARGET_PORT_NOT_FOUND              ReturnCode = 0x06
-	ReturnCode_TARGET_HOST_NOT_FOUND              ReturnCode = 0x07
-	ReturnCode_UNKNOWN_COMMAND_ID                 ReturnCode = 0x08
-	ReturnCode_UNKNOWN_TASK_ID                    ReturnCode = 0x09
-	ReturnCode_NO_IO                              ReturnCode = 0x0A
-	ReturnCode_UNKNOWN_ADS_COMMAND                ReturnCode = 0x0B
-	ReturnCode_WIN32_ERROR                        ReturnCode = 0x0C
-	ReturnCode_PORT_NOT_CONNECTED                 ReturnCode = 0x0D
-	ReturnCode_INVALID_ADS_LENGTH                 ReturnCode = 0x0E
-	ReturnCode_INVALID_AMS_NET_ID                 ReturnCode = 0x0F
-	ReturnCode_LOW_INSTALLATION_LEVEL             ReturnCode = 0x10
-	ReturnCode_NO_DEBUGGING_AVAILABLE             ReturnCode = 0x11
-	ReturnCode_PORT_DEACTIVATED                   ReturnCode = 0x12
-	ReturnCode_PORT_ALREADY_CONNECTED             ReturnCode = 0x13
-	ReturnCode_ADS_SYNC_WIN32_ERROR               ReturnCode = 0x14
-	ReturnCode_ADS_SYNC_TIMEOUT                   ReturnCode = 0x15
-	ReturnCode_ADS_SYNC_AMS_ERROR                 ReturnCode = 0x16
-	ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE     ReturnCode = 0x17
-	ReturnCode_INVALID_ADS_PORT                   ReturnCode = 0x18
-	ReturnCode_NO_MEMORY                          ReturnCode = 0x19
-	ReturnCode_TCP_SENDING_ERROR                  ReturnCode = 0x1A
-	ReturnCode_HOST_NOT_REACHABLE                 ReturnCode = 0x1B
-	ReturnCode_INVALID_AMS_FRAGMENT               ReturnCode = 0x1C
-	ReturnCode_ROUTERERR_NOLOCKEDMEMORY           ReturnCode = 0x500
-	ReturnCode_ROUTERERR_RESIZEMEMORY             ReturnCode = 0x501
-	ReturnCode_ROUTERERR_MAILBOXFULL              ReturnCode = 0x502
-	ReturnCode_ROUTERERR_DEBUGBOXFULL             ReturnCode = 0x503
-	ReturnCode_ROUTERERR_UNKNOWNPORTTYPE          ReturnCode = 0x504
-	ReturnCode_ROUTERERR_NOTINITIALIZED           ReturnCode = 0x505
-	ReturnCode_ROUTERERR_PORTALREADYINUSE         ReturnCode = 0x506
-	ReturnCode_ROUTERERR_NOTREGISTERED            ReturnCode = 0x507
-	ReturnCode_ROUTERERR_NOMOREQUEUES             ReturnCode = 0x508
-	ReturnCode_ROUTERERR_INVALIDPORT              ReturnCode = 0x509
-	ReturnCode_ROUTERERR_NOTACTIVATED             ReturnCode = 0x50A
-	ReturnCode_ADSERR_DEVICE_ERROR                ReturnCode = 0x700
-	ReturnCode_ADSERR_DEVICE_SRVNOTSUPP           ReturnCode = 0x701
-	ReturnCode_ADSERR_DEVICE_INVALIDGRP           ReturnCode = 0x702
-	ReturnCode_ADSERR_DEVICE_INVALIDOFFSET        ReturnCode = 0x703
-	ReturnCode_ADSERR_DEVICE_INVALIDACCESS        ReturnCode = 0x704
-	ReturnCode_ADSERR_DEVICE_INVALIDSIZE          ReturnCode = 0x705
-	ReturnCode_ADSERR_DEVICE_INVALIDDATA          ReturnCode = 0x706
-	ReturnCode_ADSERR_DEVICE_NOTREADY             ReturnCode = 0x707
-	ReturnCode_ADSERR_DEVICE_BUSY                 ReturnCode = 0x708
-	ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT       ReturnCode = 0x709
-	ReturnCode_ADSERR_DEVICE_NOMEMORY             ReturnCode = 0x70A
-	ReturnCode_ADSERR_DEVICE_INVALIDPARM          ReturnCode = 0x70B
-	ReturnCode_ADSERR_DEVICE_NOTFOUND             ReturnCode = 0x70C
-	ReturnCode_ADSERR_DEVICE_SYNTAX               ReturnCode = 0x70D
-	ReturnCode_ADSERR_DEVICE_INCOMPATIBLE         ReturnCode = 0x70E
-	ReturnCode_ADSERR_DEVICE_EXISTS               ReturnCode = 0x70F
-	ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND       ReturnCode = 0x710
+const(
+	ReturnCode_OK ReturnCode = 0x00
+	ReturnCode_INTERNAL_ERROR ReturnCode = 0x01
+	ReturnCode_NO_REALTIME ReturnCode = 0x02
+	ReturnCode_SAVE_ERROR ReturnCode = 0x03
+	ReturnCode_MAILBOX_FULL ReturnCode = 0x04
+	ReturnCode_WRONG_HMSG ReturnCode = 0x05
+	ReturnCode_TARGET_PORT_NOT_FOUND ReturnCode = 0x06
+	ReturnCode_TARGET_HOST_NOT_FOUND ReturnCode = 0x07
+	ReturnCode_UNKNOWN_COMMAND_ID ReturnCode = 0x08
+	ReturnCode_UNKNOWN_TASK_ID ReturnCode = 0x09
+	ReturnCode_NO_IO ReturnCode = 0x0A
+	ReturnCode_UNKNOWN_ADS_COMMAND ReturnCode = 0x0B
+	ReturnCode_WIN32_ERROR ReturnCode = 0x0C
+	ReturnCode_PORT_NOT_CONNECTED ReturnCode = 0x0D
+	ReturnCode_INVALID_ADS_LENGTH ReturnCode = 0x0E
+	ReturnCode_INVALID_AMS_NET_ID ReturnCode = 0x0F
+	ReturnCode_LOW_INSTALLATION_LEVEL ReturnCode = 0x10
+	ReturnCode_NO_DEBUGGING_AVAILABLE ReturnCode = 0x11
+	ReturnCode_PORT_DEACTIVATED ReturnCode = 0x12
+	ReturnCode_PORT_ALREADY_CONNECTED ReturnCode = 0x13
+	ReturnCode_ADS_SYNC_WIN32_ERROR ReturnCode = 0x14
+	ReturnCode_ADS_SYNC_TIMEOUT ReturnCode = 0x15
+	ReturnCode_ADS_SYNC_AMS_ERROR ReturnCode = 0x16
+	ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE ReturnCode = 0x17
+	ReturnCode_INVALID_ADS_PORT ReturnCode = 0x18
+	ReturnCode_NO_MEMORY ReturnCode = 0x19
+	ReturnCode_TCP_SENDING_ERROR ReturnCode = 0x1A
+	ReturnCode_HOST_NOT_REACHABLE ReturnCode = 0x1B
+	ReturnCode_INVALID_AMS_FRAGMENT ReturnCode = 0x1C
+	ReturnCode_ROUTERERR_NOLOCKEDMEMORY ReturnCode = 0x500
+	ReturnCode_ROUTERERR_RESIZEMEMORY ReturnCode = 0x501
+	ReturnCode_ROUTERERR_MAILBOXFULL ReturnCode = 0x502
+	ReturnCode_ROUTERERR_DEBUGBOXFULL ReturnCode = 0x503
+	ReturnCode_ROUTERERR_UNKNOWNPORTTYPE ReturnCode = 0x504
+	ReturnCode_ROUTERERR_NOTINITIALIZED ReturnCode = 0x505
+	ReturnCode_ROUTERERR_PORTALREADYINUSE ReturnCode = 0x506
+	ReturnCode_ROUTERERR_NOTREGISTERED ReturnCode = 0x507
+	ReturnCode_ROUTERERR_NOMOREQUEUES ReturnCode = 0x508
+	ReturnCode_ROUTERERR_INVALIDPORT ReturnCode = 0x509
+	ReturnCode_ROUTERERR_NOTACTIVATED ReturnCode = 0x50A
+	ReturnCode_ADSERR_DEVICE_ERROR ReturnCode = 0x700
+	ReturnCode_ADSERR_DEVICE_SRVNOTSUPP ReturnCode = 0x701
+	ReturnCode_ADSERR_DEVICE_INVALIDGRP ReturnCode = 0x702
+	ReturnCode_ADSERR_DEVICE_INVALIDOFFSET ReturnCode = 0x703
+	ReturnCode_ADSERR_DEVICE_INVALIDACCESS ReturnCode = 0x704
+	ReturnCode_ADSERR_DEVICE_INVALIDSIZE ReturnCode = 0x705
+	ReturnCode_ADSERR_DEVICE_INVALIDDATA ReturnCode = 0x706
+	ReturnCode_ADSERR_DEVICE_NOTREADY ReturnCode = 0x707
+	ReturnCode_ADSERR_DEVICE_BUSY ReturnCode = 0x708
+	ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT ReturnCode = 0x709
+	ReturnCode_ADSERR_DEVICE_NOMEMORY ReturnCode = 0x70A
+	ReturnCode_ADSERR_DEVICE_INVALIDPARM ReturnCode = 0x70B
+	ReturnCode_ADSERR_DEVICE_NOTFOUND ReturnCode = 0x70C
+	ReturnCode_ADSERR_DEVICE_SYNTAX ReturnCode = 0x70D
+	ReturnCode_ADSERR_DEVICE_INCOMPATIBLE ReturnCode = 0x70E
+	ReturnCode_ADSERR_DEVICE_EXISTS ReturnCode = 0x70F
+	ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND ReturnCode = 0x710
 	ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID ReturnCode = 0x711
-	ReturnCode_ADSERR_DEVICE_INVALIDSTATE         ReturnCode = 0x712
-	ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP     ReturnCode = 0x713
-	ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID     ReturnCode = 0x714
-	ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN        ReturnCode = 0x715
-	ReturnCode_ADSERR_DEVICE_NOMOREHDLS           ReturnCode = 0x716
-	ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE     ReturnCode = 0x717
-	ReturnCode_ADSERR_DEVICE_NOTINIT              ReturnCode = 0x718
-	ReturnCode_ADSERR_DEVICE_TIMEOUT              ReturnCode = 0x719
-	ReturnCode_ADSERR_DEVICE_NOINTERFACE          ReturnCode = 0x71A
-	ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE     ReturnCode = 0x71B
-	ReturnCode_ADSERR_DEVICE_INVALIDCLSID         ReturnCode = 0x71C
-	ReturnCode_ADSERR_DEVICE_INVALIDOBJID         ReturnCode = 0x71D
-	ReturnCode_ADSERR_DEVICE_PENDING              ReturnCode = 0x71E
-	ReturnCode_ADSERR_DEVICE_ABORTED              ReturnCode = 0x71F
-	ReturnCode_ADSERR_DEVICE_WARNING              ReturnCode = 0x720
-	ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX      ReturnCode = 0x721
-	ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE      ReturnCode = 0x722
-	ReturnCode_ADSERR_DEVICE_ACCESSDENIED         ReturnCode = 0x723
-	ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND      ReturnCode = 0x724
-	ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED       ReturnCode = 0x725
-	ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED      ReturnCode = 0x726
-	ReturnCode_ADSERR_DEVICE_LICENSEINVALID       ReturnCode = 0x727
-	ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID      ReturnCode = 0x728
-	ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT   ReturnCode = 0x729
-	ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE   ReturnCode = 0x72A
-	ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG    ReturnCode = 0x72B
-	ReturnCode_ADSERR_DEVICE_EXCEPTION            ReturnCode = 0x72c
-	ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED    ReturnCode = 0x72D
-	ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID     ReturnCode = 0x72E
-	ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID   ReturnCode = 0x72F
-	ReturnCode_ADSERR_CLIENT_ERROR                ReturnCode = 0x740
-	ReturnCode_ADSERR_CLIENT_INVALIDPARM          ReturnCode = 0x741
-	ReturnCode_ADSERR_CLIENT_LISTEMPTY            ReturnCode = 0x742
-	ReturnCode_ADSERR_CLIENT_VARUSED              ReturnCode = 0x743
-	ReturnCode_ADSERR_CLIENT_DUPLINVOKEID         ReturnCode = 0x744
-	ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT          ReturnCode = 0x745
-	ReturnCode_ADSERR_CLIENT_W32ERROR             ReturnCode = 0x746
-	ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID       ReturnCode = 0x747
-	ReturnCode_ADSERR_CLIENT_PORTNOTOPEN          ReturnCode = 0x748
-	ReturnCode_ADSERR_CLIENT_NOAMSADDR            ReturnCode = 0x750
-	ReturnCode_ADSERR_CLIENT_SYNCINTERNAL         ReturnCode = 0x751
-	ReturnCode_ADSERR_CLIENT_ADDHASH              ReturnCode = 0x752
-	ReturnCode_ADSERR_CLIENT_REMOVEHASH           ReturnCode = 0x753
-	ReturnCode_ADSERR_CLIENT_NOMORESYM            ReturnCode = 0x754
-	ReturnCode_ADSERR_CLIENT_SYNCRESINVALID       ReturnCode = 0x755
-	ReturnCode_RTERR_INTERNAL                     ReturnCode = 0x1000
-	ReturnCode_RTERR_BADTIMERPERIODS              ReturnCode = 0x1001
-	ReturnCode_RTERR_INVALIDTASKPTR               ReturnCode = 0x1002
-	ReturnCode_RTERR_INVALIDSTACKPTR              ReturnCode = 0x1003
-	ReturnCode_RTERR_PRIOEXISTS                   ReturnCode = 0x1004
-	ReturnCode_RTERR_NOMORETCB                    ReturnCode = 0x1005
-	ReturnCode_RTERR_NOMORESEMAS                  ReturnCode = 0x1006
-	ReturnCode_RTERR_NOMOREQUEUES                 ReturnCode = 0x1007
-	ReturnCode_RTERR_EXTIRQALREADYDEF             ReturnCode = 0x100D
-	ReturnCode_RTERR_EXTIRQNOTDEF                 ReturnCode = 0x100E
-	ReturnCode_RTERR_EXTIRQINSTALLFAILED          ReturnCode = 0x100F
-	ReturnCode_RTERR_IRQLNOTLESSOREQUAL           ReturnCode = 0x1010
-	ReturnCode_RTERR_VMXNOTSUPPORTED              ReturnCode = 0x1017
-	ReturnCode_RTERR_VMXDISABLED                  ReturnCode = 0x1018
-	ReturnCode_RTERR_VMXCONTROLSMISSING           ReturnCode = 0x1019
-	ReturnCode_RTERR_VMXENABLEFAILS               ReturnCode = 0x101A
-	ReturnCode_WSAETIMEDOUT                       ReturnCode = 0x274C
-	ReturnCode_WSAECONNREFUSED                    ReturnCode = 0x274D
-	ReturnCode_WSAEHOSTUNREACH                    ReturnCode = 0x2751
+	ReturnCode_ADSERR_DEVICE_INVALIDSTATE ReturnCode = 0x712
+	ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP ReturnCode = 0x713
+	ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID ReturnCode = 0x714
+	ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN ReturnCode = 0x715
+	ReturnCode_ADSERR_DEVICE_NOMOREHDLS ReturnCode = 0x716
+	ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE ReturnCode = 0x717
+	ReturnCode_ADSERR_DEVICE_NOTINIT ReturnCode = 0x718
+	ReturnCode_ADSERR_DEVICE_TIMEOUT ReturnCode = 0x719
+	ReturnCode_ADSERR_DEVICE_NOINTERFACE ReturnCode = 0x71A
+	ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE ReturnCode = 0x71B
+	ReturnCode_ADSERR_DEVICE_INVALIDCLSID ReturnCode = 0x71C
+	ReturnCode_ADSERR_DEVICE_INVALIDOBJID ReturnCode = 0x71D
+	ReturnCode_ADSERR_DEVICE_PENDING ReturnCode = 0x71E
+	ReturnCode_ADSERR_DEVICE_ABORTED ReturnCode = 0x71F
+	ReturnCode_ADSERR_DEVICE_WARNING ReturnCode = 0x720
+	ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX ReturnCode = 0x721
+	ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE ReturnCode = 0x722
+	ReturnCode_ADSERR_DEVICE_ACCESSDENIED ReturnCode = 0x723
+	ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND ReturnCode = 0x724
+	ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED ReturnCode = 0x725
+	ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED ReturnCode = 0x726
+	ReturnCode_ADSERR_DEVICE_LICENSEINVALID ReturnCode = 0x727
+	ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID ReturnCode = 0x728
+	ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT ReturnCode = 0x729
+	ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE ReturnCode = 0x72A
+	ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG ReturnCode = 0x72B
+	ReturnCode_ADSERR_DEVICE_EXCEPTION ReturnCode = 0x72c
+	ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED ReturnCode = 0x72D
+	ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID ReturnCode = 0x72E
+	ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID ReturnCode = 0x72F
+	ReturnCode_ADSERR_CLIENT_ERROR ReturnCode = 0x740
+	ReturnCode_ADSERR_CLIENT_INVALIDPARM ReturnCode = 0x741
+	ReturnCode_ADSERR_CLIENT_LISTEMPTY ReturnCode = 0x742
+	ReturnCode_ADSERR_CLIENT_VARUSED ReturnCode = 0x743
+	ReturnCode_ADSERR_CLIENT_DUPLINVOKEID ReturnCode = 0x744
+	ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT ReturnCode = 0x745
+	ReturnCode_ADSERR_CLIENT_W32ERROR ReturnCode = 0x746
+	ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID ReturnCode = 0x747
+	ReturnCode_ADSERR_CLIENT_PORTNOTOPEN ReturnCode = 0x748
+	ReturnCode_ADSERR_CLIENT_NOAMSADDR ReturnCode = 0x750
+	ReturnCode_ADSERR_CLIENT_SYNCINTERNAL ReturnCode = 0x751
+	ReturnCode_ADSERR_CLIENT_ADDHASH ReturnCode = 0x752
+	ReturnCode_ADSERR_CLIENT_REMOVEHASH ReturnCode = 0x753
+	ReturnCode_ADSERR_CLIENT_NOMORESYM ReturnCode = 0x754
+	ReturnCode_ADSERR_CLIENT_SYNCRESINVALID ReturnCode = 0x755
+	ReturnCode_RTERR_INTERNAL ReturnCode = 0x1000
+	ReturnCode_RTERR_BADTIMERPERIODS ReturnCode = 0x1001
+	ReturnCode_RTERR_INVALIDTASKPTR ReturnCode = 0x1002
+	ReturnCode_RTERR_INVALIDSTACKPTR ReturnCode = 0x1003
+	ReturnCode_RTERR_PRIOEXISTS ReturnCode = 0x1004
+	ReturnCode_RTERR_NOMORETCB ReturnCode = 0x1005
+	ReturnCode_RTERR_NOMORESEMAS ReturnCode = 0x1006
+	ReturnCode_RTERR_NOMOREQUEUES ReturnCode = 0x1007
+	ReturnCode_RTERR_EXTIRQALREADYDEF ReturnCode = 0x100D
+	ReturnCode_RTERR_EXTIRQNOTDEF ReturnCode = 0x100E
+	ReturnCode_RTERR_EXTIRQINSTALLFAILED ReturnCode = 0x100F
+	ReturnCode_RTERR_IRQLNOTLESSOREQUAL ReturnCode = 0x1010
+	ReturnCode_RTERR_VMXNOTSUPPORTED ReturnCode = 0x1017
+	ReturnCode_RTERR_VMXDISABLED ReturnCode = 0x1018
+	ReturnCode_RTERR_VMXCONTROLSMISSING ReturnCode = 0x1019
+	ReturnCode_RTERR_VMXENABLEFAILS ReturnCode = 0x101A
+	ReturnCode_WSAETIMEDOUT ReturnCode = 0x274C
+	ReturnCode_WSAECONNREFUSED ReturnCode = 0x274D
+	ReturnCode_WSAEHOSTUNREACH ReturnCode = 0x2751
 )
 
 var ReturnCodeValues []ReturnCode
 
 func init() {
 	_ = errors.New
-	ReturnCodeValues = []ReturnCode{
+	ReturnCodeValues = []ReturnCode {
 		ReturnCode_OK,
 		ReturnCode_INTERNAL_ERROR,
 		ReturnCode_NO_REALTIME,
@@ -289,250 +289,250 @@ func init() {
 
 func ReturnCodeByValue(value uint32) ReturnCode {
 	switch value {
-	case 0x00:
-		return ReturnCode_OK
-	case 0x01:
-		return ReturnCode_INTERNAL_ERROR
-	case 0x02:
-		return ReturnCode_NO_REALTIME
-	case 0x03:
-		return ReturnCode_SAVE_ERROR
-	case 0x04:
-		return ReturnCode_MAILBOX_FULL
-	case 0x05:
-		return ReturnCode_WRONG_HMSG
-	case 0x06:
-		return ReturnCode_TARGET_PORT_NOT_FOUND
-	case 0x07:
-		return ReturnCode_TARGET_HOST_NOT_FOUND
-	case 0x08:
-		return ReturnCode_UNKNOWN_COMMAND_ID
-	case 0x09:
-		return ReturnCode_UNKNOWN_TASK_ID
-	case 0x0A:
-		return ReturnCode_NO_IO
-	case 0x0B:
-		return ReturnCode_UNKNOWN_ADS_COMMAND
-	case 0x0C:
-		return ReturnCode_WIN32_ERROR
-	case 0x0D:
-		return ReturnCode_PORT_NOT_CONNECTED
-	case 0x0E:
-		return ReturnCode_INVALID_ADS_LENGTH
-	case 0x0F:
-		return ReturnCode_INVALID_AMS_NET_ID
-	case 0x10:
-		return ReturnCode_LOW_INSTALLATION_LEVEL
-	case 0x1000:
-		return ReturnCode_RTERR_INTERNAL
-	case 0x1001:
-		return ReturnCode_RTERR_BADTIMERPERIODS
-	case 0x1002:
-		return ReturnCode_RTERR_INVALIDTASKPTR
-	case 0x1003:
-		return ReturnCode_RTERR_INVALIDSTACKPTR
-	case 0x1004:
-		return ReturnCode_RTERR_PRIOEXISTS
-	case 0x1005:
-		return ReturnCode_RTERR_NOMORETCB
-	case 0x1006:
-		return ReturnCode_RTERR_NOMORESEMAS
-	case 0x1007:
-		return ReturnCode_RTERR_NOMOREQUEUES
-	case 0x100D:
-		return ReturnCode_RTERR_EXTIRQALREADYDEF
-	case 0x100E:
-		return ReturnCode_RTERR_EXTIRQNOTDEF
-	case 0x100F:
-		return ReturnCode_RTERR_EXTIRQINSTALLFAILED
-	case 0x1010:
-		return ReturnCode_RTERR_IRQLNOTLESSOREQUAL
-	case 0x1017:
-		return ReturnCode_RTERR_VMXNOTSUPPORTED
-	case 0x1018:
-		return ReturnCode_RTERR_VMXDISABLED
-	case 0x1019:
-		return ReturnCode_RTERR_VMXCONTROLSMISSING
-	case 0x101A:
-		return ReturnCode_RTERR_VMXENABLEFAILS
-	case 0x11:
-		return ReturnCode_NO_DEBUGGING_AVAILABLE
-	case 0x12:
-		return ReturnCode_PORT_DEACTIVATED
-	case 0x13:
-		return ReturnCode_PORT_ALREADY_CONNECTED
-	case 0x14:
-		return ReturnCode_ADS_SYNC_WIN32_ERROR
-	case 0x15:
-		return ReturnCode_ADS_SYNC_TIMEOUT
-	case 0x16:
-		return ReturnCode_ADS_SYNC_AMS_ERROR
-	case 0x17:
-		return ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE
-	case 0x18:
-		return ReturnCode_INVALID_ADS_PORT
-	case 0x19:
-		return ReturnCode_NO_MEMORY
-	case 0x1A:
-		return ReturnCode_TCP_SENDING_ERROR
-	case 0x1B:
-		return ReturnCode_HOST_NOT_REACHABLE
-	case 0x1C:
-		return ReturnCode_INVALID_AMS_FRAGMENT
-	case 0x274C:
-		return ReturnCode_WSAETIMEDOUT
-	case 0x274D:
-		return ReturnCode_WSAECONNREFUSED
-	case 0x2751:
-		return ReturnCode_WSAEHOSTUNREACH
-	case 0x500:
-		return ReturnCode_ROUTERERR_NOLOCKEDMEMORY
-	case 0x501:
-		return ReturnCode_ROUTERERR_RESIZEMEMORY
-	case 0x502:
-		return ReturnCode_ROUTERERR_MAILBOXFULL
-	case 0x503:
-		return ReturnCode_ROUTERERR_DEBUGBOXFULL
-	case 0x504:
-		return ReturnCode_ROUTERERR_UNKNOWNPORTTYPE
-	case 0x505:
-		return ReturnCode_ROUTERERR_NOTINITIALIZED
-	case 0x506:
-		return ReturnCode_ROUTERERR_PORTALREADYINUSE
-	case 0x507:
-		return ReturnCode_ROUTERERR_NOTREGISTERED
-	case 0x508:
-		return ReturnCode_ROUTERERR_NOMOREQUEUES
-	case 0x509:
-		return ReturnCode_ROUTERERR_INVALIDPORT
-	case 0x50A:
-		return ReturnCode_ROUTERERR_NOTACTIVATED
-	case 0x700:
-		return ReturnCode_ADSERR_DEVICE_ERROR
-	case 0x701:
-		return ReturnCode_ADSERR_DEVICE_SRVNOTSUPP
-	case 0x702:
-		return ReturnCode_ADSERR_DEVICE_INVALIDGRP
-	case 0x703:
-		return ReturnCode_ADSERR_DEVICE_INVALIDOFFSET
-	case 0x704:
-		return ReturnCode_ADSERR_DEVICE_INVALIDACCESS
-	case 0x705:
-		return ReturnCode_ADSERR_DEVICE_INVALIDSIZE
-	case 0x706:
-		return ReturnCode_ADSERR_DEVICE_INVALIDDATA
-	case 0x707:
-		return ReturnCode_ADSERR_DEVICE_NOTREADY
-	case 0x708:
-		return ReturnCode_ADSERR_DEVICE_BUSY
-	case 0x709:
-		return ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT
-	case 0x70A:
-		return ReturnCode_ADSERR_DEVICE_NOMEMORY
-	case 0x70B:
-		return ReturnCode_ADSERR_DEVICE_INVALIDPARM
-	case 0x70C:
-		return ReturnCode_ADSERR_DEVICE_NOTFOUND
-	case 0x70D:
-		return ReturnCode_ADSERR_DEVICE_SYNTAX
-	case 0x70E:
-		return ReturnCode_ADSERR_DEVICE_INCOMPATIBLE
-	case 0x70F:
-		return ReturnCode_ADSERR_DEVICE_EXISTS
-	case 0x710:
-		return ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND
-	case 0x711:
-		return ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID
-	case 0x712:
-		return ReturnCode_ADSERR_DEVICE_INVALIDSTATE
-	case 0x713:
-		return ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP
-	case 0x714:
-		return ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID
-	case 0x715:
-		return ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN
-	case 0x716:
-		return ReturnCode_ADSERR_DEVICE_NOMOREHDLS
-	case 0x717:
-		return ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE
-	case 0x718:
-		return ReturnCode_ADSERR_DEVICE_NOTINIT
-	case 0x719:
-		return ReturnCode_ADSERR_DEVICE_TIMEOUT
-	case 0x71A:
-		return ReturnCode_ADSERR_DEVICE_NOINTERFACE
-	case 0x71B:
-		return ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE
-	case 0x71C:
-		return ReturnCode_ADSERR_DEVICE_INVALIDCLSID
-	case 0x71D:
-		return ReturnCode_ADSERR_DEVICE_INVALIDOBJID
-	case 0x71E:
-		return ReturnCode_ADSERR_DEVICE_PENDING
-	case 0x71F:
-		return ReturnCode_ADSERR_DEVICE_ABORTED
-	case 0x720:
-		return ReturnCode_ADSERR_DEVICE_WARNING
-	case 0x721:
-		return ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX
-	case 0x722:
-		return ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE
-	case 0x723:
-		return ReturnCode_ADSERR_DEVICE_ACCESSDENIED
-	case 0x724:
-		return ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND
-	case 0x725:
-		return ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED
-	case 0x726:
-		return ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED
-	case 0x727:
-		return ReturnCode_ADSERR_DEVICE_LICENSEINVALID
-	case 0x728:
-		return ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID
-	case 0x729:
-		return ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT
-	case 0x72A:
-		return ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE
-	case 0x72B:
-		return ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG
-	case 0x72D:
-		return ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED
-	case 0x72E:
-		return ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID
-	case 0x72F:
-		return ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID
-	case 0x72c:
-		return ReturnCode_ADSERR_DEVICE_EXCEPTION
-	case 0x740:
-		return ReturnCode_ADSERR_CLIENT_ERROR
-	case 0x741:
-		return ReturnCode_ADSERR_CLIENT_INVALIDPARM
-	case 0x742:
-		return ReturnCode_ADSERR_CLIENT_LISTEMPTY
-	case 0x743:
-		return ReturnCode_ADSERR_CLIENT_VARUSED
-	case 0x744:
-		return ReturnCode_ADSERR_CLIENT_DUPLINVOKEID
-	case 0x745:
-		return ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT
-	case 0x746:
-		return ReturnCode_ADSERR_CLIENT_W32ERROR
-	case 0x747:
-		return ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID
-	case 0x748:
-		return ReturnCode_ADSERR_CLIENT_PORTNOTOPEN
-	case 0x750:
-		return ReturnCode_ADSERR_CLIENT_NOAMSADDR
-	case 0x751:
-		return ReturnCode_ADSERR_CLIENT_SYNCINTERNAL
-	case 0x752:
-		return ReturnCode_ADSERR_CLIENT_ADDHASH
-	case 0x753:
-		return ReturnCode_ADSERR_CLIENT_REMOVEHASH
-	case 0x754:
-		return ReturnCode_ADSERR_CLIENT_NOMORESYM
-	case 0x755:
-		return ReturnCode_ADSERR_CLIENT_SYNCRESINVALID
+		case 0x00:
+			return ReturnCode_OK
+		case 0x01:
+			return ReturnCode_INTERNAL_ERROR
+		case 0x02:
+			return ReturnCode_NO_REALTIME
+		case 0x03:
+			return ReturnCode_SAVE_ERROR
+		case 0x04:
+			return ReturnCode_MAILBOX_FULL
+		case 0x05:
+			return ReturnCode_WRONG_HMSG
+		case 0x06:
+			return ReturnCode_TARGET_PORT_NOT_FOUND
+		case 0x07:
+			return ReturnCode_TARGET_HOST_NOT_FOUND
+		case 0x08:
+			return ReturnCode_UNKNOWN_COMMAND_ID
+		case 0x09:
+			return ReturnCode_UNKNOWN_TASK_ID
+		case 0x0A:
+			return ReturnCode_NO_IO
+		case 0x0B:
+			return ReturnCode_UNKNOWN_ADS_COMMAND
+		case 0x0C:
+			return ReturnCode_WIN32_ERROR
+		case 0x0D:
+			return ReturnCode_PORT_NOT_CONNECTED
+		case 0x0E:
+			return ReturnCode_INVALID_ADS_LENGTH
+		case 0x0F:
+			return ReturnCode_INVALID_AMS_NET_ID
+		case 0x10:
+			return ReturnCode_LOW_INSTALLATION_LEVEL
+		case 0x1000:
+			return ReturnCode_RTERR_INTERNAL
+		case 0x1001:
+			return ReturnCode_RTERR_BADTIMERPERIODS
+		case 0x1002:
+			return ReturnCode_RTERR_INVALIDTASKPTR
+		case 0x1003:
+			return ReturnCode_RTERR_INVALIDSTACKPTR
+		case 0x1004:
+			return ReturnCode_RTERR_PRIOEXISTS
+		case 0x1005:
+			return ReturnCode_RTERR_NOMORETCB
+		case 0x1006:
+			return ReturnCode_RTERR_NOMORESEMAS
+		case 0x1007:
+			return ReturnCode_RTERR_NOMOREQUEUES
+		case 0x100D:
+			return ReturnCode_RTERR_EXTIRQALREADYDEF
+		case 0x100E:
+			return ReturnCode_RTERR_EXTIRQNOTDEF
+		case 0x100F:
+			return ReturnCode_RTERR_EXTIRQINSTALLFAILED
+		case 0x1010:
+			return ReturnCode_RTERR_IRQLNOTLESSOREQUAL
+		case 0x1017:
+			return ReturnCode_RTERR_VMXNOTSUPPORTED
+		case 0x1018:
+			return ReturnCode_RTERR_VMXDISABLED
+		case 0x1019:
+			return ReturnCode_RTERR_VMXCONTROLSMISSING
+		case 0x101A:
+			return ReturnCode_RTERR_VMXENABLEFAILS
+		case 0x11:
+			return ReturnCode_NO_DEBUGGING_AVAILABLE
+		case 0x12:
+			return ReturnCode_PORT_DEACTIVATED
+		case 0x13:
+			return ReturnCode_PORT_ALREADY_CONNECTED
+		case 0x14:
+			return ReturnCode_ADS_SYNC_WIN32_ERROR
+		case 0x15:
+			return ReturnCode_ADS_SYNC_TIMEOUT
+		case 0x16:
+			return ReturnCode_ADS_SYNC_AMS_ERROR
+		case 0x17:
+			return ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE
+		case 0x18:
+			return ReturnCode_INVALID_ADS_PORT
+		case 0x19:
+			return ReturnCode_NO_MEMORY
+		case 0x1A:
+			return ReturnCode_TCP_SENDING_ERROR
+		case 0x1B:
+			return ReturnCode_HOST_NOT_REACHABLE
+		case 0x1C:
+			return ReturnCode_INVALID_AMS_FRAGMENT
+		case 0x274C:
+			return ReturnCode_WSAETIMEDOUT
+		case 0x274D:
+			return ReturnCode_WSAECONNREFUSED
+		case 0x2751:
+			return ReturnCode_WSAEHOSTUNREACH
+		case 0x500:
+			return ReturnCode_ROUTERERR_NOLOCKEDMEMORY
+		case 0x501:
+			return ReturnCode_ROUTERERR_RESIZEMEMORY
+		case 0x502:
+			return ReturnCode_ROUTERERR_MAILBOXFULL
+		case 0x503:
+			return ReturnCode_ROUTERERR_DEBUGBOXFULL
+		case 0x504:
+			return ReturnCode_ROUTERERR_UNKNOWNPORTTYPE
+		case 0x505:
+			return ReturnCode_ROUTERERR_NOTINITIALIZED
+		case 0x506:
+			return ReturnCode_ROUTERERR_PORTALREADYINUSE
+		case 0x507:
+			return ReturnCode_ROUTERERR_NOTREGISTERED
+		case 0x508:
+			return ReturnCode_ROUTERERR_NOMOREQUEUES
+		case 0x509:
+			return ReturnCode_ROUTERERR_INVALIDPORT
+		case 0x50A:
+			return ReturnCode_ROUTERERR_NOTACTIVATED
+		case 0x700:
+			return ReturnCode_ADSERR_DEVICE_ERROR
+		case 0x701:
+			return ReturnCode_ADSERR_DEVICE_SRVNOTSUPP
+		case 0x702:
+			return ReturnCode_ADSERR_DEVICE_INVALIDGRP
+		case 0x703:
+			return ReturnCode_ADSERR_DEVICE_INVALIDOFFSET
+		case 0x704:
+			return ReturnCode_ADSERR_DEVICE_INVALIDACCESS
+		case 0x705:
+			return ReturnCode_ADSERR_DEVICE_INVALIDSIZE
+		case 0x706:
+			return ReturnCode_ADSERR_DEVICE_INVALIDDATA
+		case 0x707:
+			return ReturnCode_ADSERR_DEVICE_NOTREADY
+		case 0x708:
+			return ReturnCode_ADSERR_DEVICE_BUSY
+		case 0x709:
+			return ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT
+		case 0x70A:
+			return ReturnCode_ADSERR_DEVICE_NOMEMORY
+		case 0x70B:
+			return ReturnCode_ADSERR_DEVICE_INVALIDPARM
+		case 0x70C:
+			return ReturnCode_ADSERR_DEVICE_NOTFOUND
+		case 0x70D:
+			return ReturnCode_ADSERR_DEVICE_SYNTAX
+		case 0x70E:
+			return ReturnCode_ADSERR_DEVICE_INCOMPATIBLE
+		case 0x70F:
+			return ReturnCode_ADSERR_DEVICE_EXISTS
+		case 0x710:
+			return ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND
+		case 0x711:
+			return ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID
+		case 0x712:
+			return ReturnCode_ADSERR_DEVICE_INVALIDSTATE
+		case 0x713:
+			return ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP
+		case 0x714:
+			return ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID
+		case 0x715:
+			return ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN
+		case 0x716:
+			return ReturnCode_ADSERR_DEVICE_NOMOREHDLS
+		case 0x717:
+			return ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE
+		case 0x718:
+			return ReturnCode_ADSERR_DEVICE_NOTINIT
+		case 0x719:
+			return ReturnCode_ADSERR_DEVICE_TIMEOUT
+		case 0x71A:
+			return ReturnCode_ADSERR_DEVICE_NOINTERFACE
+		case 0x71B:
+			return ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE
+		case 0x71C:
+			return ReturnCode_ADSERR_DEVICE_INVALIDCLSID
+		case 0x71D:
+			return ReturnCode_ADSERR_DEVICE_INVALIDOBJID
+		case 0x71E:
+			return ReturnCode_ADSERR_DEVICE_PENDING
+		case 0x71F:
+			return ReturnCode_ADSERR_DEVICE_ABORTED
+		case 0x720:
+			return ReturnCode_ADSERR_DEVICE_WARNING
+		case 0x721:
+			return ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX
+		case 0x722:
+			return ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE
+		case 0x723:
+			return ReturnCode_ADSERR_DEVICE_ACCESSDENIED
+		case 0x724:
+			return ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND
+		case 0x725:
+			return ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED
+		case 0x726:
+			return ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED
+		case 0x727:
+			return ReturnCode_ADSERR_DEVICE_LICENSEINVALID
+		case 0x728:
+			return ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID
+		case 0x729:
+			return ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT
+		case 0x72A:
+			return ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE
+		case 0x72B:
+			return ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG
+		case 0x72D:
+			return ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED
+		case 0x72E:
+			return ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID
+		case 0x72F:
+			return ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID
+		case 0x72c:
+			return ReturnCode_ADSERR_DEVICE_EXCEPTION
+		case 0x740:
+			return ReturnCode_ADSERR_CLIENT_ERROR
+		case 0x741:
+			return ReturnCode_ADSERR_CLIENT_INVALIDPARM
+		case 0x742:
+			return ReturnCode_ADSERR_CLIENT_LISTEMPTY
+		case 0x743:
+			return ReturnCode_ADSERR_CLIENT_VARUSED
+		case 0x744:
+			return ReturnCode_ADSERR_CLIENT_DUPLINVOKEID
+		case 0x745:
+			return ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT
+		case 0x746:
+			return ReturnCode_ADSERR_CLIENT_W32ERROR
+		case 0x747:
+			return ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID
+		case 0x748:
+			return ReturnCode_ADSERR_CLIENT_PORTNOTOPEN
+		case 0x750:
+			return ReturnCode_ADSERR_CLIENT_NOAMSADDR
+		case 0x751:
+			return ReturnCode_ADSERR_CLIENT_SYNCINTERNAL
+		case 0x752:
+			return ReturnCode_ADSERR_CLIENT_ADDHASH
+		case 0x753:
+			return ReturnCode_ADSERR_CLIENT_REMOVEHASH
+		case 0x754:
+			return ReturnCode_ADSERR_CLIENT_NOMORESYM
+		case 0x755:
+			return ReturnCode_ADSERR_CLIENT_SYNCRESINVALID
 	}
 	return 0
 }
@@ -1070,3 +1070,4 @@ func (e ReturnCode) name() string {
 func (e ReturnCode) String() string {
 	return e.name()
 }
+
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/State.go b/plc4go/internal/plc4go/ads/readwrite/model/State.go
index e3ad1f8..4c6633d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/State.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/State.go
@@ -19,25 +19,27 @@
 
 package model
 
+
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-// Code generated by code-generation. DO NOT EDIT.
+	// Code generated by code-generation. DO NOT EDIT.
+
 
 // The data-structure of this message
 type State struct {
-	InitCommand         bool
-	UpdCommand          bool
-	TimestampAdded      bool
+	InitCommand bool
+	UpdCommand bool
+	TimestampAdded bool
 	HighPriorityCommand bool
-	SystemCommand       bool
-	AdsCommand          bool
-	NoReturn            bool
-	Response            bool
-	Broadcast           bool
+	SystemCommand bool
+	AdsCommand bool
+	NoReturn bool
+	Response bool
+	Broadcast bool
 }
 
 // The corresponding interface
@@ -76,31 +78,31 @@ func (m *State) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (initCommand)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (updCommand)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (timestampAdded)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (highPriorityCommand)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (systemCommand)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (adsCommand)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (noReturn)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (response)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Simple field (broadcast)
-	lengthInBits += 1
+	lengthInBits += 1;
 
 	// Reserved Field (reserved)
 	lengthInBits += 7
@@ -108,6 +110,7 @@ func (m *State) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
+
 func (m *State) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -118,55 +121,55 @@ func StateParse(readBuffer utils.ReadBuffer) (*State, error) {
 	}
 
 	// Simple Field (initCommand)
-	initCommand, _initCommandErr := readBuffer.ReadBit("initCommand")
+initCommand, _initCommandErr := readBuffer.ReadBit("initCommand")
 	if _initCommandErr != nil {
 		return nil, errors.Wrap(_initCommandErr, "Error parsing 'initCommand' field")
 	}
 
 	// Simple Field (updCommand)
-	updCommand, _updCommandErr := readBuffer.ReadBit("updCommand")
+updCommand, _updCommandErr := readBuffer.ReadBit("updCommand")
 	if _updCommandErr != nil {
 		return nil, errors.Wrap(_updCommandErr, "Error parsing 'updCommand' field")
 	}
 
 	// Simple Field (timestampAdded)
-	timestampAdded, _timestampAddedErr := readBuffer.ReadBit("timestampAdded")
+timestampAdded, _timestampAddedErr := readBuffer.ReadBit("timestampAdded")
 	if _timestampAddedErr != nil {
 		return nil, errors.Wrap(_timestampAddedErr, "Error parsing 'timestampAdded' field")
 	}
 
 	// Simple Field (highPriorityCommand)
-	highPriorityCommand, _highPriorityCommandErr := readBuffer.ReadBit("highPriorityCommand")
+highPriorityCommand, _highPriorityCommandErr := readBuffer.ReadBit("highPriorityCommand")
 	if _highPriorityCommandErr != nil {
 		return nil, errors.Wrap(_highPriorityCommandErr, "Error parsing 'highPriorityCommand' field")
 	}
 
 	// Simple Field (systemCommand)
-	systemCommand, _systemCommandErr := readBuffer.ReadBit("systemCommand")
+systemCommand, _systemCommandErr := readBuffer.ReadBit("systemCommand")
 	if _systemCommandErr != nil {
 		return nil, errors.Wrap(_systemCommandErr, "Error parsing 'systemCommand' field")
 	}
 
 	// Simple Field (adsCommand)
-	adsCommand, _adsCommandErr := readBuffer.ReadBit("adsCommand")
+adsCommand, _adsCommandErr := readBuffer.ReadBit("adsCommand")
 	if _adsCommandErr != nil {
 		return nil, errors.Wrap(_adsCommandErr, "Error parsing 'adsCommand' field")
 	}
 
 	// Simple Field (noReturn)
-	noReturn, _noReturnErr := readBuffer.ReadBit("noReturn")
+noReturn, _noReturnErr := readBuffer.ReadBit("noReturn")
 	if _noReturnErr != nil {
 		return nil, errors.Wrap(_noReturnErr, "Error parsing 'noReturn' field")
 	}
 
 	// Simple Field (response)
-	response, _responseErr := readBuffer.ReadBit("response")
+response, _responseErr := readBuffer.ReadBit("response")
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field")
 	}
 
 	// Simple Field (broadcast)
-	broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
+broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
 	if _broadcastErr != nil {
 		return nil, errors.Wrap(_broadcastErr, "Error parsing 'broadcast' field")
 	}
@@ -180,7 +183,7 @@ func StateParse(readBuffer utils.ReadBuffer) (*State, error) {
 		if reserved != int8(0x0) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": int8(0x0),
-				"got value":      reserved,
+				"got value": reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -194,7 +197,7 @@ func StateParse(readBuffer utils.ReadBuffer) (*State, error) {
 }
 
 func (m *State) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr := writeBuffer.PushContext("State"); pushErr != nil {
+	if pushErr :=writeBuffer.PushContext("State"); pushErr != nil {
 		return pushErr
 	}
 
@@ -283,3 +286,6 @@ func (m *State) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
+
+
+
diff --git a/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec b/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
index cf6f7ea..267a01c 100644
--- a/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
+++ b/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
@@ -589,7 +589,7 @@
             [simple   uint 16                         'cmInitiatorActivityTimeoutFactor'                       ]
             [simple   uint 16                         'cmInitiatorUdpRtPort'                                   ]
             [implicit uint 16                         'stationNameLength'     'STR_LEN(cmInitiatorStationName)']
-            [simple   vstring 'stationNameLength * 8' 'cmInitiatorStationName'                                 ]
+            [simple   vstring                'stationNameLength * 8' 'cmInitiatorStationName'         ]
         ]
         ['AR_BLOCK_RES' PnIoCm_Block_ArRes
             [simple   PnIoCm_ArType          'arType'                                                 ]

[plc4x] 04/04: - Refactored the endianess handling toward usage of byteOrder attributes (WIP: Go currently doesn't build)

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit a47855bdbfd7e70b26bdcc885501ab1676c8333f
Author: cdutz <ch...@c-ware.de>
AuthorDate: Tue Oct 5 19:03:23 2021 +0200

    - Refactored the endianess handling toward usage of byteOrder attributes (WIP: Go currently doesn't build)
---
 .../resources/templates/go/model-template.go.ftlh  |   3 -
 .../templates/java/data-io-template.java.ftlh      |   7 +-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |   2 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |   2 +-
 .../testing/protocols/ads/DriverTestsuite.xml      |   2 +-
 .../protocols/ads/ParserSerializerTestsuite.xml    |   2 +-
 .../protocols/df1/ParserSerializerTestsuite.xml    |   2 +-
 .../testing/protocols/eip/DriverTestsuite.xml      |   2 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |   3 +-
 .../firmata/ParserSerializerTestsuite.xml          |   3 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |   3 +-
 .../testing/protocols/modbus/DriverTestsuite.xml   |   2 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |   3 +-
 .../testing/protocols/s7/DriverTestsuite.xml       |   2 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   3 +-
 .../plc4go/abeth/readwrite/XmlParserHelper.go      |  36 +-
 .../model/CIPEncapsulationConnectionRequest.go     |   9 +-
 .../model/CIPEncapsulationConnectionResponse.go    |   9 +-
 .../readwrite/model/CIPEncapsulationPacket.go      |  49 +-
 .../readwrite/model/CIPEncapsulationReadRequest.go |  39 +-
 .../model/CIPEncapsulationReadResponse.go          |  39 +-
 .../readwrite/model/DF1CommandRequestMessage.go    |  39 +-
 ...mandResponseMessageProtectedTypedLogicalRead.go |  43 +-
 .../abeth/readwrite/model/DF1RequestCommand.go     |  17 +-
 .../abeth/readwrite/model/DF1RequestMessage.go     |  41 +-
 .../model/DF1RequestProtectedTypedLogicalRead.go   | 119 ++--
 .../abeth/readwrite/model/DF1ResponseMessage.go    |  41 +-
 plc4go/internal/plc4go/ads/fieldtype_string.go     |  17 -
 .../plc4go/ads/readwrite/XmlParserHelper.go        |  68 +-
 .../model/AdsAddDeviceNotificationRequest.go       | 157 +++--
 .../model/AdsAddDeviceNotificationResponse.go      |  63 +-
 .../internal/plc4go/ads/readwrite/model/AdsData.go |  89 ++-
 .../plc4go/ads/readwrite/model/AdsDataType.go      | 654 ++++++++++--------
 .../model/AdsDeleteDeviceNotificationRequest.go    |  33 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |  35 +-
 .../model/AdsDeviceNotificationRequest.go          |  89 ++-
 .../model/AdsDeviceNotificationResponse.go         |  11 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |  11 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |  11 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |  21 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |  77 +--
 .../model/AdsMultiRequestItemReadWrite.go          |  93 ++-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |  71 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |  22 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |  11 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   | 133 ++--
 .../plc4go/ads/readwrite/model/AdsReadRequest.go   |  77 +--
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |  79 +--
 .../ads/readwrite/model/AdsReadStateRequest.go     |  11 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |  85 ++-
 .../ads/readwrite/model/AdsReadWriteRequest.go     | 163 +++--
 .../ads/readwrite/model/AdsReadWriteResponse.go    |  79 +--
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |  24 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |  99 ++-
 .../ads/readwrite/model/AdsWriteControlResponse.go |  35 +-
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |  99 ++-
 .../plc4go/ads/readwrite/model/AdsWriteResponse.go |  35 +-
 .../plc4go/ads/readwrite/model/AmsNetId.go         |  34 +-
 .../plc4go/ads/readwrite/model/AmsPacket.go        |  50 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |  44 +-
 .../plc4go/ads/readwrite/model/AmsSerialFrame.go   |  48 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |  44 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |  14 +-
 .../plc4go/ads/readwrite/model/CommandId.go        |  63 +-
 .../plc4go/ads/readwrite/model/DataItem.go         | 691 +++++++++----------
 .../ads/readwrite/model/ReservedIndexGroups.go     | 183 +++--
 .../plc4go/ads/readwrite/model/ReturnCode.go       | 735 ++++++++++-----------
 .../internal/plc4go/ads/readwrite/model/State.go   |  64 +-
 plc4go/internal/plc4go/modbus/fieldtype_string.go  |  17 -
 plc4go/internal/plc4go/s7/fieldtype_string.go      |  17 -
 .../plc4go/spi/testutils/steptype_string.go        |  17 -
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |  14 +-
 .../protocol/ads/ManualParserSerializerTest.java   |   3 +-
 .../generic/protocol/GenericCANProtocolLogic.java  |  10 +-
 .../canopen/CANOpenConversationBase.java           |   3 +-
 .../canopen/SDODownloadConversation.java           |   3 +-
 .../canopen/protocol/CANOpenProtocolLogic.java     |   4 +-
 .../canopen/transport/CANOpenFrameDataHandler.java |   3 +-
 .../plc4x/java/canopen/ManualParserTest.java       |   5 +-
 .../transport/IdentityCANOpenFrameBuilder.java     |   3 +-
 .../eip/readwrite/protocol/EipProtocolLogic.java   |   6 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |   4 +-
 .../java/opcua/context/EncryptionHandler.java      |   8 +-
 .../plc4x/java/opcua/context/SecureChannel.java    |  34 +-
 .../java/opcua/protocol/OpcuaProtocolLogic.java    |  12 +-
 .../opcua/protocol/OpcuaSubscriptionHandle.java    |  12 +-
 .../apache/plc4x/java/profinet/ProfinetPoc.java    |  74 ++-
 .../s7/src/test/resources/tests/PLC4X-272.xml      |   2 +-
 .../java/simulated/connection/SimulatedDevice.java |   3 +-
 .../spi/GeneratedDriverByteToMessageCodec.java     |  10 +-
 .../connection/CustomProtocolStackConfigurer.java  |  25 +-
 .../connection/GeneratedProtocolMessageCodec.java  |   4 +-
 .../connection/SingleProtocolStackConfigurer.java  |  25 +-
 .../plc4x/java/spi/generation/ByteOrder.java       |  24 +
 .../java/spi/generation/ReadBufferByteBased.java   |  22 +-
 .../java/spi/generation/WriteBufferByteBased.java  |  30 +-
 .../transport/socketcan/SocketCANTransport.java    |   7 +-
 .../transport/virtualcan/VirtualCANTransport.java  |   7 +-
 .../test/driver/internal/DriverTestsuite.java      |   7 +-
 .../internal/DriverTestsuiteConfiguration.java     |  12 +-
 .../plc4x/test/driver/internal/TestStep.java       |   9 +-
 .../plc4x/test/driver/internal/Testcase.java       |   9 +-
 .../handlers/IncomingPlcMessageHandler.java        |  13 +-
 .../internal/handlers/OutgoingPlcBytesHandler.java |   9 +-
 .../handlers/OutgoingPlcMessageHandler.java        |   5 +-
 .../migration/MessageValidatorAndMigrator.java     |  12 +-
 .../ParserSerializerTestsuiteRunner.java           |  15 +-
 .../model/ParserSerializerTestsuite.java           |  12 +-
 .../main/resources/schemas/driver-testsuite.xsd    |   9 +-
 .../schemas/parser-serializer-testsuite.xsd        |   9 +-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |   2 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |   2 +-
 .../resources/protocols/ads/DriverTestsuite.xml    |   2 +-
 .../protocols/ads/ParserSerializerTestsuite.xml    |   2 +-
 .../protocols/canopen/CANOpenDriverSDOIT.xml       |   2 +-
 .../protocols/canopen/CANOpenPayloadTestSuite.xml  |   3 +-
 .../canopen/CANOpenWiresharkTestSuite.xml          |   3 +-
 .../protocols/df1/ParserSerializerTestsuite.xml    |   2 +-
 .../resources/protocols/eip/DriverTestsuite.xml    |   2 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |   3 +-
 .../firmata/ParserSerializerTestsuite.xml          |   3 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |   3 +-
 .../resources/protocols/modbus/DriverTestsuite.xml |   2 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |   3 +-
 .../resources/protocols/profinet/profinet.mspec    | 211 +++---
 .../resources/protocols/s7/DriverTestsuite.xml     |   2 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   3 +-
 protocols/socketcan/pom.xml                        |   2 +-
 .../plc4x/simulator/server/s7/S7ServerModule.java  |   3 +-
 .../plc4x/java/df1/protocol/Df1Protocol.java       |   4 +-
 .../org/apache/plc4x/java/df1/util/DF1Utils.java   |   2 +-
 131 files changed, 2792 insertions(+), 2942 deletions(-)

diff --git a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
index 9e4ae92..4d9cc96 100644
--- a/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -840,7 +840,6 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 	var ${optionalField.name} *${helper.getLanguageTypeNameForField(field)} = nil
 	<#if optionalField.conditionExpression.present>
 	if ${helper.toBooleanParseExpression(optionalField.conditionExpression.get(), parserArguments)} </#if>{
-    </#if>
 			<#if helper.isSimpleTypeReference(optionalField.type)>
 		_val, _err := ${helper.getReadBufferReadMethodCall(optionalField.name, optionalField.type.asSimpleTypeReference().orElseThrow())}
 		if _err != nil {
@@ -891,9 +890,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 		}
 		${optionalField.name} = Cast${helper.getLanguageTypeNameForField(field)}(_val)
 			</#if>
-	<#if optionalField.conditionExpression.present>
 	}
-	</#if>
 			<#break>
 			<#case "assert">
 				<#assign assertField = field.asAssertField().orElseThrow()>
diff --git a/code-generation/language-java/src/main/resources/templates/java/data-io-template.java.ftlh b/code-generation/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
index 9aa469c..25ebc58 100644
--- a/code-generation/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
+++ b/code-generation/language-java/src/main/resources/templates/java/data-io-template.java.ftlh
@@ -54,6 +54,7 @@ import org.apache.plc4x.java.spi.generation.EvaluationHelper;
 import org.apache.plc4x.java.spi.generation.ParseException;
 import org.apache.plc4x.java.spi.generation.ReadBuffer;
 import org.apache.plc4x.java.spi.generation.WriteBufferByteBased;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import ${helper.packageName(protocolName, languageName, outputFlavor)}.*;
 import ${helper.packageName(protocolName, languageName, outputFlavor)}.types.*;
 import org.apache.plc4x.java.spi.values.*;
@@ -337,14 +338,14 @@ public class ${type.name}IO {
 
 <#if outputFlavor != "passive">
     public static WriteBufferByteBased staticSerialize(PlcValue _value<#if type.parserArguments.isPresent()>, <#list type.parserArguments.orElseThrow() as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
-        return staticSerialize(_value<#if type.parserArguments.isPresent()>, <#list type.parserArguments.orElseThrow() as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>, false);
+        return staticSerialize(_value<#if type.parserArguments.isPresent()>, <#list type.parserArguments.orElseThrow() as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>, ByteOrder.BIG_ENDIAN);
     }
 
-    public static WriteBufferByteBased staticSerialize(PlcValue _value<#if type.parserArguments.isPresent()>, <#list type.parserArguments.orElseThrow() as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>, boolean littleEndian) throws ParseException {
+    public static WriteBufferByteBased staticSerialize(PlcValue _value<#if type.parserArguments.isPresent()>, <#list type.parserArguments.orElseThrow() as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>, ByteOrder byteOrder) throws ParseException {
         <#assign defaultCaseOutput=false>
         <#assign dataIoTypeDefinition=type.asDataIoTypeDefinition().orElseThrow()>
         <#list dataIoTypeDefinition.switchField.cases as case><#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, dataIoTypeDefinition.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments.orElseThrow())},<#if helper.discriminatorValueNeedsStringEqualityCheck(dataIoTypeDefinition.switchField.discriminatorExpressions[discriminatorValue?index])>"${discrimin [...]
-        WriteBufferByteBased writeBuffer = new WriteBufferByteBased((int) Math.ceil(((float) ${helper.getSizeInBits(case,parserArguments)}) / 8.0f), littleEndian);
+        WriteBufferByteBased writeBuffer = new WriteBufferByteBased((int) Math.ceil(((float) ${helper.getSizeInBits(case,parserArguments)}) / 8.0f), byteOrder);
 
             <#list case.fields as field>
                 <#switch field.typeName>
diff --git a/plc4go/assets/testing/protocols/abeth/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/abeth/ParserSerializerTestsuite.xml
index 6c77b1d..e1a44f2 100644
--- a/plc4go/assets/testing/protocols/abeth/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/abeth/ParserSerializerTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
-                bigEndian="true">
+                byteOrder="BIG_ENDIAN">
 
   <name>Allen-Bradley ETH</name>
 
diff --git a/plc4go/assets/testing/protocols/ads/AdsDiscoverySerializerTest.xml b/plc4go/assets/testing/protocols/ads/AdsDiscoverySerializerTest.xml
index bad873f..9dbca85 100644
--- a/plc4go/assets/testing/protocols/ads/AdsDiscoverySerializerTest.xml
+++ b/plc4go/assets/testing/protocols/ads/AdsDiscoverySerializerTest.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
-                bigEndian="true">
+                byteOrder="BIG_ENDIAN">
 
   <name>Beckhoff ADS/AMS Discovery</name>
 
diff --git a/plc4go/assets/testing/protocols/ads/DriverTestsuite.xml b/plc4go/assets/testing/protocols/ads/DriverTestsuite.xml
index b10a23f..bb509cb 100644
--- a/plc4go/assets/testing/protocols/ads/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/ads/DriverTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:driver-testsuite xmlns:test="https://plc4x.apache.org/schemas/driver-testsuite.xsd"
-                       bigEndian="false">
+                       byteOrder="LITTLE_ENDIAN">
 
   <name>Beckhoff ADS/AMS</name>
 
diff --git a/plc4go/assets/testing/protocols/ads/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/ads/ParserSerializerTestsuite.xml
index 6fcac92..8f6e507 100644
--- a/plc4go/assets/testing/protocols/ads/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/ads/ParserSerializerTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
-                bigEndian="false">
+                byteOrder="LITTLE_ENDIAN">
 
   <name>Beckhoff ADS/AMS</name>
 
diff --git a/plc4go/assets/testing/protocols/df1/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/df1/ParserSerializerTestsuite.xml
index 321f16e..d5da206 100644
--- a/plc4go/assets/testing/protocols/df1/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/df1/ParserSerializerTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
-                bigEndian="true">
+                byteOrder="BIG_ENDIAN">
 
   <name>Allen-Bradley DF1</name>
 
diff --git a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
index ed1251c..9a8d39c 100644
--- a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:driver-testsuite xmlns:test="https://plc4x.apache.org/schemas/driver-testsuite.xsd"
-                       bigEndian="false">
+                       byteOrder="LITTLE_ENDIAN">
 
   <name>EIP</name>
 
diff --git a/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
index dffc33a..e0d1333 100644
--- a/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
@@ -17,7 +17,8 @@
   specific language governing permissions and limitations
   under the License.
   -->
-<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd" bigEndian="true">
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="BIG_ENDIAN">
 
   <name>EIP</name>
 
diff --git a/plc4go/assets/testing/protocols/firmata/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/firmata/ParserSerializerTestsuite.xml
index 32ab0f0..f60d647 100644
--- a/plc4go/assets/testing/protocols/firmata/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/firmata/ParserSerializerTestsuite.xml
@@ -17,7 +17,8 @@
   specific language governing permissions and limitations
   under the License.
   -->
-<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd" bigEndian="true">
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="BIG_ENDIAN">
 
   <name>Firmata</name>
 
diff --git a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
index bc38437..05588e5 100644
--- a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
@@ -17,7 +17,8 @@
   specific language governing permissions and limitations
   under the License.
   -->
-<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd" bigEndian="true">
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="BIG_ENDIAN">
 
   <name>KNXNet/IP</name>
 
diff --git a/plc4go/assets/testing/protocols/modbus/DriverTestsuite.xml b/plc4go/assets/testing/protocols/modbus/DriverTestsuite.xml
index eaeec42..9093dec 100644
--- a/plc4go/assets/testing/protocols/modbus/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/modbus/DriverTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:driver-testsuite xmlns:test="https://plc4x.apache.org/schemas/driver-testsuite.xsd"
-                       bigEndian="true">
+                       byteOrder="BIG_ENDIAN">
 
   <!-- https://base64.guru/converter/encode/hex -->
 
diff --git a/plc4go/assets/testing/protocols/modbus/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/modbus/ParserSerializerTestsuite.xml
index ba9679a..3031f5c 100644
--- a/plc4go/assets/testing/protocols/modbus/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/modbus/ParserSerializerTestsuite.xml
@@ -17,7 +17,8 @@
   specific language governing permissions and limitations
   under the License.
   -->
-<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd" bigEndian="true">
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="BIG_ENDIAN">
 
   <name>Modbus</name>
 
diff --git a/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml b/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
index 026b020..dceb88a 100644
--- a/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:driver-testsuite xmlns:test="https://plc4x.apache.org/schemas/driver-testsuite.xsd"
-                       bigEndian="true">
+                       byteOrder="BIG_ENDIAN">
 
   <name>S7</name>
 
diff --git a/plc4go/assets/testing/protocols/s7/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/s7/ParserSerializerTestsuite.xml
index 74cd661..3119fc0 100644
--- a/plc4go/assets/testing/protocols/s7/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/s7/ParserSerializerTestsuite.xml
@@ -17,7 +17,8 @@
   specific language governing permissions and limitations
   under the License.
   -->
-<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd" bigEndian="true">
+<test:testsuite xmlns:test="https://plc4x.apache.org/schemas/parser-serializer-testsuite.xsd"
+                byteOrder="BIG_ENDIAN">
 
   <name>S7</name>
 
diff --git a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
index cd8a8eb..7e51b7b 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/abeth/readwrite/model"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
-    "strings"
-    "strconv"
+	"strconv"
+	"strings"
 )
 
 // Code generated by code-generation. DO NOT EDIT.
@@ -41,20 +41,20 @@ func init() {
 }
 
 func (m AbethXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-    switch typeName {
-        case "DF1RequestCommand":
-			return model.DF1RequestCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "DF1RequestMessage":
-			return model.DF1RequestMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "DF1ResponseMessage":
-			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
-			if err!=nil {
-				return nil, err
-			}
-			payloadLength := uint16(parsedUint0)
-            return model.DF1ResponseMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength  )
-        case "CIPEncapsulationPacket":
-			return model.CIPEncapsulationPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-    }
-    return nil, errors.Errorf("Unsupported type %s", typeName)
+	switch typeName {
+	case "DF1RequestCommand":
+		return model.DF1RequestCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "DF1RequestMessage":
+		return model.DF1RequestMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "DF1ResponseMessage":
+		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
+		if err != nil {
+			return nil, err
+		}
+		payloadLength := uint16(parsedUint0)
+		return model.DF1ResponseMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength)
+	case "CIPEncapsulationPacket":
+		return model.CIPEncapsulationPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	}
+	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index 4980903..6c8c64e 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type CIPEncapsulationConnectionRequest struct {
@@ -46,7 +44,6 @@ func (m *CIPEncapsulationConnectionRequest) CommandType() uint16 {
 	return 0x0101
 }
 
-
 func (m *CIPEncapsulationConnectionRequest) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -95,7 +92,6 @@ func (m *CIPEncapsulationConnectionRequest) LengthInBitsConditional(lastItem boo
 	return lengthInBits
 }
 
-
 func (m *CIPEncapsulationConnectionRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -139,6 +135,3 @@ func (m *CIPEncapsulationConnectionRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index 77e7c4e..e4b8546 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type CIPEncapsulationConnectionResponse struct {
@@ -46,7 +44,6 @@ func (m *CIPEncapsulationConnectionResponse) CommandType() uint16 {
 	return 0x0201
 }
 
-
 func (m *CIPEncapsulationConnectionResponse) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -95,7 +92,6 @@ func (m *CIPEncapsulationConnectionResponse) LengthInBitsConditional(lastItem bo
 	return lengthInBits
 }
 
-
 func (m *CIPEncapsulationConnectionResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -139,6 +135,3 @@ func (m *CIPEncapsulationConnectionResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
index 97fc214..1111635 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type CIPEncapsulationPacket struct {
 	SessionHandle uint32
-	Status uint32
+	Status        uint32
 	SenderContext []uint8
-	Options uint32
-	Child ICIPEncapsulationPacketChild
+	Options       uint32
+	Child         ICIPEncapsulationPacketChild
 }
 
 // The corresponding interface
@@ -90,24 +88,24 @@ func (m *CIPEncapsulationPacket) LengthInBitsConditional(lastItem bool) uint16 {
 func (m *CIPEncapsulationPacket) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (commandType)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Implicit Field (len)
 	lengthInBits += 16
 
 	// Simple field (sessionHandle)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (status)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Array field
 	if len(m.SenderContext) > 0 {
 		lengthInBits += 8 * uint16(len(m.SenderContext))
-				}
+	}
 
 	// Simple field (options)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Reserved Field (reserved)
 	lengthInBits += 32
@@ -127,7 +125,7 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	// Discriminator Field (commandType) (Used as input to a switch field)
 	commandType, _commandTypeErr := readBuffer.ReadUint16("commandType", 16)
 	if _commandTypeErr != nil {
-	return nil, errors.Wrap(_commandTypeErr, "Error parsing 'commandType' field")
+		return nil, errors.Wrap(_commandTypeErr, "Error parsing 'commandType' field")
 	}
 
 	// Implicit Field (len) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
@@ -138,13 +136,13 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (*CIPEncapsulation
 	}
 
 	// Simple Field (sessionHandle)
-sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
+	sessionHandle, _sessionHandleErr := readBuffer.ReadUint32("sessionHandle", 32)
 	if _sessionHandleErr != nil {
 		return nil, errors.Wrap(_sessionHandleErr, "Error parsing 'sessionHandle' field")
 	}
 
 	// Simple Field (status)
-status, _statusErr := readBuffer.ReadUint32("status", 32)
+	status, _statusErr := readBuffer.ReadUint32("status", 32)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
@@ -167,7 +165,7 @@ status, _statusErr := readBuffer.ReadUint32("status", 32)
 	}
 
 	// Simple Field (options)
-options, _optionsErr := readBuffer.ReadUint32("options", 32)
+	options, _optionsErr := readBuffer.ReadUint32("options", 32)
 	if _optionsErr != nil {
 		return nil, errors.Wrap(_optionsErr, "Error parsing 'options' field")
 	}
@@ -181,7 +179,7 @@ options, _optionsErr := readBuffer.ReadUint32("options", 32)
 		if reserved != uint32(0x00000000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint32(0x00000000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -190,13 +188,13 @@ options, _optionsErr := readBuffer.ReadUint32("options", 32)
 	var _parent *CIPEncapsulationPacket
 	var typeSwitchError error
 	switch {
-case commandType == 0x0101 : // CIPEncapsulationConnectionRequest
-		_parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer, )
-case commandType == 0x0201 : // CIPEncapsulationConnectionResponse
-		_parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer, )
-case commandType == 0x0107 : // CIPEncapsulationReadRequest
-		_parent, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer, )
-case commandType == 0x0207 : // CIPEncapsulationReadResponse
+	case commandType == 0x0101: // CIPEncapsulationConnectionRequest
+		_parent, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer)
+	case commandType == 0x0201: // CIPEncapsulationConnectionResponse
+		_parent, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer)
+	case commandType == 0x0107: // CIPEncapsulationReadRequest
+		_parent, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer)
+	case commandType == 0x0207: // CIPEncapsulationReadResponse
 		_parent, typeSwitchError = CIPEncapsulationReadResponseParse(readBuffer, len)
 	default:
 		// TODO: return actual type
@@ -220,7 +218,7 @@ func (m *CIPEncapsulationPacket) Serialize(writeBuffer utils.WriteBuffer) error
 }
 
 func (m *CIPEncapsulationPacket) SerializeParent(writeBuffer utils.WriteBuffer, child ICIPEncapsulationPacket, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("CIPEncapsulationPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -304,6 +302,3 @@ func (m *CIPEncapsulationPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index 99e95cd..afa9253 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type CIPEncapsulationReadRequest struct {
 	Request *DF1RequestMessage
-	Parent *CIPEncapsulationPacket
+	Parent  *CIPEncapsulationPacket
 }
 
 // The corresponding interface
@@ -48,7 +46,6 @@ func (m *CIPEncapsulationReadRequest) CommandType() uint16 {
 	return 0x0107
 }
 
-
 func (m *CIPEncapsulationReadRequest) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -59,7 +56,7 @@ func (m *CIPEncapsulationReadRequest) InitializeParent(parent *CIPEncapsulationP
 func NewCIPEncapsulationReadRequest(request *DF1RequestMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationReadRequest{
 		Request: request,
-		Parent: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Parent:  NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -101,7 +98,6 @@ func (m *CIPEncapsulationReadRequest) LengthInBitsConditional(lastItem bool) uin
 	return lengthInBits
 }
 
-
 func (m *CIPEncapsulationReadRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -115,7 +111,7 @@ func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (*CIPEncapsul
 	if pullErr := readBuffer.PullContext("request"); pullErr != nil {
 		return nil, pullErr
 	}
-request, _requestErr := DF1RequestMessageParse(readBuffer)
+	request, _requestErr := DF1RequestMessageParse(readBuffer)
 	if _requestErr != nil {
 		return nil, errors.Wrap(_requestErr, "Error parsing 'request' field")
 	}
@@ -130,7 +126,7 @@ request, _requestErr := DF1RequestMessageParse(readBuffer)
 	// Create a partially initialized instance
 	_child := &CIPEncapsulationReadRequest{
 		Request: CastDF1RequestMessage(request),
-		Parent: &CIPEncapsulationPacket{},
+		Parent:  &CIPEncapsulationPacket{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -142,17 +138,17 @@ func (m *CIPEncapsulationReadRequest) Serialize(writeBuffer utils.WriteBuffer) e
 			return pushErr
 		}
 
-	// Simple Field (request)
-	if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
-		return pushErr
-	}
-	_requestErr := m.Request.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("request"); popErr != nil {
-		return popErr
-	}
-	if _requestErr != nil {
-		return errors.Wrap(_requestErr, "Error serializing 'request' field")
-	}
+		// Simple Field (request)
+		if pushErr := writeBuffer.PushContext("request"); pushErr != nil {
+			return pushErr
+		}
+		_requestErr := m.Request.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("request"); popErr != nil {
+			return popErr
+		}
+		if _requestErr != nil {
+			return errors.Wrap(_requestErr, "Error serializing 'request' field")
+		}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadRequest"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *CIPEncapsulationReadRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index 820c44f..a95ec22 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type CIPEncapsulationReadResponse struct {
 	Response *DF1ResponseMessage
-	Parent *CIPEncapsulationPacket
+	Parent   *CIPEncapsulationPacket
 }
 
 // The corresponding interface
@@ -48,7 +46,6 @@ func (m *CIPEncapsulationReadResponse) CommandType() uint16 {
 	return 0x0207
 }
 
-
 func (m *CIPEncapsulationReadResponse) InitializeParent(parent *CIPEncapsulationPacket, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) {
 	m.Parent.SessionHandle = sessionHandle
 	m.Parent.Status = status
@@ -59,7 +56,7 @@ func (m *CIPEncapsulationReadResponse) InitializeParent(parent *CIPEncapsulation
 func NewCIPEncapsulationReadResponse(response *DF1ResponseMessage, sessionHandle uint32, status uint32, senderContext []uint8, options uint32) *CIPEncapsulationPacket {
 	child := &CIPEncapsulationReadResponse{
 		Response: response,
-		Parent: NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
+		Parent:   NewCIPEncapsulationPacket(sessionHandle, status, senderContext, options),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -101,7 +98,6 @@ func (m *CIPEncapsulationReadResponse) LengthInBitsConditional(lastItem bool) ui
 	return lengthInBits
 }
 
-
 func (m *CIPEncapsulationReadResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -115,7 +111,7 @@ func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, len uint16)
 	if pullErr := readBuffer.PullContext("response"); pullErr != nil {
 		return nil, pullErr
 	}
-response, _responseErr := DF1ResponseMessageParse(readBuffer , len )
+	response, _responseErr := DF1ResponseMessageParse(readBuffer, len)
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field")
 	}
@@ -130,7 +126,7 @@ response, _responseErr := DF1ResponseMessageParse(readBuffer , len )
 	// Create a partially initialized instance
 	_child := &CIPEncapsulationReadResponse{
 		Response: CastDF1ResponseMessage(response),
-		Parent: &CIPEncapsulationPacket{},
+		Parent:   &CIPEncapsulationPacket{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -142,17 +138,17 @@ func (m *CIPEncapsulationReadResponse) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-	// Simple Field (response)
-	if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
-		return pushErr
-	}
-	_responseErr := m.Response.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("response"); popErr != nil {
-		return popErr
-	}
-	if _responseErr != nil {
-		return errors.Wrap(_responseErr, "Error serializing 'response' field")
-	}
+		// Simple Field (response)
+		if pushErr := writeBuffer.PushContext("response"); pushErr != nil {
+			return pushErr
+		}
+		_responseErr := m.Response.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("response"); popErr != nil {
+			return popErr
+		}
+		if _responseErr != nil {
+			return errors.Wrap(_responseErr, "Error serializing 'response' field")
+		}
 
 		if popErr := writeBuffer.PopContext("CIPEncapsulationReadResponse"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *CIPEncapsulationReadResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
index 38b1368..b00ee3c 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1CommandRequestMessage struct {
 	Command *DF1RequestCommand
-	Parent *DF1RequestMessage
+	Parent  *DF1RequestMessage
 }
 
 // The corresponding interface
@@ -48,7 +46,6 @@ func (m *DF1CommandRequestMessage) CommandCode() uint8 {
 	return 0x0F
 }
 
-
 func (m *DF1CommandRequestMessage) InitializeParent(parent *DF1RequestMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
 	m.Parent.DestinationAddress = destinationAddress
 	m.Parent.SourceAddress = sourceAddress
@@ -59,7 +56,7 @@ func (m *DF1CommandRequestMessage) InitializeParent(parent *DF1RequestMessage, d
 func NewDF1CommandRequestMessage(command *DF1RequestCommand, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1RequestMessage {
 	child := &DF1CommandRequestMessage{
 		Command: command,
-		Parent: NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
+		Parent:  NewDF1RequestMessage(destinationAddress, sourceAddress, status, transactionCounter),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -101,7 +98,6 @@ func (m *DF1CommandRequestMessage) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
-
 func (m *DF1CommandRequestMessage) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -115,7 +111,7 @@ func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMess
 	if pullErr := readBuffer.PullContext("command"); pullErr != nil {
 		return nil, pullErr
 	}
-command, _commandErr := DF1RequestCommandParse(readBuffer)
+	command, _commandErr := DF1RequestCommandParse(readBuffer)
 	if _commandErr != nil {
 		return nil, errors.Wrap(_commandErr, "Error parsing 'command' field")
 	}
@@ -130,7 +126,7 @@ command, _commandErr := DF1RequestCommandParse(readBuffer)
 	// Create a partially initialized instance
 	_child := &DF1CommandRequestMessage{
 		Command: CastDF1RequestCommand(command),
-		Parent: &DF1RequestMessage{},
+		Parent:  &DF1RequestMessage{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -142,17 +138,17 @@ func (m *DF1CommandRequestMessage) Serialize(writeBuffer utils.WriteBuffer) erro
 			return pushErr
 		}
 
-	// Simple Field (command)
-	if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
-		return pushErr
-	}
-	_commandErr := m.Command.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("command"); popErr != nil {
-		return popErr
-	}
-	if _commandErr != nil {
-		return errors.Wrap(_commandErr, "Error serializing 'command' field")
-	}
+		// Simple Field (command)
+		if pushErr := writeBuffer.PushContext("command"); pushErr != nil {
+			return pushErr
+		}
+		_commandErr := m.Command.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("command"); popErr != nil {
+			return popErr
+		}
+		if _commandErr != nil {
+			return errors.Wrap(_commandErr, "Error serializing 'command' field")
+		}
 
 		if popErr := writeBuffer.PopContext("DF1CommandRequestMessage"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *DF1CommandRequestMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index 840504b..a56801a 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -19,18 +19,16 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1CommandResponseMessageProtectedTypedLogicalRead struct {
-	Data []uint8
+	Data   []uint8
 	Parent *DF1ResponseMessage
 }
 
@@ -48,7 +46,6 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) CommandCode() uint8
 	return 0x4F
 }
 
-
 func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(parent *DF1ResponseMessage, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) {
 	m.Parent.DestinationAddress = destinationAddress
 	m.Parent.SourceAddress = sourceAddress
@@ -58,7 +55,7 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) InitializeParent(pa
 
 func NewDF1CommandResponseMessageProtectedTypedLogicalRead(data []uint8, destinationAddress uint8, sourceAddress uint8, status uint8, transactionCounter uint16) *DF1ResponseMessage {
 	child := &DF1CommandResponseMessageProtectedTypedLogicalRead{
-		Data: data,
+		Data:   data,
 		Parent: NewDF1ResponseMessage(destinationAddress, sourceAddress, status, transactionCounter),
 	}
 	child.Parent.Child = child
@@ -103,7 +100,6 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) LengthInBitsConditi
 	return lengthInBits
 }
 
-
 func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -121,7 +117,7 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.Re
 	data := make([]uint8, 0)
 	_dataLength := uint16(payloadLength) - uint16(uint16(8))
 	_dataEndPos := readBuffer.GetPos() + uint16(_dataLength)
-	for ;readBuffer.GetPos() < _dataEndPos; {
+	for readBuffer.GetPos() < _dataEndPos {
 		_item, _err := readBuffer.ReadUint8("", 8)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'data' field")
@@ -138,7 +134,7 @@ func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.Re
 
 	// Create a partially initialized instance
 	_child := &DF1CommandResponseMessageProtectedTypedLogicalRead{
-		Data: data,
+		Data:   data,
 		Parent: &DF1ResponseMessage{},
 	}
 	_child.Parent.Child = _child
@@ -151,21 +147,21 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) Serialize(writeBuff
 			return pushErr
 		}
 
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
-		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteUint8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteUint8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); popErr != nil {
 			return popErr
@@ -183,6 +179,3 @@ func (m *DF1CommandResponseMessageProtectedTypedLogicalRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
index 37822c8..29ef3b3 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1RequestCommand struct {
@@ -85,7 +83,7 @@ func (m *DF1RequestCommand) LengthInBitsConditional(lastItem bool) uint16 {
 func (m *DF1RequestCommand) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 	// Discriminator Field (functionCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
@@ -102,15 +100,15 @@ func DF1RequestCommandParse(readBuffer utils.ReadBuffer) (*DF1RequestCommand, er
 	// Discriminator Field (functionCode) (Used as input to a switch field)
 	functionCode, _functionCodeErr := readBuffer.ReadUint8("functionCode", 8)
 	if _functionCodeErr != nil {
-	return nil, errors.Wrap(_functionCodeErr, "Error parsing 'functionCode' field")
+		return nil, errors.Wrap(_functionCodeErr, "Error parsing 'functionCode' field")
 	}
 
 	// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
 	var _parent *DF1RequestCommand
 	var typeSwitchError error
 	switch {
-case functionCode == 0xA2 : // DF1RequestProtectedTypedLogicalRead
-		_parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer, )
+	case functionCode == 0xA2: // DF1RequestProtectedTypedLogicalRead
+		_parent, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer)
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -133,7 +131,7 @@ func (m *DF1RequestCommand) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1RequestCommand) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestCommand, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1RequestCommand"); pushErr != nil {
 		return pushErr
 	}
 
@@ -165,6 +163,3 @@ func (m *DF1RequestCommand) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
index 078f79e..3200b90 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1RequestMessage struct {
 	DestinationAddress uint8
-	SourceAddress uint8
-	Status uint8
+	SourceAddress      uint8
+	Status             uint8
 	TransactionCounter uint16
-	Child IDF1RequestMessageChild
+	Child              IDF1RequestMessageChild
 }
 
 // The corresponding interface
@@ -91,21 +89,21 @@ func (m *DF1RequestMessage) ParentLengthInBits() uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Reserved Field (reserved)
 	lengthInBits += 16
 	// Discriminator Field (commandCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (status)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
@@ -120,13 +118,13 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (*DF1RequestMessage, er
 	}
 
 	// Simple Field (destinationAddress)
-destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+	destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
 	}
 
 	// Simple Field (sourceAddress)
-sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+	sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
 	}
@@ -140,7 +138,7 @@ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 		if reserved != uint16(0x0000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -148,17 +146,17 @@ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	// Discriminator Field (commandCode) (Used as input to a switch field)
 	commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
 	if _commandCodeErr != nil {
-	return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
+		return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
 	}
 
 	// Simple Field (status)
-status, _statusErr := readBuffer.ReadUint8("status", 8)
+	status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
 
 	// Simple Field (transactionCounter)
-transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+	transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
 	}
@@ -167,8 +165,8 @@ transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transaction
 	var _parent *DF1RequestMessage
 	var typeSwitchError error
 	switch {
-case commandCode == 0x0F : // DF1CommandRequestMessage
-		_parent, typeSwitchError = DF1CommandRequestMessageParse(readBuffer, )
+	case commandCode == 0x0F: // DF1CommandRequestMessage
+		_parent, typeSwitchError = DF1CommandRequestMessageParse(readBuffer)
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -191,7 +189,7 @@ func (m *DF1RequestMessage) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1RequestMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1RequestMessage, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1RequestMessage"); pushErr != nil {
 		return pushErr
 	}
 
@@ -259,6 +257,3 @@ func (m *DF1RequestMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 1faa63a..0f4f142 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1RequestProtectedTypedLogicalRead struct {
-	ByteSize uint8
-	FileNumber uint8
-	FileType uint8
-	ElementNumber uint8
+	ByteSize         uint8
+	FileNumber       uint8
+	FileType         uint8
+	ElementNumber    uint8
 	SubElementNumber uint8
-	Parent *DF1RequestCommand
+	Parent           *DF1RequestCommand
 }
 
 // The corresponding interface
@@ -52,18 +50,17 @@ func (m *DF1RequestProtectedTypedLogicalRead) FunctionCode() uint8 {
 	return 0xA2
 }
 
-
 func (m *DF1RequestProtectedTypedLogicalRead) InitializeParent(parent *DF1RequestCommand) {
 }
 
 func NewDF1RequestProtectedTypedLogicalRead(byteSize uint8, fileNumber uint8, fileType uint8, elementNumber uint8, subElementNumber uint8) *DF1RequestCommand {
 	child := &DF1RequestProtectedTypedLogicalRead{
-		ByteSize: byteSize,
-		FileNumber: fileNumber,
-		FileType: fileType,
-		ElementNumber: elementNumber,
+		ByteSize:         byteSize,
+		FileNumber:       fileNumber,
+		FileType:         fileType,
+		ElementNumber:    elementNumber,
 		SubElementNumber: subElementNumber,
-		Parent: NewDF1RequestCommand(),
+		Parent:           NewDF1RequestCommand(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,24 +97,23 @@ func (m *DF1RequestProtectedTypedLogicalRead) LengthInBitsConditional(lastItem b
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (byteSize)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fileNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fileType)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (elementNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (subElementNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
 
-
 func (m *DF1RequestProtectedTypedLogicalRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -128,31 +124,31 @@ func DF1RequestProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer) (*DF1
 	}
 
 	// Simple Field (byteSize)
-byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
+	byteSize, _byteSizeErr := readBuffer.ReadUint8("byteSize", 8)
 	if _byteSizeErr != nil {
 		return nil, errors.Wrap(_byteSizeErr, "Error parsing 'byteSize' field")
 	}
 
 	// Simple Field (fileNumber)
-fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
+	fileNumber, _fileNumberErr := readBuffer.ReadUint8("fileNumber", 8)
 	if _fileNumberErr != nil {
 		return nil, errors.Wrap(_fileNumberErr, "Error parsing 'fileNumber' field")
 	}
 
 	// Simple Field (fileType)
-fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
+	fileType, _fileTypeErr := readBuffer.ReadUint8("fileType", 8)
 	if _fileTypeErr != nil {
 		return nil, errors.Wrap(_fileTypeErr, "Error parsing 'fileType' field")
 	}
 
 	// Simple Field (elementNumber)
-elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
+	elementNumber, _elementNumberErr := readBuffer.ReadUint8("elementNumber", 8)
 	if _elementNumberErr != nil {
 		return nil, errors.Wrap(_elementNumberErr, "Error parsing 'elementNumber' field")
 	}
 
 	// Simple Field (subElementNumber)
-subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
+	subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber", 8)
 	if _subElementNumberErr != nil {
 		return nil, errors.Wrap(_subElementNumberErr, "Error parsing 'subElementNumber' field")
 	}
@@ -163,12 +159,12 @@ subElementNumber, _subElementNumberErr := readBuffer.ReadUint8("subElementNumber
 
 	// Create a partially initialized instance
 	_child := &DF1RequestProtectedTypedLogicalRead{
-		ByteSize: byteSize,
-		FileNumber: fileNumber,
-		FileType: fileType,
-		ElementNumber: elementNumber,
+		ByteSize:         byteSize,
+		FileNumber:       fileNumber,
+		FileType:         fileType,
+		ElementNumber:    elementNumber,
 		SubElementNumber: subElementNumber,
-		Parent: &DF1RequestCommand{},
+		Parent:           &DF1RequestCommand{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -180,40 +176,40 @@ func (m *DF1RequestProtectedTypedLogicalRead) Serialize(writeBuffer utils.WriteB
 			return pushErr
 		}
 
-	// Simple Field (byteSize)
-	byteSize := uint8(m.ByteSize)
-	_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
-	if _byteSizeErr != nil {
-		return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
-	}
+		// Simple Field (byteSize)
+		byteSize := uint8(m.ByteSize)
+		_byteSizeErr := writeBuffer.WriteUint8("byteSize", 8, (byteSize))
+		if _byteSizeErr != nil {
+			return errors.Wrap(_byteSizeErr, "Error serializing 'byteSize' field")
+		}
 
-	// Simple Field (fileNumber)
-	fileNumber := uint8(m.FileNumber)
-	_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
-	if _fileNumberErr != nil {
-		return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
-	}
+		// Simple Field (fileNumber)
+		fileNumber := uint8(m.FileNumber)
+		_fileNumberErr := writeBuffer.WriteUint8("fileNumber", 8, (fileNumber))
+		if _fileNumberErr != nil {
+			return errors.Wrap(_fileNumberErr, "Error serializing 'fileNumber' field")
+		}
 
-	// Simple Field (fileType)
-	fileType := uint8(m.FileType)
-	_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
-	if _fileTypeErr != nil {
-		return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
-	}
+		// Simple Field (fileType)
+		fileType := uint8(m.FileType)
+		_fileTypeErr := writeBuffer.WriteUint8("fileType", 8, (fileType))
+		if _fileTypeErr != nil {
+			return errors.Wrap(_fileTypeErr, "Error serializing 'fileType' field")
+		}
 
-	// Simple Field (elementNumber)
-	elementNumber := uint8(m.ElementNumber)
-	_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
-	if _elementNumberErr != nil {
-		return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
-	}
+		// Simple Field (elementNumber)
+		elementNumber := uint8(m.ElementNumber)
+		_elementNumberErr := writeBuffer.WriteUint8("elementNumber", 8, (elementNumber))
+		if _elementNumberErr != nil {
+			return errors.Wrap(_elementNumberErr, "Error serializing 'elementNumber' field")
+		}
 
-	// Simple Field (subElementNumber)
-	subElementNumber := uint8(m.SubElementNumber)
-	_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
-	if _subElementNumberErr != nil {
-		return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
-	}
+		// Simple Field (subElementNumber)
+		subElementNumber := uint8(m.SubElementNumber)
+		_subElementNumberErr := writeBuffer.WriteUint8("subElementNumber", 8, (subElementNumber))
+		if _subElementNumberErr != nil {
+			return errors.Wrap(_subElementNumberErr, "Error serializing 'subElementNumber' field")
+		}
 
 		if popErr := writeBuffer.PopContext("DF1RequestProtectedTypedLogicalRead"); popErr != nil {
 			return popErr
@@ -231,6 +227,3 @@ func (m *DF1RequestProtectedTypedLogicalRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
index 6217916..2c4913a 100644
--- a/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type DF1ResponseMessage struct {
 	DestinationAddress uint8
-	SourceAddress uint8
-	Status uint8
+	SourceAddress      uint8
+	Status             uint8
 	TransactionCounter uint16
-	Child IDF1ResponseMessageChild
+	Child              IDF1ResponseMessageChild
 }
 
 // The corresponding interface
@@ -94,21 +92,21 @@ func (m *DF1ResponseMessage) ParentLengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (destinationAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (sourceAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Reserved Field (reserved)
 	lengthInBits += 8
 	// Discriminator Field (commandCode)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (status)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (transactionCounter)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
@@ -131,19 +129,19 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 		if reserved != uint8(0x00) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
 
 	// Simple Field (destinationAddress)
-destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
+	destinationAddress, _destinationAddressErr := readBuffer.ReadUint8("destinationAddress", 8)
 	if _destinationAddressErr != nil {
 		return nil, errors.Wrap(_destinationAddressErr, "Error parsing 'destinationAddress' field")
 	}
 
 	// Simple Field (sourceAddress)
-sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
+	sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	if _sourceAddressErr != nil {
 		return nil, errors.Wrap(_sourceAddressErr, "Error parsing 'sourceAddress' field")
 	}
@@ -157,7 +155,7 @@ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 		if reserved != uint8(0x00) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint8(0x00),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -165,17 +163,17 @@ sourceAddress, _sourceAddressErr := readBuffer.ReadUint8("sourceAddress", 8)
 	// Discriminator Field (commandCode) (Used as input to a switch field)
 	commandCode, _commandCodeErr := readBuffer.ReadUint8("commandCode", 8)
 	if _commandCodeErr != nil {
-	return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
+		return nil, errors.Wrap(_commandCodeErr, "Error parsing 'commandCode' field")
 	}
 
 	// Simple Field (status)
-status, _statusErr := readBuffer.ReadUint8("status", 8)
+	status, _statusErr := readBuffer.ReadUint8("status", 8)
 	if _statusErr != nil {
 		return nil, errors.Wrap(_statusErr, "Error parsing 'status' field")
 	}
 
 	// Simple Field (transactionCounter)
-transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
+	transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transactionCounter", 16)
 	if _transactionCounterErr != nil {
 		return nil, errors.Wrap(_transactionCounterErr, "Error parsing 'transactionCounter' field")
 	}
@@ -184,7 +182,7 @@ transactionCounter, _transactionCounterErr := readBuffer.ReadUint16("transaction
 	var _parent *DF1ResponseMessage
 	var typeSwitchError error
 	switch {
-case commandCode == 0x4F : // DF1CommandResponseMessageProtectedTypedLogicalRead
+	case commandCode == 0x4F: // DF1CommandResponseMessageProtectedTypedLogicalRead
 		_parent, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer, payloadLength, status)
 	default:
 		// TODO: return actual type
@@ -208,7 +206,7 @@ func (m *DF1ResponseMessage) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *DF1ResponseMessage) SerializeParent(writeBuffer utils.WriteBuffer, child IDF1ResponseMessage, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("DF1ResponseMessage"); pushErr != nil {
 		return pushErr
 	}
 
@@ -284,6 +282,3 @@ func (m *DF1ResponseMessage) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/fieldtype_string.go b/plc4go/internal/plc4go/ads/fieldtype_string.go
index 4b0da39..6c2fa73 100644
--- a/plc4go/internal/plc4go/ads/fieldtype_string.go
+++ b/plc4go/internal/plc4go/ads/fieldtype_string.go
@@ -1,20 +1,3 @@
-// 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 FieldType"; DO NOT EDIT.
 
 package ads
diff --git a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
index c8cd0b7..616c149 100644
--- a/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/ads/readwrite/XmlParserHelper.go
@@ -23,8 +23,8 @@ import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/ads/readwrite/model"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
-    "strings"
-    "strconv"
+	"strconv"
+	"strings"
 )
 
 // Code generated by code-generation. DO NOT EDIT.
@@ -41,36 +41,36 @@ func init() {
 }
 
 func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
-    switch typeName {
-        case "AdsMultiRequestItem":
-			parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
-			if err!=nil {
-				return nil, err
-			}
-			indexGroup := uint32(parsedUint0)
-            return model.AdsMultiRequestItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup  )
-        case "AmsTCPPacket":
-			return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "State":
-			return model.StateParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsPacket":
-			return model.AmsPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsSerialFrame":
-			return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsSerialAcknowledgeFrame":
-			return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsData":
-            commandId := model.CommandIdByName(parserArguments[0])
-            response := parserArguments[1] == "true"
-            return model.AdsDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), commandId,  response  )
-        case "AmsNetId":
-			return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsStampHeader":
-			return model.AdsStampHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AmsSerialResetFrame":
-			return model.AmsSerialResetFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-        case "AdsNotificationSample":
-			return model.AdsNotificationSampleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-    }
-    return nil, errors.Errorf("Unsupported type %s", typeName)
+	switch typeName {
+	case "AdsMultiRequestItem":
+		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
+		if err != nil {
+			return nil, err
+		}
+		indexGroup := uint32(parsedUint0)
+		return model.AdsMultiRequestItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup)
+	case "AmsTCPPacket":
+		return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "State":
+		return model.StateParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsPacket":
+		return model.AmsPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsSerialFrame":
+		return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsSerialAcknowledgeFrame":
+		return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsData":
+		commandId := model.CommandIdByName(parserArguments[0])
+		response := parserArguments[1] == "true"
+		return model.AdsDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), commandId, response)
+	case "AmsNetId":
+		return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsStampHeader":
+		return model.AdsStampHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AmsSerialResetFrame":
+		return model.AmsSerialResetFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	case "AdsNotificationSample":
+		return model.AdsNotificationSampleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+	}
+	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index 84ace91..222528a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -19,7 +19,6 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
@@ -27,18 +26,17 @@ import (
 	"math/big"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsAddDeviceNotificationRequest struct {
-	IndexGroup uint32
-	IndexOffset uint32
-	Length uint32
+	IndexGroup       uint32
+	IndexOffset      uint32
+	Length           uint32
 	TransmissionMode uint32
-	MaxDelay uint32
-	CycleTime uint32
-	Parent *AdsData
+	MaxDelay         uint32
+	CycleTime        uint32
+	Parent           *AdsData
 }
 
 // The corresponding interface
@@ -59,19 +57,18 @@ func (m *AdsAddDeviceNotificationRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsAddDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsAddDeviceNotificationRequest(indexGroup uint32, indexOffset uint32, length uint32, transmissionMode uint32, maxDelay uint32, cycleTime uint32) *AdsData {
 	child := &AdsAddDeviceNotificationRequest{
-		IndexGroup: indexGroup,
-		IndexOffset: indexOffset,
-		Length: length,
+		IndexGroup:       indexGroup,
+		IndexOffset:      indexOffset,
+		Length:           length,
 		TransmissionMode: transmissionMode,
-		MaxDelay: maxDelay,
-		CycleTime: cycleTime,
-		Parent: NewAdsData(),
+		MaxDelay:         maxDelay,
+		CycleTime:        cycleTime,
+		Parent:           NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -108,22 +105,22 @@ func (m *AdsAddDeviceNotificationRequest) LengthInBitsConditional(lastItem bool)
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (indexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (length)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (transmissionMode)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (maxDelay)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (cycleTime)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Reserved Field (reserved)
 	lengthInBits += 128
@@ -131,48 +128,47 @@ func (m *AdsAddDeviceNotificationRequest) LengthInBitsConditional(lastItem bool)
 	return lengthInBits
 }
 
-
 func (m *AdsAddDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsAddDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadUint32("length", 32)
+	length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (transmissionMode)
-transmissionMode, _transmissionModeErr := readBuffer.ReadUint32("transmissionMode", 32)
+	transmissionMode, _transmissionModeErr := readBuffer.ReadUint32("transmissionMode", 32)
 	if _transmissionModeErr != nil {
 		return nil, errors.Wrap(_transmissionModeErr, "Error parsing 'transmissionMode' field")
 	}
 
 	// Simple Field (maxDelay)
-maxDelay, _maxDelayErr := readBuffer.ReadUint32("maxDelay", 32)
+	maxDelay, _maxDelayErr := readBuffer.ReadUint32("maxDelay", 32)
 	if _maxDelayErr != nil {
 		return nil, errors.Wrap(_maxDelayErr, "Error parsing 'maxDelay' field")
 	}
 
 	// Simple Field (cycleTime)
-cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
+	cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
 	if _cycleTimeErr != nil {
 		return nil, errors.Wrap(_cycleTimeErr, "Error parsing 'cycleTime' field")
 	}
@@ -186,7 +182,7 @@ cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
 		if reserved.Cmp(big.NewInt(0x0000)) != 0 {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": big.NewInt(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -197,13 +193,13 @@ cycleTime, _cycleTimeErr := readBuffer.ReadUint32("cycleTime", 32)
 
 	// Create a partially initialized instance
 	_child := &AdsAddDeviceNotificationRequest{
-		IndexGroup: indexGroup,
-		IndexOffset: indexOffset,
-		Length: length,
+		IndexGroup:       indexGroup,
+		IndexOffset:      indexOffset,
+		Length:           length,
 		TransmissionMode: transmissionMode,
-		MaxDelay: maxDelay,
-		CycleTime: cycleTime,
-		Parent: &AdsData{},
+		MaxDelay:         maxDelay,
+		CycleTime:        cycleTime,
+		Parent:           &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -215,55 +211,55 @@ func (m *AdsAddDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffe
 			return pushErr
 		}
 
-	// Simple Field (indexGroup)
-	indexGroup := uint32(m.IndexGroup)
-	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-	if _indexGroupErr != nil {
-		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-	}
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+		}
 
-	// Simple Field (indexOffset)
-	indexOffset := uint32(m.IndexOffset)
-	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-	if _indexOffsetErr != nil {
-		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-	}
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+		}
 
-	// Simple Field (length)
-	length := uint32(m.Length)
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
+		// Simple Field (length)
+		length := uint32(m.Length)
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
 
-	// Simple Field (transmissionMode)
-	transmissionMode := uint32(m.TransmissionMode)
-	_transmissionModeErr := writeBuffer.WriteUint32("transmissionMode", 32, (transmissionMode))
-	if _transmissionModeErr != nil {
-		return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
-	}
+		// Simple Field (transmissionMode)
+		transmissionMode := uint32(m.TransmissionMode)
+		_transmissionModeErr := writeBuffer.WriteUint32("transmissionMode", 32, (transmissionMode))
+		if _transmissionModeErr != nil {
+			return errors.Wrap(_transmissionModeErr, "Error serializing 'transmissionMode' field")
+		}
 
-	// Simple Field (maxDelay)
-	maxDelay := uint32(m.MaxDelay)
-	_maxDelayErr := writeBuffer.WriteUint32("maxDelay", 32, (maxDelay))
-	if _maxDelayErr != nil {
-		return errors.Wrap(_maxDelayErr, "Error serializing 'maxDelay' field")
-	}
+		// Simple Field (maxDelay)
+		maxDelay := uint32(m.MaxDelay)
+		_maxDelayErr := writeBuffer.WriteUint32("maxDelay", 32, (maxDelay))
+		if _maxDelayErr != nil {
+			return errors.Wrap(_maxDelayErr, "Error serializing 'maxDelay' field")
+		}
 
-	// Simple Field (cycleTime)
-	cycleTime := uint32(m.CycleTime)
-	_cycleTimeErr := writeBuffer.WriteUint32("cycleTime", 32, (cycleTime))
-	if _cycleTimeErr != nil {
-		return errors.Wrap(_cycleTimeErr, "Error serializing 'cycleTime' field")
-	}
+		// Simple Field (cycleTime)
+		cycleTime := uint32(m.CycleTime)
+		_cycleTimeErr := writeBuffer.WriteUint32("cycleTime", 32, (cycleTime))
+		if _cycleTimeErr != nil {
+			return errors.Wrap(_cycleTimeErr, "Error serializing 'cycleTime' field")
+		}
 
-	// Reserved Field (reserved)
-	{
-		_err := writeBuffer.WriteBigInt("reserved", 128, big.NewInt(0x0000))
-		if _err != nil {
-			return errors.Wrap(_err, "Error serializing 'reserved' field")
+		// Reserved Field (reserved)
+		{
+			_err := writeBuffer.WriteBigInt("reserved", 128, big.NewInt(0x0000))
+			if _err != nil {
+				return errors.Wrap(_err, "Error serializing 'reserved' field")
+			}
 		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -281,6 +277,3 @@ func (m *AdsAddDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index a23e1c5..c60af8d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -19,20 +19,18 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsAddDeviceNotificationResponse struct {
-	Result ReturnCode
+	Result             ReturnCode
 	NotificationHandle uint32
-	Parent *AdsData
+	Parent             *AdsData
 }
 
 // The corresponding interface
@@ -53,15 +51,14 @@ func (m *AdsAddDeviceNotificationResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsAddDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsAddDeviceNotificationResponse(result ReturnCode, notificationHandle uint32) *AdsData {
 	child := &AdsAddDeviceNotificationResponse{
-		Result: result,
+		Result:             result,
 		NotificationHandle: notificationHandle,
-		Parent: NewAdsData(),
+		Parent:             NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -101,17 +98,16 @@ func (m *AdsAddDeviceNotificationResponse) LengthInBitsConditional(lastItem bool
 	lengthInBits += 32
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsAddDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -120,7 +116,7 @@ func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsD
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -129,7 +125,7 @@ result, _resultErr := ReturnCodeParse(readBuffer)
 	}
 
 	// Simple Field (notificationHandle)
-notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
@@ -140,9 +136,9 @@ notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificatio
 
 	// Create a partially initialized instance
 	_child := &AdsAddDeviceNotificationResponse{
-		Result: result,
+		Result:             result,
 		NotificationHandle: notificationHandle,
-		Parent: &AdsData{},
+		Parent:             &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -154,24 +150,24 @@ func (m *AdsAddDeviceNotificationResponse) Serialize(writeBuffer utils.WriteBuff
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
-	// Simple Field (notificationHandle)
-	notificationHandle := uint32(m.NotificationHandle)
-	_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
-	if _notificationHandleErr != nil {
-		return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
-	}
+		// Simple Field (notificationHandle)
+		notificationHandle := uint32(m.NotificationHandle)
+		_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
+		if _notificationHandleErr != nil {
+			return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsAddDeviceNotificationResponse"); popErr != nil {
 			return popErr
@@ -189,6 +185,3 @@ func (m *AdsAddDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
index 892c136..a6b631a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsData.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsData struct {
@@ -102,46 +100,46 @@ func AdsDataParse(readBuffer utils.ReadBuffer, commandId CommandId, response boo
 	var _parent *AdsData
 	var typeSwitchError error
 	switch {
-case commandId == CommandId_INVALID && response == false : // AdsInvalidRequest
-		_parent, typeSwitchError = AdsInvalidRequestParse(readBuffer, )
-case commandId == CommandId_INVALID && response == true : // AdsInvalidResponse
-		_parent, typeSwitchError = AdsInvalidResponseParse(readBuffer, )
-case commandId == CommandId_ADS_READ_DEVICE_INFO && response == false : // AdsReadDeviceInfoRequest
-		_parent, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer, )
-case commandId == CommandId_ADS_READ_DEVICE_INFO && response == true : // AdsReadDeviceInfoResponse
-		_parent, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer, )
-case commandId == CommandId_ADS_READ && response == false : // AdsReadRequest
-		_parent, typeSwitchError = AdsReadRequestParse(readBuffer, )
-case commandId == CommandId_ADS_READ && response == true : // AdsReadResponse
-		_parent, typeSwitchError = AdsReadResponseParse(readBuffer, )
-case commandId == CommandId_ADS_WRITE && response == false : // AdsWriteRequest
-		_parent, typeSwitchError = AdsWriteRequestParse(readBuffer, )
-case commandId == CommandId_ADS_WRITE && response == true : // AdsWriteResponse
-		_parent, typeSwitchError = AdsWriteResponseParse(readBuffer, )
-case commandId == CommandId_ADS_READ_STATE && response == false : // AdsReadStateRequest
-		_parent, typeSwitchError = AdsReadStateRequestParse(readBuffer, )
-case commandId == CommandId_ADS_READ_STATE && response == true : // AdsReadStateResponse
-		_parent, typeSwitchError = AdsReadStateResponseParse(readBuffer, )
-case commandId == CommandId_ADS_WRITE_CONTROL && response == false : // AdsWriteControlRequest
-		_parent, typeSwitchError = AdsWriteControlRequestParse(readBuffer, )
-case commandId == CommandId_ADS_WRITE_CONTROL && response == true : // AdsWriteControlResponse
-		_parent, typeSwitchError = AdsWriteControlResponseParse(readBuffer, )
-case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == false : // AdsAddDeviceNotificationRequest
-		_parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer, )
-case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == true : // AdsAddDeviceNotificationResponse
-		_parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer, )
-case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == false : // AdsDeleteDeviceNotificationRequest
-		_parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer, )
-case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == true : // AdsDeleteDeviceNotificationResponse
-		_parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer, )
-case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == false : // AdsDeviceNotificationRequest
-		_parent, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer, )
-case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == true : // AdsDeviceNotificationResponse
-		_parent, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer, )
-case commandId == CommandId_ADS_READ_WRITE && response == false : // AdsReadWriteRequest
-		_parent, typeSwitchError = AdsReadWriteRequestParse(readBuffer, )
-case commandId == CommandId_ADS_READ_WRITE && response == true : // AdsReadWriteResponse
-		_parent, typeSwitchError = AdsReadWriteResponseParse(readBuffer, )
+	case commandId == CommandId_INVALID && response == false: // AdsInvalidRequest
+		_parent, typeSwitchError = AdsInvalidRequestParse(readBuffer)
+	case commandId == CommandId_INVALID && response == true: // AdsInvalidResponse
+		_parent, typeSwitchError = AdsInvalidResponseParse(readBuffer)
+	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == false: // AdsReadDeviceInfoRequest
+		_parent, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer)
+	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == true: // AdsReadDeviceInfoResponse
+		_parent, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer)
+	case commandId == CommandId_ADS_READ && response == false: // AdsReadRequest
+		_parent, typeSwitchError = AdsReadRequestParse(readBuffer)
+	case commandId == CommandId_ADS_READ && response == true: // AdsReadResponse
+		_parent, typeSwitchError = AdsReadResponseParse(readBuffer)
+	case commandId == CommandId_ADS_WRITE && response == false: // AdsWriteRequest
+		_parent, typeSwitchError = AdsWriteRequestParse(readBuffer)
+	case commandId == CommandId_ADS_WRITE && response == true: // AdsWriteResponse
+		_parent, typeSwitchError = AdsWriteResponseParse(readBuffer)
+	case commandId == CommandId_ADS_READ_STATE && response == false: // AdsReadStateRequest
+		_parent, typeSwitchError = AdsReadStateRequestParse(readBuffer)
+	case commandId == CommandId_ADS_READ_STATE && response == true: // AdsReadStateResponse
+		_parent, typeSwitchError = AdsReadStateResponseParse(readBuffer)
+	case commandId == CommandId_ADS_WRITE_CONTROL && response == false: // AdsWriteControlRequest
+		_parent, typeSwitchError = AdsWriteControlRequestParse(readBuffer)
+	case commandId == CommandId_ADS_WRITE_CONTROL && response == true: // AdsWriteControlResponse
+		_parent, typeSwitchError = AdsWriteControlResponseParse(readBuffer)
+	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == false: // AdsAddDeviceNotificationRequest
+		_parent, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer)
+	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == true: // AdsAddDeviceNotificationResponse
+		_parent, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer)
+	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == false: // AdsDeleteDeviceNotificationRequest
+		_parent, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer)
+	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == true: // AdsDeleteDeviceNotificationResponse
+		_parent, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer)
+	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == false: // AdsDeviceNotificationRequest
+		_parent, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer)
+	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == true: // AdsDeviceNotificationResponse
+		_parent, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer)
+	case commandId == CommandId_ADS_READ_WRITE && response == false: // AdsReadWriteRequest
+		_parent, typeSwitchError = AdsReadWriteRequestParse(readBuffer)
+	case commandId == CommandId_ADS_READ_WRITE && response == true: // AdsReadWriteResponse
+		_parent, typeSwitchError = AdsReadWriteResponseParse(readBuffer)
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -164,7 +162,7 @@ func (m *AdsData) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *AdsData) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsData, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("AdsData"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsData"); pushErr != nil {
 		return pushErr
 	}
 
@@ -188,6 +186,3 @@ func (m *AdsData) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
index b8ded20..ba9169a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDataType.go
@@ -34,54 +34,54 @@ type IAdsDataType interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const(
-	AdsDataType_BOOL AdsDataType = 0x01
-	AdsDataType_BIT AdsDataType = 0x02
-	AdsDataType_BIT8 AdsDataType = 0x03
-	AdsDataType_BYTE AdsDataType = 0x04
-	AdsDataType_BITARR8 AdsDataType = 0x05
-	AdsDataType_WORD AdsDataType = 0x06
-	AdsDataType_BITARR16 AdsDataType = 0x07
-	AdsDataType_DWORD AdsDataType = 0x08
-	AdsDataType_BITARR32 AdsDataType = 0x09
-	AdsDataType_SINT AdsDataType = 0x0A
-	AdsDataType_INT8 AdsDataType = 0x0B
-	AdsDataType_USINT AdsDataType = 0x0C
-	AdsDataType_UINT8 AdsDataType = 0x0D
-	AdsDataType_INT AdsDataType = 0x0E
-	AdsDataType_INT16 AdsDataType = 0x0F
-	AdsDataType_UINT AdsDataType = 0x10
-	AdsDataType_UINT16 AdsDataType = 0x11
-	AdsDataType_DINT AdsDataType = 0x12
-	AdsDataType_INT32 AdsDataType = 0x13
-	AdsDataType_UDINT AdsDataType = 0x14
-	AdsDataType_UINT32 AdsDataType = 0x15
-	AdsDataType_LINT AdsDataType = 0x16
-	AdsDataType_INT64 AdsDataType = 0x17
-	AdsDataType_ULINT AdsDataType = 0x18
-	AdsDataType_UINT64 AdsDataType = 0x19
-	AdsDataType_REAL AdsDataType = 0x1A
-	AdsDataType_FLOAT AdsDataType = 0x1B
-	AdsDataType_LREAL AdsDataType = 0x1C
-	AdsDataType_DOUBLE AdsDataType = 0x1D
-	AdsDataType_CHAR AdsDataType = 0x1E
-	AdsDataType_WCHAR AdsDataType = 0x1F
-	AdsDataType_STRING AdsDataType = 0x20
-	AdsDataType_WSTRING AdsDataType = 0x21
-	AdsDataType_TIME AdsDataType = 0x22
-	AdsDataType_LTIME AdsDataType = 0x23
-	AdsDataType_DATE AdsDataType = 0x24
-	AdsDataType_TIME_OF_DAY AdsDataType = 0x25
-	AdsDataType_TOD AdsDataType = 0x26
+const (
+	AdsDataType_BOOL          AdsDataType = 0x01
+	AdsDataType_BIT           AdsDataType = 0x02
+	AdsDataType_BIT8          AdsDataType = 0x03
+	AdsDataType_BYTE          AdsDataType = 0x04
+	AdsDataType_BITARR8       AdsDataType = 0x05
+	AdsDataType_WORD          AdsDataType = 0x06
+	AdsDataType_BITARR16      AdsDataType = 0x07
+	AdsDataType_DWORD         AdsDataType = 0x08
+	AdsDataType_BITARR32      AdsDataType = 0x09
+	AdsDataType_SINT          AdsDataType = 0x0A
+	AdsDataType_INT8          AdsDataType = 0x0B
+	AdsDataType_USINT         AdsDataType = 0x0C
+	AdsDataType_UINT8         AdsDataType = 0x0D
+	AdsDataType_INT           AdsDataType = 0x0E
+	AdsDataType_INT16         AdsDataType = 0x0F
+	AdsDataType_UINT          AdsDataType = 0x10
+	AdsDataType_UINT16        AdsDataType = 0x11
+	AdsDataType_DINT          AdsDataType = 0x12
+	AdsDataType_INT32         AdsDataType = 0x13
+	AdsDataType_UDINT         AdsDataType = 0x14
+	AdsDataType_UINT32        AdsDataType = 0x15
+	AdsDataType_LINT          AdsDataType = 0x16
+	AdsDataType_INT64         AdsDataType = 0x17
+	AdsDataType_ULINT         AdsDataType = 0x18
+	AdsDataType_UINT64        AdsDataType = 0x19
+	AdsDataType_REAL          AdsDataType = 0x1A
+	AdsDataType_FLOAT         AdsDataType = 0x1B
+	AdsDataType_LREAL         AdsDataType = 0x1C
+	AdsDataType_DOUBLE        AdsDataType = 0x1D
+	AdsDataType_CHAR          AdsDataType = 0x1E
+	AdsDataType_WCHAR         AdsDataType = 0x1F
+	AdsDataType_STRING        AdsDataType = 0x20
+	AdsDataType_WSTRING       AdsDataType = 0x21
+	AdsDataType_TIME          AdsDataType = 0x22
+	AdsDataType_LTIME         AdsDataType = 0x23
+	AdsDataType_DATE          AdsDataType = 0x24
+	AdsDataType_TIME_OF_DAY   AdsDataType = 0x25
+	AdsDataType_TOD           AdsDataType = 0x26
 	AdsDataType_DATE_AND_TIME AdsDataType = 0x27
-	AdsDataType_DT AdsDataType = 0x28
+	AdsDataType_DT            AdsDataType = 0x28
 )
 
 var AdsDataTypeValues []AdsDataType
 
 func init() {
 	_ = errors.New
-	AdsDataTypeValues = []AdsDataType {
+	AdsDataTypeValues = []AdsDataType{
 		AdsDataType_BOOL,
 		AdsDataType_BIT,
 		AdsDataType_BIT8,
@@ -125,130 +125,170 @@ func init() {
 	}
 }
 
-
 func (e AdsDataType) NumBytes() uint16 {
-	switch e  {
-		case 0x01: { /* '0x01' */
-            return 1
+	switch e {
+	case 0x01:
+		{ /* '0x01' */
+			return 1
 		}
-		case 0x02: { /* '0x02' */
-            return 1
+	case 0x02:
+		{ /* '0x02' */
+			return 1
 		}
-		case 0x03: { /* '0x03' */
-            return 1
+	case 0x03:
+		{ /* '0x03' */
+			return 1
 		}
-		case 0x04: { /* '0x04' */
-            return 1
+	case 0x04:
+		{ /* '0x04' */
+			return 1
 		}
-		case 0x05: { /* '0x05' */
-            return 1
+	case 0x05:
+		{ /* '0x05' */
+			return 1
 		}
-		case 0x06: { /* '0x06' */
-            return 2
+	case 0x06:
+		{ /* '0x06' */
+			return 2
 		}
-		case 0x07: { /* '0x07' */
-            return 2
+	case 0x07:
+		{ /* '0x07' */
+			return 2
 		}
-		case 0x08: { /* '0x08' */
-            return 4
+	case 0x08:
+		{ /* '0x08' */
+			return 4
 		}
-		case 0x09: { /* '0x09' */
-            return 4
+	case 0x09:
+		{ /* '0x09' */
+			return 4
 		}
-		case 0x0A: { /* '0x0A' */
-            return 1
+	case 0x0A:
+		{ /* '0x0A' */
+			return 1
 		}
-		case 0x0B: { /* '0x0B' */
-            return 1
+	case 0x0B:
+		{ /* '0x0B' */
+			return 1
 		}
-		case 0x0C: { /* '0x0C' */
-            return 1
+	case 0x0C:
+		{ /* '0x0C' */
+			return 1
 		}
-		case 0x0D: { /* '0x0D' */
-            return 1
+	case 0x0D:
+		{ /* '0x0D' */
+			return 1
 		}
-		case 0x0E: { /* '0x0E' */
-            return 2
+	case 0x0E:
+		{ /* '0x0E' */
+			return 2
 		}
-		case 0x0F: { /* '0x0F' */
-            return 2
+	case 0x0F:
+		{ /* '0x0F' */
+			return 2
 		}
-		case 0x10: { /* '0x10' */
-            return 2
+	case 0x10:
+		{ /* '0x10' */
+			return 2
 		}
-		case 0x11: { /* '0x11' */
-            return 2
+	case 0x11:
+		{ /* '0x11' */
+			return 2
 		}
-		case 0x12: { /* '0x12' */
-            return 4
+	case 0x12:
+		{ /* '0x12' */
+			return 4
 		}
-		case 0x13: { /* '0x13' */
-            return 4
+	case 0x13:
+		{ /* '0x13' */
+			return 4
 		}
-		case 0x14: { /* '0x14' */
-            return 4
+	case 0x14:
+		{ /* '0x14' */
+			return 4
 		}
-		case 0x15: { /* '0x15' */
-            return 4
+	case 0x15:
+		{ /* '0x15' */
+			return 4
 		}
-		case 0x16: { /* '0x16' */
-            return 8
+	case 0x16:
+		{ /* '0x16' */
+			return 8
 		}
-		case 0x17: { /* '0x17' */
-            return 8
+	case 0x17:
+		{ /* '0x17' */
+			return 8
 		}
-		case 0x18: { /* '0x18' */
-            return 8
+	case 0x18:
+		{ /* '0x18' */
+			return 8
 		}
-		case 0x19: { /* '0x19' */
-            return 8
+	case 0x19:
+		{ /* '0x19' */
+			return 8
 		}
-		case 0x1A: { /* '0x1A' */
-            return 4
+	case 0x1A:
+		{ /* '0x1A' */
+			return 4
 		}
-		case 0x1B: { /* '0x1B' */
-            return 4
+	case 0x1B:
+		{ /* '0x1B' */
+			return 4
 		}
-		case 0x1C: { /* '0x1C' */
-            return 8
+	case 0x1C:
+		{ /* '0x1C' */
+			return 8
 		}
-		case 0x1D: { /* '0x1D' */
-            return 8
+	case 0x1D:
+		{ /* '0x1D' */
+			return 8
 		}
-		case 0x1E: { /* '0x1E' */
-            return 1
+	case 0x1E:
+		{ /* '0x1E' */
+			return 1
 		}
-		case 0x1F: { /* '0x1F' */
-            return 2
+	case 0x1F:
+		{ /* '0x1F' */
+			return 2
 		}
-		case 0x20: { /* '0x20' */
-            return 256
+	case 0x20:
+		{ /* '0x20' */
+			return 256
 		}
-		case 0x21: { /* '0x21' */
-            return 512
+	case 0x21:
+		{ /* '0x21' */
+			return 512
 		}
-		case 0x22: { /* '0x22' */
-            return 4
+	case 0x22:
+		{ /* '0x22' */
+			return 4
 		}
-		case 0x23: { /* '0x23' */
-            return 8
+	case 0x23:
+		{ /* '0x23' */
+			return 8
 		}
-		case 0x24: { /* '0x24' */
-            return 4
+	case 0x24:
+		{ /* '0x24' */
+			return 4
 		}
-		case 0x25: { /* '0x25' */
-            return 4
+	case 0x25:
+		{ /* '0x25' */
+			return 4
 		}
-		case 0x26: { /* '0x26' */
-            return 4
+	case 0x26:
+		{ /* '0x26' */
+			return 4
 		}
-		case 0x27: { /* '0x27' */
-            return 4
+	case 0x27:
+		{ /* '0x27' */
+			return 4
 		}
-		case 0x28: { /* '0x28' */
-            return 4
+	case 0x28:
+		{ /* '0x28' */
+			return 4
 		}
-		default: {
+	default:
+		{
 			return 0
 		}
 	}
@@ -264,128 +304,169 @@ func AdsDataTypeFirstEnumForFieldNumBytes(value uint16) (AdsDataType, error) {
 }
 
 func (e AdsDataType) DataFormatName() string {
-	switch e  {
-		case 0x01: { /* '0x01' */
-            return "IEC61131_BOOL"
+	switch e {
+	case 0x01:
+		{ /* '0x01' */
+			return "IEC61131_BOOL"
 		}
-		case 0x02: { /* '0x02' */
-            return "IEC61131_BOOL"
+	case 0x02:
+		{ /* '0x02' */
+			return "IEC61131_BOOL"
 		}
-		case 0x03: { /* '0x03' */
-            return "IEC61131_BOOL"
+	case 0x03:
+		{ /* '0x03' */
+			return "IEC61131_BOOL"
 		}
-		case 0x04: { /* '0x04' */
-            return "IEC61131_BYTE"
+	case 0x04:
+		{ /* '0x04' */
+			return "IEC61131_BYTE"
 		}
-		case 0x05: { /* '0x05' */
-            return "IEC61131_BYTE"
+	case 0x05:
+		{ /* '0x05' */
+			return "IEC61131_BYTE"
 		}
-		case 0x06: { /* '0x06' */
-            return "IEC61131_WORD"
+	case 0x06:
+		{ /* '0x06' */
+			return "IEC61131_WORD"
 		}
-		case 0x07: { /* '0x07' */
-            return "IEC61131_WORD"
+	case 0x07:
+		{ /* '0x07' */
+			return "IEC61131_WORD"
 		}
-		case 0x08: { /* '0x08' */
-            return "IEC61131_DWORD"
+	case 0x08:
+		{ /* '0x08' */
+			return "IEC61131_DWORD"
 		}
-		case 0x09: { /* '0x09' */
-            return "IEC61131_DWORD"
+	case 0x09:
+		{ /* '0x09' */
+			return "IEC61131_DWORD"
 		}
-		case 0x0A: { /* '0x0A' */
-            return "IEC61131_SINT"
+	case 0x0A:
+		{ /* '0x0A' */
+			return "IEC61131_SINT"
 		}
-		case 0x0B: { /* '0x0B' */
-            return "IEC61131_SINT"
+	case 0x0B:
+		{ /* '0x0B' */
+			return "IEC61131_SINT"
 		}
-		case 0x0C: { /* '0x0C' */
-            return "IEC61131_USINT"
+	case 0x0C:
+		{ /* '0x0C' */
+			return "IEC61131_USINT"
 		}
-		case 0x0D: { /* '0x0D' */
-            return "IEC61131_USINT"
+	case 0x0D:
+		{ /* '0x0D' */
+			return "IEC61131_USINT"
 		}
-		case 0x0E: { /* '0x0E' */
-            return "IEC61131_INT"
+	case 0x0E:
+		{ /* '0x0E' */
+			return "IEC61131_INT"
 		}
-		case 0x0F: { /* '0x0F' */
-            return "IEC61131_INT"
+	case 0x0F:
+		{ /* '0x0F' */
+			return "IEC61131_INT"
 		}
-		case 0x10: { /* '0x10' */
-            return "IEC61131_UINT"
+	case 0x10:
+		{ /* '0x10' */
+			return "IEC61131_UINT"
 		}
-		case 0x11: { /* '0x11' */
-            return "IEC61131_UINT"
+	case 0x11:
+		{ /* '0x11' */
+			return "IEC61131_UINT"
 		}
-		case 0x12: { /* '0x12' */
-            return "IEC61131_DINT"
+	case 0x12:
+		{ /* '0x12' */
+			return "IEC61131_DINT"
 		}
-		case 0x13: { /* '0x13' */
-            return "IEC61131_DINT"
+	case 0x13:
+		{ /* '0x13' */
+			return "IEC61131_DINT"
 		}
-		case 0x14: { /* '0x14' */
-            return "IEC61131_UDINT"
+	case 0x14:
+		{ /* '0x14' */
+			return "IEC61131_UDINT"
 		}
-		case 0x15: { /* '0x15' */
-            return "IEC61131_UDINT"
+	case 0x15:
+		{ /* '0x15' */
+			return "IEC61131_UDINT"
 		}
-		case 0x16: { /* '0x16' */
-            return "IEC61131_LINT"
+	case 0x16:
+		{ /* '0x16' */
+			return "IEC61131_LINT"
 		}
-		case 0x17: { /* '0x17' */
-            return "IEC61131_LINT"
+	case 0x17:
+		{ /* '0x17' */
+			return "IEC61131_LINT"
 		}
-		case 0x18: { /* '0x18' */
-            return "IEC61131_ULINT"
+	case 0x18:
+		{ /* '0x18' */
+			return "IEC61131_ULINT"
 		}
-		case 0x19: { /* '0x19' */
-            return "IEC61131_ULINT"
+	case 0x19:
+		{ /* '0x19' */
+			return "IEC61131_ULINT"
 		}
-		case 0x1A: { /* '0x1A' */
-            return "IEC61131_REAL"
+	case 0x1A:
+		{ /* '0x1A' */
+			return "IEC61131_REAL"
 		}
-		case 0x1B: { /* '0x1B' */
-            return "IEC61131_REAL"
+	case 0x1B:
+		{ /* '0x1B' */
+			return "IEC61131_REAL"
 		}
-		case 0x1C: { /* '0x1C' */
-            return "IEC61131_LREAL"
+	case 0x1C:
+		{ /* '0x1C' */
+			return "IEC61131_LREAL"
 		}
-		case 0x1D: { /* '0x1D' */
-            return "IEC61131_LREAL"
+	case 0x1D:
+		{ /* '0x1D' */
+			return "IEC61131_LREAL"
 		}
-		case 0x1E: { /* '0x1E' */
-            return "IEC61131_CHAR"
+	case 0x1E:
+		{ /* '0x1E' */
+			return "IEC61131_CHAR"
 		}
-		case 0x1F: { /* '0x1F' */
-            return "IEC61131_WCHAR"
+	case 0x1F:
+		{ /* '0x1F' */
+			return "IEC61131_WCHAR"
 		}
-		case 0x20: { /* '0x20' */
-            return "IEC61131_STRING"
+	case 0x20:
+		{ /* '0x20' */
+			return "IEC61131_STRING"
 		}
-		case 0x21: { /* '0x21' */
-            return "IEC61131_WSTRING"
+	case 0x21:
+		{ /* '0x21' */
+			return "IEC61131_WSTRING"
 		}
-		case 0x22: { /* '0x22' */
-            return "IEC61131_TIME"
+	case 0x22:
+		{ /* '0x22' */
+			return "IEC61131_TIME"
 		}
-		case 0x23: { /* '0x23' */
-            return "IEC61131_LTIME"
+	case 0x23:
+		{ /* '0x23' */
+			return "IEC61131_LTIME"
 		}
-		case 0x24: { /* '0x24' */
-            return "IEC61131_DATE"
+	case 0x24:
+		{ /* '0x24' */
+			return "IEC61131_DATE"
 		}
-		case 0x25: { /* '0x25' */
-            return "IEC61131_TIME_OF_DAY"
+	case 0x25:
+		{ /* '0x25' */
+			return "IEC61131_TIME_OF_DAY"
 		}
-		case 0x26: { /* '0x26' */
-            return "IEC61131_TIME_OF_DAY"
+	case 0x26:
+		{ /* '0x26' */
+			return "IEC61131_TIME_OF_DAY"
 		}
-		case 0x27: { /* '0x27' */
-            return "IEC61131_DATE_AND_TIME"
+	case 0x27:
+		{ /* '0x27' */
+			return "IEC61131_DATE_AND_TIME"
 		}
-		case 0x28: { /* '0x28' */
-            return "IEC61131_DATE_AND_TIME"
+	case 0x28:
+		{ /* '0x28' */
+			return "IEC61131_DATE_AND_TIME"
 		}
-		default: {
+	default:
+		{
 			return ""
 		}
 	}
@@ -401,86 +482,86 @@ func AdsDataTypeFirstEnumForFieldDataFormatName(value string) (AdsDataType, erro
 }
 func AdsDataTypeByValue(value int8) AdsDataType {
 	switch value {
-		case 0x01:
-			return AdsDataType_BOOL
-		case 0x02:
-			return AdsDataType_BIT
-		case 0x03:
-			return AdsDataType_BIT8
-		case 0x04:
-			return AdsDataType_BYTE
-		case 0x05:
-			return AdsDataType_BITARR8
-		case 0x06:
-			return AdsDataType_WORD
-		case 0x07:
-			return AdsDataType_BITARR16
-		case 0x08:
-			return AdsDataType_DWORD
-		case 0x09:
-			return AdsDataType_BITARR32
-		case 0x0A:
-			return AdsDataType_SINT
-		case 0x0B:
-			return AdsDataType_INT8
-		case 0x0C:
-			return AdsDataType_USINT
-		case 0x0D:
-			return AdsDataType_UINT8
-		case 0x0E:
-			return AdsDataType_INT
-		case 0x0F:
-			return AdsDataType_INT16
-		case 0x10:
-			return AdsDataType_UINT
-		case 0x11:
-			return AdsDataType_UINT16
-		case 0x12:
-			return AdsDataType_DINT
-		case 0x13:
-			return AdsDataType_INT32
-		case 0x14:
-			return AdsDataType_UDINT
-		case 0x15:
-			return AdsDataType_UINT32
-		case 0x16:
-			return AdsDataType_LINT
-		case 0x17:
-			return AdsDataType_INT64
-		case 0x18:
-			return AdsDataType_ULINT
-		case 0x19:
-			return AdsDataType_UINT64
-		case 0x1A:
-			return AdsDataType_REAL
-		case 0x1B:
-			return AdsDataType_FLOAT
-		case 0x1C:
-			return AdsDataType_LREAL
-		case 0x1D:
-			return AdsDataType_DOUBLE
-		case 0x1E:
-			return AdsDataType_CHAR
-		case 0x1F:
-			return AdsDataType_WCHAR
-		case 0x20:
-			return AdsDataType_STRING
-		case 0x21:
-			return AdsDataType_WSTRING
-		case 0x22:
-			return AdsDataType_TIME
-		case 0x23:
-			return AdsDataType_LTIME
-		case 0x24:
-			return AdsDataType_DATE
-		case 0x25:
-			return AdsDataType_TIME_OF_DAY
-		case 0x26:
-			return AdsDataType_TOD
-		case 0x27:
-			return AdsDataType_DATE_AND_TIME
-		case 0x28:
-			return AdsDataType_DT
+	case 0x01:
+		return AdsDataType_BOOL
+	case 0x02:
+		return AdsDataType_BIT
+	case 0x03:
+		return AdsDataType_BIT8
+	case 0x04:
+		return AdsDataType_BYTE
+	case 0x05:
+		return AdsDataType_BITARR8
+	case 0x06:
+		return AdsDataType_WORD
+	case 0x07:
+		return AdsDataType_BITARR16
+	case 0x08:
+		return AdsDataType_DWORD
+	case 0x09:
+		return AdsDataType_BITARR32
+	case 0x0A:
+		return AdsDataType_SINT
+	case 0x0B:
+		return AdsDataType_INT8
+	case 0x0C:
+		return AdsDataType_USINT
+	case 0x0D:
+		return AdsDataType_UINT8
+	case 0x0E:
+		return AdsDataType_INT
+	case 0x0F:
+		return AdsDataType_INT16
+	case 0x10:
+		return AdsDataType_UINT
+	case 0x11:
+		return AdsDataType_UINT16
+	case 0x12:
+		return AdsDataType_DINT
+	case 0x13:
+		return AdsDataType_INT32
+	case 0x14:
+		return AdsDataType_UDINT
+	case 0x15:
+		return AdsDataType_UINT32
+	case 0x16:
+		return AdsDataType_LINT
+	case 0x17:
+		return AdsDataType_INT64
+	case 0x18:
+		return AdsDataType_ULINT
+	case 0x19:
+		return AdsDataType_UINT64
+	case 0x1A:
+		return AdsDataType_REAL
+	case 0x1B:
+		return AdsDataType_FLOAT
+	case 0x1C:
+		return AdsDataType_LREAL
+	case 0x1D:
+		return AdsDataType_DOUBLE
+	case 0x1E:
+		return AdsDataType_CHAR
+	case 0x1F:
+		return AdsDataType_WCHAR
+	case 0x20:
+		return AdsDataType_STRING
+	case 0x21:
+		return AdsDataType_WSTRING
+	case 0x22:
+		return AdsDataType_TIME
+	case 0x23:
+		return AdsDataType_LTIME
+	case 0x24:
+		return AdsDataType_DATE
+	case 0x25:
+		return AdsDataType_TIME_OF_DAY
+	case 0x26:
+		return AdsDataType_TOD
+	case 0x27:
+		return AdsDataType_DATE_AND_TIME
+	case 0x28:
+		return AdsDataType_DT
 	}
 	return 0
 }
@@ -690,4 +771,3 @@ func (e AdsDataType) name() string {
 func (e AdsDataType) String() string {
 	return e.name()
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index 7209c83..f7c3348 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationRequest struct {
 	NotificationHandle uint32
-	Parent *AdsData
+	Parent             *AdsData
 }
 
 // The corresponding interface
@@ -52,14 +50,13 @@ func (m *AdsDeleteDeviceNotificationRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsDeleteDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeleteDeviceNotificationRequest(notificationHandle uint32) *AdsData {
 	child := &AdsDeleteDeviceNotificationRequest{
 		NotificationHandle: notificationHandle,
-		Parent: NewAdsData(),
+		Parent:             NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -96,23 +93,22 @@ func (m *AdsDeleteDeviceNotificationRequest) LengthInBitsConditional(lastItem bo
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsDeleteDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (notificationHandle)
-notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
@@ -124,7 +120,7 @@ notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificatio
 	// Create a partially initialized instance
 	_child := &AdsDeleteDeviceNotificationRequest{
 		NotificationHandle: notificationHandle,
-		Parent: &AdsData{},
+		Parent:             &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -136,12 +132,12 @@ func (m *AdsDeleteDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBu
 			return pushErr
 		}
 
-	// Simple Field (notificationHandle)
-	notificationHandle := uint32(m.NotificationHandle)
-	_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
-	if _notificationHandleErr != nil {
-		return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
-	}
+		// Simple Field (notificationHandle)
+		notificationHandle := uint32(m.NotificationHandle)
+		_notificationHandleErr := writeBuffer.WriteUint32("notificationHandle", 32, (notificationHandle))
+		if _notificationHandleErr != nil {
+			return errors.Wrap(_notificationHandleErr, "Error serializing 'notificationHandle' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -159,6 +155,3 @@ func (m *AdsDeleteDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index fe93f42..3286eda 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsDeleteDeviceNotificationResponse struct {
@@ -52,7 +50,6 @@ func (m *AdsDeleteDeviceNotificationResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsDeleteDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -101,12 +98,11 @@ func (m *AdsDeleteDeviceNotificationResponse) LengthInBitsConditional(lastItem b
 	return lengthInBits
 }
 
-
 func (m *AdsDeleteDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -115,7 +111,7 @@ func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*A
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -142,17 +138,17 @@ func (m *AdsDeleteDeviceNotificationResponse) Serialize(writeBuffer utils.WriteB
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsDeleteDeviceNotificationResponse"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *AdsDeleteDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index f52fd59..c778f43 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsDeviceNotificationRequest struct {
-	Length uint32
-	Stamps uint32
+	Length          uint32
+	Stamps          uint32
 	AdsStampHeaders []*AdsStampHeader
-	Parent *AdsData
+	Parent          *AdsData
 }
 
 // The corresponding interface
@@ -54,16 +52,15 @@ func (m *AdsDeviceNotificationRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsDeviceNotificationRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsDeviceNotificationRequest(length uint32, stamps uint32, adsStampHeaders []*AdsStampHeader) *AdsData {
 	child := &AdsDeviceNotificationRequest{
-		Length: length,
-		Stamps: stamps,
+		Length:          length,
+		Stamps:          stamps,
 		AdsStampHeaders: adsStampHeaders,
-		Parent: NewAdsData(),
+		Parent:          NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,15 +97,15 @@ func (m *AdsDeviceNotificationRequest) LengthInBitsConditional(lastItem bool) ui
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (length)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (stamps)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Array field
 	if len(m.AdsStampHeaders) > 0 {
 		for i, element := range m.AdsStampHeaders {
-			last := i == len(m.AdsStampHeaders) -1
+			last := i == len(m.AdsStampHeaders)-1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -116,24 +113,23 @@ func (m *AdsDeviceNotificationRequest) LengthInBitsConditional(lastItem bool) ui
 	return lengthInBits
 }
 
-
 func (m *AdsDeviceNotificationRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadUint32("length", 32)
+	length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (stamps)
-stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
+	stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
 	if _stampsErr != nil {
 		return nil, errors.Wrap(_stampsErr, "Error parsing 'stamps' field")
 	}
@@ -161,10 +157,10 @@ stamps, _stampsErr := readBuffer.ReadUint32("stamps", 32)
 
 	// Create a partially initialized instance
 	_child := &AdsDeviceNotificationRequest{
-		Length: length,
-		Stamps: stamps,
+		Length:          length,
+		Stamps:          stamps,
 		AdsStampHeaders: adsStampHeaders,
-		Parent: &AdsData{},
+		Parent:          &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -176,35 +172,35 @@ func (m *AdsDeviceNotificationRequest) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-	// Simple Field (length)
-	length := uint32(m.Length)
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
-
-	// Simple Field (stamps)
-	stamps := uint32(m.Stamps)
-	_stampsErr := writeBuffer.WriteUint32("stamps", 32, (stamps))
-	if _stampsErr != nil {
-		return errors.Wrap(_stampsErr, "Error serializing 'stamps' field")
-	}
+		// Simple Field (length)
+		length := uint32(m.Length)
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
 
-	// Array Field (adsStampHeaders)
-	if m.AdsStampHeaders != nil {
-		if pushErr := writeBuffer.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
+		// Simple Field (stamps)
+		stamps := uint32(m.Stamps)
+		_stampsErr := writeBuffer.WriteUint32("stamps", 32, (stamps))
+		if _stampsErr != nil {
+			return errors.Wrap(_stampsErr, "Error serializing 'stamps' field")
 		}
-		for _, _element := range m.AdsStampHeaders {
-			_elementErr := _element.Serialize(writeBuffer)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
+
+		// Array Field (adsStampHeaders)
+		if m.AdsStampHeaders != nil {
+			if pushErr := writeBuffer.PushContext("adsStampHeaders", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.AdsStampHeaders {
+				_elementErr := _element.Serialize(writeBuffer)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'adsStampHeaders' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("adsStampHeaders", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsDeviceNotificationRequest"); popErr != nil {
 			return popErr
@@ -222,6 +218,3 @@ func (m *AdsDeviceNotificationRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
index c201237..e39a126 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsDeviceNotificationResponse struct {
@@ -50,7 +48,6 @@ func (m *AdsDeviceNotificationResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsDeviceNotificationResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -95,12 +92,11 @@ func (m *AdsDeviceNotificationResponse) LengthInBitsConditional(lastItem bool) u
 	return lengthInBits
 }
 
-
 func (m *AdsDeviceNotificationResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -139,6 +135,3 @@ func (m *AdsDeviceNotificationResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
index 2c9604f..8af6fab 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidRequest.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsInvalidRequest struct {
@@ -50,7 +48,6 @@ func (m *AdsInvalidRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsInvalidRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -95,12 +92,11 @@ func (m *AdsInvalidRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsInvalidRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsInvalidRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsInvalidRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsInvalidRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -139,6 +135,3 @@ func (m *AdsInvalidRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
index 49899be..b440038 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsInvalidResponse.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsInvalidResponse struct {
@@ -50,7 +48,6 @@ func (m *AdsInvalidResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsInvalidResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -95,12 +92,11 @@ func (m *AdsInvalidResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsInvalidResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsInvalidResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsInvalidResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsInvalidResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -139,6 +135,3 @@ func (m *AdsInvalidResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
index dbbacce..ea9b085 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItem.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsMultiRequestItem struct {
@@ -101,12 +99,12 @@ func AdsMultiRequestItemParse(readBuffer utils.ReadBuffer, indexGroup uint32) (*
 	var _parent *AdsMultiRequestItem
 	var typeSwitchError error
 	switch {
-case indexGroup == 61568 : // AdsMultiRequestItemRead
-		_parent, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer, )
-case indexGroup == 61569 : // AdsMultiRequestItemWrite
-		_parent, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer, )
-case indexGroup == 61570 : // AdsMultiRequestItemReadWrite
-		_parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer, )
+	case indexGroup == 61568: // AdsMultiRequestItemRead
+		_parent, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer)
+	case indexGroup == 61569: // AdsMultiRequestItemWrite
+		_parent, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer)
+	case indexGroup == 61570: // AdsMultiRequestItemReadWrite
+		_parent, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer)
 	default:
 		// TODO: return actual type
 		typeSwitchError = errors.New("Unmapped type")
@@ -129,7 +127,7 @@ func (m *AdsMultiRequestItem) Serialize(writeBuffer utils.WriteBuffer) error {
 }
 
 func (m *AdsMultiRequestItem) SerializeParent(writeBuffer utils.WriteBuffer, child IAdsMultiRequestItem, serializeChildFunction func() error) error {
-	if pushErr :=writeBuffer.PushContext("AdsMultiRequestItem"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsMultiRequestItem"); pushErr != nil {
 		return pushErr
 	}
 
@@ -153,6 +151,3 @@ func (m *AdsMultiRequestItem) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
index 09a0467..4bb70d0 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsMultiRequestItemRead struct {
-	ItemIndexGroup uint32
+	ItemIndexGroup  uint32
 	ItemIndexOffset uint32
-	ItemReadLength uint32
-	Parent *AdsMultiRequestItem
+	ItemReadLength  uint32
+	Parent          *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -50,16 +48,15 @@ func (m *AdsMultiRequestItemRead) IndexGroup() uint32 {
 	return 61568
 }
 
-
 func (m *AdsMultiRequestItemRead) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemRead(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemRead{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength: itemReadLength,
-		Parent: NewAdsMultiRequestItem(),
+		ItemReadLength:  itemReadLength,
+		Parent:          NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -96,41 +93,40 @@ func (m *AdsMultiRequestItemRead) LengthInBitsConditional(lastItem bool) uint16
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemReadLength)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsMultiRequestItemRead) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemRead"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemReadLength)
-itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
+	itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
 	if _itemReadLengthErr != nil {
 		return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
 	}
@@ -141,10 +137,10 @@ itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemRead{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength: itemReadLength,
-		Parent: &AdsMultiRequestItem{},
+		ItemReadLength:  itemReadLength,
+		Parent:          &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -156,26 +152,26 @@ func (m *AdsMultiRequestItemRead) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-	// Simple Field (itemIndexGroup)
-	itemIndexGroup := uint32(m.ItemIndexGroup)
-	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-	if _itemIndexGroupErr != nil {
-		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-	}
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+		}
 
-	// Simple Field (itemIndexOffset)
-	itemIndexOffset := uint32(m.ItemIndexOffset)
-	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-	if _itemIndexOffsetErr != nil {
-		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-	}
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+		}
 
-	// Simple Field (itemReadLength)
-	itemReadLength := uint32(m.ItemReadLength)
-	_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
-	if _itemReadLengthErr != nil {
-		return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
-	}
+		// Simple Field (itemReadLength)
+		itemReadLength := uint32(m.ItemReadLength)
+		_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
+		if _itemReadLengthErr != nil {
+			return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemRead"); popErr != nil {
 			return popErr
@@ -193,6 +189,3 @@ func (m *AdsMultiRequestItemRead) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index a8679cd..8777f31 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -19,22 +19,20 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsMultiRequestItemReadWrite struct {
-	ItemIndexGroup uint32
+	ItemIndexGroup  uint32
 	ItemIndexOffset uint32
-	ItemReadLength uint32
+	ItemReadLength  uint32
 	ItemWriteLength uint32
-	Parent *AdsMultiRequestItem
+	Parent          *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -51,17 +49,16 @@ func (m *AdsMultiRequestItemReadWrite) IndexGroup() uint32 {
 	return 61570
 }
 
-
 func (m *AdsMultiRequestItemReadWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemReadWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemReadLength uint32, itemWriteLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemReadWrite{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength: itemReadLength,
+		ItemReadLength:  itemReadLength,
 		ItemWriteLength: itemWriteLength,
-		Parent: NewAdsMultiRequestItem(),
+		Parent:          NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -98,50 +95,49 @@ func (m *AdsMultiRequestItemReadWrite) LengthInBitsConditional(lastItem bool) ui
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemReadLength)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemWriteLength)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsMultiRequestItemReadWrite) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemReadWrite"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemReadLength)
-itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
+	itemReadLength, _itemReadLengthErr := readBuffer.ReadUint32("itemReadLength", 32)
 	if _itemReadLengthErr != nil {
 		return nil, errors.Wrap(_itemReadLengthErr, "Error parsing 'itemReadLength' field")
 	}
 
 	// Simple Field (itemWriteLength)
-itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
+	itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
 	if _itemWriteLengthErr != nil {
 		return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
 	}
@@ -152,11 +148,11 @@ itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength",
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemReadWrite{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
-		ItemReadLength: itemReadLength,
+		ItemReadLength:  itemReadLength,
 		ItemWriteLength: itemWriteLength,
-		Parent: &AdsMultiRequestItem{},
+		Parent:          &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -168,33 +164,33 @@ func (m *AdsMultiRequestItemReadWrite) Serialize(writeBuffer utils.WriteBuffer)
 			return pushErr
 		}
 
-	// Simple Field (itemIndexGroup)
-	itemIndexGroup := uint32(m.ItemIndexGroup)
-	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-	if _itemIndexGroupErr != nil {
-		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-	}
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+		}
 
-	// Simple Field (itemIndexOffset)
-	itemIndexOffset := uint32(m.ItemIndexOffset)
-	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-	if _itemIndexOffsetErr != nil {
-		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-	}
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+		}
 
-	// Simple Field (itemReadLength)
-	itemReadLength := uint32(m.ItemReadLength)
-	_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
-	if _itemReadLengthErr != nil {
-		return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
-	}
+		// Simple Field (itemReadLength)
+		itemReadLength := uint32(m.ItemReadLength)
+		_itemReadLengthErr := writeBuffer.WriteUint32("itemReadLength", 32, (itemReadLength))
+		if _itemReadLengthErr != nil {
+			return errors.Wrap(_itemReadLengthErr, "Error serializing 'itemReadLength' field")
+		}
 
-	// Simple Field (itemWriteLength)
-	itemWriteLength := uint32(m.ItemWriteLength)
-	_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
-	if _itemWriteLengthErr != nil {
-		return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
-	}
+		// Simple Field (itemWriteLength)
+		itemWriteLength := uint32(m.ItemWriteLength)
+		_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+		if _itemWriteLengthErr != nil {
+			return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemReadWrite"); popErr != nil {
 			return popErr
@@ -212,6 +208,3 @@ func (m *AdsMultiRequestItemReadWrite) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
index 71bfcbb..eb745be 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsMultiRequestItemWrite struct {
-	ItemIndexGroup uint32
+	ItemIndexGroup  uint32
 	ItemIndexOffset uint32
 	ItemWriteLength uint32
-	Parent *AdsMultiRequestItem
+	Parent          *AdsMultiRequestItem
 }
 
 // The corresponding interface
@@ -50,16 +48,15 @@ func (m *AdsMultiRequestItemWrite) IndexGroup() uint32 {
 	return 61569
 }
 
-
 func (m *AdsMultiRequestItemWrite) InitializeParent(parent *AdsMultiRequestItem) {
 }
 
 func NewAdsMultiRequestItemWrite(itemIndexGroup uint32, itemIndexOffset uint32, itemWriteLength uint32) *AdsMultiRequestItem {
 	child := &AdsMultiRequestItemWrite{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
 		ItemWriteLength: itemWriteLength,
-		Parent: NewAdsMultiRequestItem(),
+		Parent:          NewAdsMultiRequestItem(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -96,41 +93,40 @@ func (m *AdsMultiRequestItemWrite) LengthInBitsConditional(lastItem bool) uint16
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (itemIndexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemIndexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (itemWriteLength)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsMultiRequestItemWrite) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer, ) (*AdsMultiRequestItem, error) {
+func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer) (*AdsMultiRequestItem, error) {
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemWrite"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (itemIndexGroup)
-itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
+	itemIndexGroup, _itemIndexGroupErr := readBuffer.ReadUint32("itemIndexGroup", 32)
 	if _itemIndexGroupErr != nil {
 		return nil, errors.Wrap(_itemIndexGroupErr, "Error parsing 'itemIndexGroup' field")
 	}
 
 	// Simple Field (itemIndexOffset)
-itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
+	itemIndexOffset, _itemIndexOffsetErr := readBuffer.ReadUint32("itemIndexOffset", 32)
 	if _itemIndexOffsetErr != nil {
 		return nil, errors.Wrap(_itemIndexOffsetErr, "Error parsing 'itemIndexOffset' field")
 	}
 
 	// Simple Field (itemWriteLength)
-itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
+	itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength", 32)
 	if _itemWriteLengthErr != nil {
 		return nil, errors.Wrap(_itemWriteLengthErr, "Error parsing 'itemWriteLength' field")
 	}
@@ -141,10 +137,10 @@ itemWriteLength, _itemWriteLengthErr := readBuffer.ReadUint32("itemWriteLength",
 
 	// Create a partially initialized instance
 	_child := &AdsMultiRequestItemWrite{
-		ItemIndexGroup: itemIndexGroup,
+		ItemIndexGroup:  itemIndexGroup,
 		ItemIndexOffset: itemIndexOffset,
 		ItemWriteLength: itemWriteLength,
-		Parent: &AdsMultiRequestItem{},
+		Parent:          &AdsMultiRequestItem{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -156,26 +152,26 @@ func (m *AdsMultiRequestItemWrite) Serialize(writeBuffer utils.WriteBuffer) erro
 			return pushErr
 		}
 
-	// Simple Field (itemIndexGroup)
-	itemIndexGroup := uint32(m.ItemIndexGroup)
-	_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
-	if _itemIndexGroupErr != nil {
-		return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
-	}
+		// Simple Field (itemIndexGroup)
+		itemIndexGroup := uint32(m.ItemIndexGroup)
+		_itemIndexGroupErr := writeBuffer.WriteUint32("itemIndexGroup", 32, (itemIndexGroup))
+		if _itemIndexGroupErr != nil {
+			return errors.Wrap(_itemIndexGroupErr, "Error serializing 'itemIndexGroup' field")
+		}
 
-	// Simple Field (itemIndexOffset)
-	itemIndexOffset := uint32(m.ItemIndexOffset)
-	_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
-	if _itemIndexOffsetErr != nil {
-		return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
-	}
+		// Simple Field (itemIndexOffset)
+		itemIndexOffset := uint32(m.ItemIndexOffset)
+		_itemIndexOffsetErr := writeBuffer.WriteUint32("itemIndexOffset", 32, (itemIndexOffset))
+		if _itemIndexOffsetErr != nil {
+			return errors.Wrap(_itemIndexOffsetErr, "Error serializing 'itemIndexOffset' field")
+		}
 
-	// Simple Field (itemWriteLength)
-	itemWriteLength := uint32(m.ItemWriteLength)
-	_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
-	if _itemWriteLengthErr != nil {
-		return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
-	}
+		// Simple Field (itemWriteLength)
+		itemWriteLength := uint32(m.ItemWriteLength)
+		_itemWriteLengthErr := writeBuffer.WriteUint32("itemWriteLength", 32, (itemWriteLength))
+		if _itemWriteLengthErr != nil {
+			return errors.Wrap(_itemWriteLengthErr, "Error serializing 'itemWriteLength' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsMultiRequestItemWrite"); popErr != nil {
 			return popErr
@@ -193,6 +189,3 @@ func (m *AdsMultiRequestItemWrite) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index 2cb24aa..66d724e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -19,20 +19,18 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsNotificationSample struct {
 	NotificationHandle uint32
-	SampleSize uint32
-	Data []int8
+	SampleSize         uint32
+	Data               []int8
 }
 
 // The corresponding interface
@@ -71,10 +69,10 @@ func (m *AdsNotificationSample) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (notificationHandle)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (sampleSize)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Array field
 	if len(m.Data) > 0 {
@@ -84,7 +82,6 @@ func (m *AdsNotificationSample) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsNotificationSample) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -95,13 +92,13 @@ func AdsNotificationSampleParse(readBuffer utils.ReadBuffer) (*AdsNotificationSa
 	}
 
 	// Simple Field (notificationHandle)
-notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
+	notificationHandle, _notificationHandleErr := readBuffer.ReadUint32("notificationHandle", 32)
 	if _notificationHandleErr != nil {
 		return nil, errors.Wrap(_notificationHandleErr, "Error parsing 'notificationHandle' field")
 	}
 
 	// Simple Field (sampleSize)
-sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
+	sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
 	if _sampleSizeErr != nil {
 		return nil, errors.Wrap(_sampleSizeErr, "Error parsing 'sampleSize' field")
 	}
@@ -132,7 +129,7 @@ sampleSize, _sampleSizeErr := readBuffer.ReadUint32("sampleSize", 32)
 }
 
 func (m *AdsNotificationSample) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AdsNotificationSample"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsNotificationSample"); pushErr != nil {
 		return pushErr
 	}
 
@@ -180,6 +177,3 @@ func (m *AdsNotificationSample) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index dccde2c..219d2e8 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadDeviceInfoRequest struct {
@@ -50,7 +48,6 @@ func (m *AdsReadDeviceInfoRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsReadDeviceInfoRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -95,12 +92,11 @@ func (m *AdsReadDeviceInfoRequest) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
-
 func (m *AdsReadDeviceInfoRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -139,6 +135,3 @@ func (m *AdsReadDeviceInfoRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index e2b5684..0981bb1 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadDeviceInfoResponse struct {
-	Result ReturnCode
+	Result       ReturnCode
 	MajorVersion uint8
 	MinorVersion uint8
-	Version uint16
-	Device []int8
-	Parent *AdsData
+	Version      uint16
+	Device       []int8
+	Parent       *AdsData
 }
 
 // The corresponding interface
@@ -56,18 +54,17 @@ func (m *AdsReadDeviceInfoResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsReadDeviceInfoResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadDeviceInfoResponse(result ReturnCode, majorVersion uint8, minorVersion uint8, version uint16, device []int8) *AdsData {
 	child := &AdsReadDeviceInfoResponse{
-		Result: result,
+		Result:       result,
 		MajorVersion: majorVersion,
 		MinorVersion: minorVersion,
-		Version: version,
-		Device: device,
-		Parent: NewAdsData(),
+		Version:      version,
+		Device:       device,
+		Parent:       NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -107,13 +104,13 @@ func (m *AdsReadDeviceInfoResponse) LengthInBitsConditional(lastItem bool) uint1
 	lengthInBits += 32
 
 	// Simple field (majorVersion)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (minorVersion)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (version)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Array field
 	if len(m.Device) > 0 {
@@ -123,12 +120,11 @@ func (m *AdsReadDeviceInfoResponse) LengthInBitsConditional(lastItem bool) uint1
 	return lengthInBits
 }
 
-
 func (m *AdsReadDeviceInfoResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -137,7 +133,7 @@ func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, er
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -146,19 +142,19 @@ result, _resultErr := ReturnCodeParse(readBuffer)
 	}
 
 	// Simple Field (majorVersion)
-majorVersion, _majorVersionErr := readBuffer.ReadUint8("majorVersion", 8)
+	majorVersion, _majorVersionErr := readBuffer.ReadUint8("majorVersion", 8)
 	if _majorVersionErr != nil {
 		return nil, errors.Wrap(_majorVersionErr, "Error parsing 'majorVersion' field")
 	}
 
 	// Simple Field (minorVersion)
-minorVersion, _minorVersionErr := readBuffer.ReadUint8("minorVersion", 8)
+	minorVersion, _minorVersionErr := readBuffer.ReadUint8("minorVersion", 8)
 	if _minorVersionErr != nil {
 		return nil, errors.Wrap(_minorVersionErr, "Error parsing 'minorVersion' field")
 	}
 
 	// Simple Field (version)
-version, _versionErr := readBuffer.ReadUint16("version", 16)
+	version, _versionErr := readBuffer.ReadUint16("version", 16)
 	if _versionErr != nil {
 		return nil, errors.Wrap(_versionErr, "Error parsing 'version' field")
 	}
@@ -186,12 +182,12 @@ version, _versionErr := readBuffer.ReadUint16("version", 16)
 
 	// Create a partially initialized instance
 	_child := &AdsReadDeviceInfoResponse{
-		Result: result,
+		Result:       result,
 		MajorVersion: majorVersion,
 		MinorVersion: minorVersion,
-		Version: version,
-		Device: device,
-		Parent: &AdsData{},
+		Version:      version,
+		Device:       device,
+		Parent:       &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -203,54 +199,54 @@ func (m *AdsReadDeviceInfoResponse) Serialize(writeBuffer utils.WriteBuffer) err
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
-
-	// Simple Field (majorVersion)
-	majorVersion := uint8(m.MajorVersion)
-	_majorVersionErr := writeBuffer.WriteUint8("majorVersion", 8, (majorVersion))
-	if _majorVersionErr != nil {
-		return errors.Wrap(_majorVersionErr, "Error serializing 'majorVersion' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
-	// Simple Field (minorVersion)
-	minorVersion := uint8(m.MinorVersion)
-	_minorVersionErr := writeBuffer.WriteUint8("minorVersion", 8, (minorVersion))
-	if _minorVersionErr != nil {
-		return errors.Wrap(_minorVersionErr, "Error serializing 'minorVersion' field")
-	}
+		// Simple Field (majorVersion)
+		majorVersion := uint8(m.MajorVersion)
+		_majorVersionErr := writeBuffer.WriteUint8("majorVersion", 8, (majorVersion))
+		if _majorVersionErr != nil {
+			return errors.Wrap(_majorVersionErr, "Error serializing 'majorVersion' field")
+		}
 
-	// Simple Field (version)
-	version := uint16(m.Version)
-	_versionErr := writeBuffer.WriteUint16("version", 16, (version))
-	if _versionErr != nil {
-		return errors.Wrap(_versionErr, "Error serializing 'version' field")
-	}
+		// Simple Field (minorVersion)
+		minorVersion := uint8(m.MinorVersion)
+		_minorVersionErr := writeBuffer.WriteUint8("minorVersion", 8, (minorVersion))
+		if _minorVersionErr != nil {
+			return errors.Wrap(_minorVersionErr, "Error serializing 'minorVersion' field")
+		}
 
-	// Array Field (device)
-	if m.Device != nil {
-		if pushErr := writeBuffer.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
+		// Simple Field (version)
+		version := uint16(m.Version)
+		_versionErr := writeBuffer.WriteUint16("version", 16, (version))
+		if _versionErr != nil {
+			return errors.Wrap(_versionErr, "Error serializing 'version' field")
 		}
-		for _, _element := range m.Device {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'device' field")
+
+		// Array Field (device)
+		if m.Device != nil {
+			if pushErr := writeBuffer.PushContext("device", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Device {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'device' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("device", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsReadDeviceInfoResponse"); popErr != nil {
 			return popErr
@@ -268,6 +264,3 @@ func (m *AdsReadDeviceInfoResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
index 1adf5768..cade5a9 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadRequest.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadRequest struct {
-	IndexGroup uint32
+	IndexGroup  uint32
 	IndexOffset uint32
-	Length uint32
-	Parent *AdsData
+	Length      uint32
+	Parent      *AdsData
 }
 
 // The corresponding interface
@@ -54,16 +52,15 @@ func (m *AdsReadRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsReadRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadRequest(indexGroup uint32, indexOffset uint32, length uint32) *AdsData {
 	child := &AdsReadRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		Length: length,
-		Parent: NewAdsData(),
+		Length:      length,
+		Parent:      NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,41 +97,40 @@ func (m *AdsReadRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (indexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (length)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	return lengthInBits
 }
 
-
 func (m *AdsReadRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadUint32("length", 32)
+	length, _lengthErr := readBuffer.ReadUint32("length", 32)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
@@ -145,10 +141,10 @@ length, _lengthErr := readBuffer.ReadUint32("length", 32)
 
 	// Create a partially initialized instance
 	_child := &AdsReadRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		Length: length,
-		Parent: &AdsData{},
+		Length:      length,
+		Parent:      &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -160,26 +156,26 @@ func (m *AdsReadRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (indexGroup)
-	indexGroup := uint32(m.IndexGroup)
-	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-	if _indexGroupErr != nil {
-		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-	}
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+		}
 
-	// Simple Field (indexOffset)
-	indexOffset := uint32(m.IndexOffset)
-	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-	if _indexOffsetErr != nil {
-		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-	}
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+		}
 
-	// Simple Field (length)
-	length := uint32(m.Length)
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
+		// Simple Field (length)
+		length := uint32(m.Length)
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsReadRequest"); popErr != nil {
 			return popErr
@@ -197,6 +193,3 @@ func (m *AdsReadRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index 8626463..9eb97e3 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadResponse struct {
 	Result ReturnCode
-	Data []int8
+	Data   []int8
 	Parent *AdsData
 }
 
@@ -53,14 +51,13 @@ func (m *AdsReadResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsReadResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadResponse(result ReturnCode, data []int8) *AdsData {
 	child := &AdsReadResponse{
 		Result: result,
-		Data: data,
+		Data:   data,
 		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
@@ -111,12 +108,11 @@ func (m *AdsReadResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsReadResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -125,7 +121,7 @@ func AdsReadResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -164,7 +160,7 @@ result, _resultErr := ReturnCodeParse(readBuffer)
 	// Create a partially initialized instance
 	_child := &AdsReadResponse{
 		Result: result,
-		Data: data,
+		Data:   data,
 		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
@@ -177,40 +173,40 @@ func (m *AdsReadResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
-
-	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	length := uint32(uint32(len(m.Data)))
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
-
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
 			return pushErr
 		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
-			}
-		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
 			return popErr
 		}
-	}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
+
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
+			}
+		}
 
 		if popErr := writeBuffer.PopContext("AdsReadResponse"); popErr != nil {
 			return popErr
@@ -228,6 +224,3 @@ func (m *AdsReadResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
index 3d05929..44adbc8 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateRequest.go
@@ -19,13 +19,11 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadStateRequest struct {
@@ -50,7 +48,6 @@ func (m *AdsReadStateRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsReadStateRequest) InitializeParent(parent *AdsData) {
 }
 
@@ -95,12 +92,11 @@ func (m *AdsReadStateRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsReadStateRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadStateRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadStateRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadStateRequest"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -139,6 +135,3 @@ func (m *AdsReadStateRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
index a02300d..70191d1 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadStateResponse.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadStateResponse struct {
-	Result ReturnCode
-	AdsState uint16
+	Result      ReturnCode
+	AdsState    uint16
 	DeviceState uint16
-	Parent *AdsData
+	Parent      *AdsData
 }
 
 // The corresponding interface
@@ -54,16 +52,15 @@ func (m *AdsReadStateResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsReadStateResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadStateResponse(result ReturnCode, adsState uint16, deviceState uint16) *AdsData {
 	child := &AdsReadStateResponse{
-		Result: result,
-		AdsState: adsState,
+		Result:      result,
+		AdsState:    adsState,
 		DeviceState: deviceState,
-		Parent: NewAdsData(),
+		Parent:      NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -103,20 +100,19 @@ func (m *AdsReadStateResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += 32
 
 	// Simple field (adsState)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (deviceState)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
 
-
 func (m *AdsReadStateResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadStateResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadStateResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -125,7 +121,7 @@ func AdsReadStateResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error)
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -134,13 +130,13 @@ result, _resultErr := ReturnCodeParse(readBuffer)
 	}
 
 	// Simple Field (adsState)
-adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
+	adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
 	if _adsStateErr != nil {
 		return nil, errors.Wrap(_adsStateErr, "Error parsing 'adsState' field")
 	}
 
 	// Simple Field (deviceState)
-deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
+	deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 	if _deviceStateErr != nil {
 		return nil, errors.Wrap(_deviceStateErr, "Error parsing 'deviceState' field")
 	}
@@ -151,10 +147,10 @@ deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 
 	// Create a partially initialized instance
 	_child := &AdsReadStateResponse{
-		Result: result,
-		AdsState: adsState,
+		Result:      result,
+		AdsState:    adsState,
 		DeviceState: deviceState,
-		Parent: &AdsData{},
+		Parent:      &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -166,31 +162,31 @@ func (m *AdsReadStateResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
-	// Simple Field (adsState)
-	adsState := uint16(m.AdsState)
-	_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
-	if _adsStateErr != nil {
-		return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
-	}
+		// Simple Field (adsState)
+		adsState := uint16(m.AdsState)
+		_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
+		if _adsStateErr != nil {
+			return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
+		}
 
-	// Simple Field (deviceState)
-	deviceState := uint16(m.DeviceState)
-	_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
-	if _deviceStateErr != nil {
-		return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
-	}
+		// Simple Field (deviceState)
+		deviceState := uint16(m.DeviceState)
+		_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
+		if _deviceStateErr != nil {
+			return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsReadStateResponse"); popErr != nil {
 			return popErr
@@ -208,6 +204,3 @@ func (m *AdsReadStateResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index 4c2b688..df5b4ea 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadWriteRequest struct {
-	IndexGroup uint32
+	IndexGroup  uint32
 	IndexOffset uint32
-	ReadLength uint32
-	Items []*AdsMultiRequestItem
-	Data []int8
-	Parent *AdsData
+	ReadLength  uint32
+	Items       []*AdsMultiRequestItem
+	Data        []int8
+	Parent      *AdsData
 }
 
 // The corresponding interface
@@ -56,18 +54,17 @@ func (m *AdsReadWriteRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsReadWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteRequest(indexGroup uint32, indexOffset uint32, readLength uint32, items []*AdsMultiRequestItem, data []int8) *AdsData {
 	child := &AdsReadWriteRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		ReadLength: readLength,
-		Items: items,
-		Data: data,
-		Parent: NewAdsData(),
+		ReadLength:  readLength,
+		Items:       items,
+		Data:        data,
+		Parent:      NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -104,13 +101,13 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (indexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (readLength)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Implicit Field (writeLength)
 	lengthInBits += 32
@@ -118,7 +115,7 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	// Array field
 	if len(m.Items) > 0 {
 		for i, element := range m.Items {
-			last := i == len(m.Items) -1
+			last := i == len(m.Items)-1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -131,30 +128,29 @@ func (m *AdsReadWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsReadWriteRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadWriteRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
 
 	// Simple Field (readLength)
-readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
+	readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
 	if _readLengthErr != nil {
 		return nil, errors.Wrap(_readLengthErr, "Error parsing 'readLength' field")
 	}
@@ -171,8 +167,8 @@ readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
 		return nil, pullErr
 	}
 	// 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() interface{} {return uint16(indexOffset)}, func() interface{} {return uint16(uint16(0))}).(uint16))
-	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() interface{} {return uint16(indexOffset)}, func() interface{} {return uint16(uint16(0))}).(uint16)); curItem++ {
+	items := make([]*AdsMultiRequestItem, utils.InlineIf(bool(bool(bool(bool(bool((indexGroup) == (61568)))) || bool(bool(bool((indexGroup) == (61569))))) || bool(bool(bool((indexGroup) == (61570))))), func() interface{} { return uint16(indexOffset) }, func() interface{} { return uint16(uint16(0)) }).(uint16))
+	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() interface{} { return uint16(indexOffset) }, func() interface{} { return uint16(uint16(0)) }).(uint16)); curItem++ {
 		_item, _err := AdsMultiRequestItemParse(readBuffer, indexGroup)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'items' field")
@@ -188,8 +184,8 @@ readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
 		return nil, pullErr
 	}
 	// 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++ {
+	data := make([]int8, uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12)))))
+	for curItem := uint16(0); curItem < uint16(uint16(writeLength)-uint16(uint16(uint16(uint16(len(items)))*uint16(uint16(12))))); curItem++ {
 		_item, _err := readBuffer.ReadInt8("", 8)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing 'data' field")
@@ -206,12 +202,12 @@ readLength, _readLengthErr := readBuffer.ReadUint32("readLength", 32)
 
 	// Create a partially initialized instance
 	_child := &AdsReadWriteRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		ReadLength: readLength,
-		Items: items,
-		Data: data,
-		Parent: &AdsData{},
+		ReadLength:  readLength,
+		Items:       items,
+		Data:        data,
+		Parent:      &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -223,65 +219,65 @@ func (m *AdsReadWriteRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (indexGroup)
-	indexGroup := uint32(m.IndexGroup)
-	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-	if _indexGroupErr != nil {
-		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-	}
-
-	// Simple Field (indexOffset)
-	indexOffset := uint32(m.IndexOffset)
-	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-	if _indexOffsetErr != nil {
-		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-	}
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+		}
 
-	// Simple Field (readLength)
-	readLength := uint32(m.ReadLength)
-	_readLengthErr := writeBuffer.WriteUint32("readLength", 32, (readLength))
-	if _readLengthErr != nil {
-		return errors.Wrap(_readLengthErr, "Error serializing 'readLength' field")
-	}
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+		}
 
-	// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items))) * uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == ((61570)))), func() interface{} {return uint32(uint32(16))}, func() interface{} {return uint32(uint32(12))}).(uint32))))) + uint32(uint32(len(m.Data))))
-	_writeLengthErr := writeBuffer.WriteUint32("writeLength", 32, (writeLength))
-	if _writeLengthErr != nil {
-		return errors.Wrap(_writeLengthErr, "Error serializing 'writeLength' field")
-	}
+		// Simple Field (readLength)
+		readLength := uint32(m.ReadLength)
+		_readLengthErr := writeBuffer.WriteUint32("readLength", 32, (readLength))
+		if _readLengthErr != nil {
+			return errors.Wrap(_readLengthErr, "Error serializing 'readLength' field")
+		}
 
-	// Array Field (items)
-	if m.Items != nil {
-		if pushErr := writeBuffer.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
+		// Implicit Field (writeLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		writeLength := uint32(uint32(uint32(uint32(uint32(len(m.Items)))*uint32(uint32(utils.InlineIf(bool(bool((m.IndexGroup) == (61570))), func() interface{} { return uint32(uint32(16)) }, func() interface{} { return uint32(uint32(12)) }).(uint32))))) + uint32(uint32(len(m.Data))))
+		_writeLengthErr := writeBuffer.WriteUint32("writeLength", 32, (writeLength))
+		if _writeLengthErr != nil {
+			return errors.Wrap(_writeLengthErr, "Error serializing 'writeLength' field")
 		}
-		for _, _element := range m.Items {
-			_elementErr := _element.Serialize(writeBuffer)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'items' field")
+
+		// Array Field (items)
+		if m.Items != nil {
+			if pushErr := writeBuffer.PushContext("items", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Items {
+				_elementErr := _element.Serialize(writeBuffer)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'items' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("items", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
-		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsReadWriteRequest"); popErr != nil {
 			return popErr
@@ -299,6 +295,3 @@ func (m *AdsReadWriteRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index b3f1a94..2d620bb 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsReadWriteResponse struct {
 	Result ReturnCode
-	Data []int8
+	Data   []int8
 	Parent *AdsData
 }
 
@@ -53,14 +51,13 @@ func (m *AdsReadWriteResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsReadWriteResponse) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsReadWriteResponse(result ReturnCode, data []int8) *AdsData {
 	child := &AdsReadWriteResponse{
 		Result: result,
-		Data: data,
+		Data:   data,
 		Parent: NewAdsData(),
 	}
 	child.Parent.Child = child
@@ -111,12 +108,11 @@ func (m *AdsReadWriteResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsReadWriteResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsReadWriteResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -125,7 +121,7 @@ func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error)
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -164,7 +160,7 @@ result, _resultErr := ReturnCodeParse(readBuffer)
 	// Create a partially initialized instance
 	_child := &AdsReadWriteResponse{
 		Result: result,
-		Data: data,
+		Data:   data,
 		Parent: &AdsData{},
 	}
 	_child.Parent.Child = _child
@@ -177,40 +173,40 @@ func (m *AdsReadWriteResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
-
-	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	length := uint32(uint32(len(m.Data)))
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
-
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
 			return pushErr
 		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
-			}
-		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
 			return popErr
 		}
-	}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
+
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
+		}
+
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
+			}
+		}
 
 		if popErr := writeBuffer.PopContext("AdsReadWriteResponse"); popErr != nil {
 			return popErr
@@ -228,6 +224,3 @@ func (m *AdsReadWriteResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index ac4ce82..b81f997 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -19,19 +19,17 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsStampHeader struct {
-	Timestamp uint64
-	Samples uint32
+	Timestamp              uint64
+	Samples                uint32
 	AdsNotificationSamples []*AdsNotificationSample
 }
 
@@ -71,15 +69,15 @@ func (m *AdsStampHeader) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (timestamp)
-	lengthInBits += 64;
+	lengthInBits += 64
 
 	// Simple field (samples)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Array field
 	if len(m.AdsNotificationSamples) > 0 {
 		for i, element := range m.AdsNotificationSamples {
-			last := i == len(m.AdsNotificationSamples) -1
+			last := i == len(m.AdsNotificationSamples)-1
 			lengthInBits += element.LengthInBitsConditional(last)
 		}
 	}
@@ -87,7 +85,6 @@ func (m *AdsStampHeader) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsStampHeader) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -98,13 +95,13 @@ func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (*AdsStampHeader, error) {
 	}
 
 	// Simple Field (timestamp)
-timestamp, _timestampErr := readBuffer.ReadUint64("timestamp", 64)
+	timestamp, _timestampErr := readBuffer.ReadUint64("timestamp", 64)
 	if _timestampErr != nil {
 		return nil, errors.Wrap(_timestampErr, "Error parsing 'timestamp' field")
 	}
 
 	// Simple Field (samples)
-samples, _samplesErr := readBuffer.ReadUint32("samples", 32)
+	samples, _samplesErr := readBuffer.ReadUint32("samples", 32)
 	if _samplesErr != nil {
 		return nil, errors.Wrap(_samplesErr, "Error parsing 'samples' field")
 	}
@@ -135,7 +132,7 @@ samples, _samplesErr := readBuffer.ReadUint32("samples", 32)
 }
 
 func (m *AdsStampHeader) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AdsStampHeader"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AdsStampHeader"); pushErr != nil {
 		return pushErr
 	}
 
@@ -183,6 +180,3 @@ func (m *AdsStampHeader) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index fa2a805..a871f38 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsWriteControlRequest struct {
-	AdsState uint16
+	AdsState    uint16
 	DeviceState uint16
-	Data []int8
-	Parent *AdsData
+	Data        []int8
+	Parent      *AdsData
 }
 
 // The corresponding interface
@@ -54,16 +52,15 @@ func (m *AdsWriteControlRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsWriteControlRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteControlRequest(adsState uint16, deviceState uint16, data []int8) *AdsData {
 	child := &AdsWriteControlRequest{
-		AdsState: adsState,
+		AdsState:    adsState,
 		DeviceState: deviceState,
-		Data: data,
-		Parent: NewAdsData(),
+		Data:        data,
+		Parent:      NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,10 +97,10 @@ func (m *AdsWriteControlRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (adsState)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (deviceState)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Implicit Field (length)
 	lengthInBits += 32
@@ -116,24 +113,23 @@ func (m *AdsWriteControlRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsWriteControlRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteControlRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (adsState)
-adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
+	adsState, _adsStateErr := readBuffer.ReadUint16("adsState", 16)
 	if _adsStateErr != nil {
 		return nil, errors.Wrap(_adsStateErr, "Error parsing 'adsState' field")
 	}
 
 	// Simple Field (deviceState)
-deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
+	deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 	if _deviceStateErr != nil {
 		return nil, errors.Wrap(_deviceStateErr, "Error parsing 'deviceState' field")
 	}
@@ -168,10 +164,10 @@ deviceState, _deviceStateErr := readBuffer.ReadUint16("deviceState", 16)
 
 	// Create a partially initialized instance
 	_child := &AdsWriteControlRequest{
-		AdsState: adsState,
+		AdsState:    adsState,
 		DeviceState: deviceState,
-		Data: data,
-		Parent: &AdsData{},
+		Data:        data,
+		Parent:      &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -183,42 +179,42 @@ func (m *AdsWriteControlRequest) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-	// Simple Field (adsState)
-	adsState := uint16(m.AdsState)
-	_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
-	if _adsStateErr != nil {
-		return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
-	}
-
-	// Simple Field (deviceState)
-	deviceState := uint16(m.DeviceState)
-	_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
-	if _deviceStateErr != nil {
-		return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
-	}
+		// Simple Field (adsState)
+		adsState := uint16(m.AdsState)
+		_adsStateErr := writeBuffer.WriteUint16("adsState", 16, (adsState))
+		if _adsStateErr != nil {
+			return errors.Wrap(_adsStateErr, "Error serializing 'adsState' field")
+		}
 
-	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	length := uint32(uint32(len(m.Data)))
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
+		// Simple Field (deviceState)
+		deviceState := uint16(m.DeviceState)
+		_deviceStateErr := writeBuffer.WriteUint16("deviceState", 16, (deviceState))
+		if _deviceStateErr != nil {
+			return errors.Wrap(_deviceStateErr, "Error serializing 'deviceState' field")
+		}
 
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
 		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
+
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteControlRequest"); popErr != nil {
 			return popErr
@@ -236,6 +232,3 @@ func (m *AdsWriteControlRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
index 7ea5c46..f5b4972 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlResponse.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsWriteControlResponse struct {
@@ -52,7 +50,6 @@ func (m *AdsWriteControlResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsWriteControlResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -101,12 +98,11 @@ func (m *AdsWriteControlResponse) LengthInBitsConditional(lastItem bool) uint16
 	return lengthInBits
 }
 
-
 func (m *AdsWriteControlResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteControlResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -115,7 +111,7 @@ func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, erro
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -142,17 +138,17 @@ func (m *AdsWriteControlResponse) Serialize(writeBuffer utils.WriteBuffer) error
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsWriteControlResponse"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *AdsWriteControlResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index 0269c2c..3273b5b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -19,21 +19,19 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsWriteRequest struct {
-	IndexGroup uint32
+	IndexGroup  uint32
 	IndexOffset uint32
-	Data []int8
-	Parent *AdsData
+	Data        []int8
+	Parent      *AdsData
 }
 
 // The corresponding interface
@@ -54,16 +52,15 @@ func (m *AdsWriteRequest) Response() bool {
 	return false
 }
 
-
 func (m *AdsWriteRequest) InitializeParent(parent *AdsData) {
 }
 
 func NewAdsWriteRequest(indexGroup uint32, indexOffset uint32, data []int8) *AdsData {
 	child := &AdsWriteRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		Data: data,
-		Parent: NewAdsData(),
+		Data:        data,
+		Parent:      NewAdsData(),
 	}
 	child.Parent.Child = child
 	return child.Parent
@@ -100,10 +97,10 @@ func (m *AdsWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.Parent.ParentLengthInBits())
 
 	// Simple field (indexGroup)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (indexOffset)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Implicit Field (length)
 	lengthInBits += 32
@@ -116,24 +113,23 @@ func (m *AdsWriteRequest) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsWriteRequest) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteRequestParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsWriteRequestParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteRequest"); pullErr != nil {
 		return nil, pullErr
 	}
 
 	// Simple Field (indexGroup)
-indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
+	indexGroup, _indexGroupErr := readBuffer.ReadUint32("indexGroup", 32)
 	if _indexGroupErr != nil {
 		return nil, errors.Wrap(_indexGroupErr, "Error parsing 'indexGroup' field")
 	}
 
 	// Simple Field (indexOffset)
-indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
+	indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 	if _indexOffsetErr != nil {
 		return nil, errors.Wrap(_indexOffsetErr, "Error parsing 'indexOffset' field")
 	}
@@ -168,10 +164,10 @@ indexOffset, _indexOffsetErr := readBuffer.ReadUint32("indexOffset", 32)
 
 	// Create a partially initialized instance
 	_child := &AdsWriteRequest{
-		IndexGroup: indexGroup,
+		IndexGroup:  indexGroup,
 		IndexOffset: indexOffset,
-		Data: data,
-		Parent: &AdsData{},
+		Data:        data,
+		Parent:      &AdsData{},
 	}
 	_child.Parent.Child = _child
 	return _child.Parent, nil
@@ -183,42 +179,42 @@ func (m *AdsWriteRequest) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (indexGroup)
-	indexGroup := uint32(m.IndexGroup)
-	_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
-	if _indexGroupErr != nil {
-		return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
-	}
-
-	// Simple Field (indexOffset)
-	indexOffset := uint32(m.IndexOffset)
-	_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
-	if _indexOffsetErr != nil {
-		return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
-	}
+		// Simple Field (indexGroup)
+		indexGroup := uint32(m.IndexGroup)
+		_indexGroupErr := writeBuffer.WriteUint32("indexGroup", 32, (indexGroup))
+		if _indexGroupErr != nil {
+			return errors.Wrap(_indexGroupErr, "Error serializing 'indexGroup' field")
+		}
 
-	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	length := uint32(uint32(len(m.Data)))
-	_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
-	if _lengthErr != nil {
-		return errors.Wrap(_lengthErr, "Error serializing 'length' field")
-	}
+		// Simple Field (indexOffset)
+		indexOffset := uint32(m.IndexOffset)
+		_indexOffsetErr := writeBuffer.WriteUint32("indexOffset", 32, (indexOffset))
+		if _indexOffsetErr != nil {
+			return errors.Wrap(_indexOffsetErr, "Error serializing 'indexOffset' field")
+		}
 
-	// Array Field (data)
-	if m.Data != nil {
-		if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
-			return pushErr
+		// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+		length := uint32(uint32(len(m.Data)))
+		_lengthErr := writeBuffer.WriteUint32("length", 32, (length))
+		if _lengthErr != nil {
+			return errors.Wrap(_lengthErr, "Error serializing 'length' field")
 		}
-		for _, _element := range m.Data {
-			_elementErr := writeBuffer.WriteInt8("", 8, _element)
-			if _elementErr != nil {
-				return errors.Wrap(_elementErr, "Error serializing 'data' field")
+
+		// Array Field (data)
+		if m.Data != nil {
+			if pushErr := writeBuffer.PushContext("data", utils.WithRenderAsList(true)); pushErr != nil {
+				return pushErr
+			}
+			for _, _element := range m.Data {
+				_elementErr := writeBuffer.WriteInt8("", 8, _element)
+				if _elementErr != nil {
+					return errors.Wrap(_elementErr, "Error serializing 'data' field")
+				}
+			}
+			if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
+				return popErr
 			}
 		}
-		if popErr := writeBuffer.PopContext("data", utils.WithRenderAsList(true)); popErr != nil {
-			return popErr
-		}
-	}
 
 		if popErr := writeBuffer.PopContext("AdsWriteRequest"); popErr != nil {
 			return popErr
@@ -236,6 +232,3 @@ func (m *AdsWriteRequest) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
index 8d84e7d..d6b7894 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteResponse.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AdsWriteResponse struct {
@@ -52,7 +50,6 @@ func (m *AdsWriteResponse) Response() bool {
 	return true
 }
 
-
 func (m *AdsWriteResponse) InitializeParent(parent *AdsData) {
 }
 
@@ -101,12 +98,11 @@ func (m *AdsWriteResponse) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AdsWriteResponse) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
 
-func AdsWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
+func AdsWriteResponseParse(readBuffer utils.ReadBuffer) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("AdsWriteResponse"); pullErr != nil {
 		return nil, pullErr
 	}
@@ -115,7 +111,7 @@ func AdsWriteResponseParse(readBuffer utils.ReadBuffer, ) (*AdsData, error) {
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, pullErr
 	}
-result, _resultErr := ReturnCodeParse(readBuffer)
+	result, _resultErr := ReturnCodeParse(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field")
 	}
@@ -142,17 +138,17 @@ func (m *AdsWriteResponse) Serialize(writeBuffer utils.WriteBuffer) error {
 			return pushErr
 		}
 
-	// Simple Field (result)
-	if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
-		return pushErr
-	}
-	_resultErr := m.Result.Serialize(writeBuffer)
-	if popErr := writeBuffer.PopContext("result"); popErr != nil {
-		return popErr
-	}
-	if _resultErr != nil {
-		return errors.Wrap(_resultErr, "Error serializing 'result' field")
-	}
+		// Simple Field (result)
+		if pushErr := writeBuffer.PushContext("result"); pushErr != nil {
+			return pushErr
+		}
+		_resultErr := m.Result.Serialize(writeBuffer)
+		if popErr := writeBuffer.PopContext("result"); popErr != nil {
+			return popErr
+		}
+		if _resultErr != nil {
+			return errors.Wrap(_resultErr, "Error serializing 'result' field")
+		}
 
 		if popErr := writeBuffer.PopContext("AdsWriteResponse"); popErr != nil {
 			return popErr
@@ -170,6 +166,3 @@ func (m *AdsWriteResponse) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
index dfd0cfc..28d0a0b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsNetId.go
@@ -19,14 +19,12 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsNetId struct {
@@ -74,27 +72,26 @@ func (m *AmsNetId) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (octet1)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet2)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet3)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet4)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet5)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (octet6)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	return lengthInBits
 }
 
-
 func (m *AmsNetId) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -105,37 +102,37 @@ func AmsNetIdParse(readBuffer utils.ReadBuffer) (*AmsNetId, error) {
 	}
 
 	// Simple Field (octet1)
-octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
+	octet1, _octet1Err := readBuffer.ReadUint8("octet1", 8)
 	if _octet1Err != nil {
 		return nil, errors.Wrap(_octet1Err, "Error parsing 'octet1' field")
 	}
 
 	// Simple Field (octet2)
-octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
+	octet2, _octet2Err := readBuffer.ReadUint8("octet2", 8)
 	if _octet2Err != nil {
 		return nil, errors.Wrap(_octet2Err, "Error parsing 'octet2' field")
 	}
 
 	// Simple Field (octet3)
-octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
+	octet3, _octet3Err := readBuffer.ReadUint8("octet3", 8)
 	if _octet3Err != nil {
 		return nil, errors.Wrap(_octet3Err, "Error parsing 'octet3' field")
 	}
 
 	// Simple Field (octet4)
-octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
+	octet4, _octet4Err := readBuffer.ReadUint8("octet4", 8)
 	if _octet4Err != nil {
 		return nil, errors.Wrap(_octet4Err, "Error parsing 'octet4' field")
 	}
 
 	// Simple Field (octet5)
-octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
+	octet5, _octet5Err := readBuffer.ReadUint8("octet5", 8)
 	if _octet5Err != nil {
 		return nil, errors.Wrap(_octet5Err, "Error parsing 'octet5' field")
 	}
 
 	// Simple Field (octet6)
-octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
+	octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
 	if _octet6Err != nil {
 		return nil, errors.Wrap(_octet6Err, "Error parsing 'octet6' field")
 	}
@@ -149,7 +146,7 @@ octet6, _octet6Err := readBuffer.ReadUint8("octet6", 8)
 }
 
 func (m *AmsNetId) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsNetId"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsNetId"); pushErr != nil {
 		return pushErr
 	}
 
@@ -209,6 +206,3 @@ func (m *AmsNetId) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
index 0b2d624..5f26363 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsPacket.go
@@ -19,26 +19,24 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsPacket struct {
 	TargetAmsNetId *AmsNetId
-	TargetAmsPort uint16
+	TargetAmsPort  uint16
 	SourceAmsNetId *AmsNetId
-	SourceAmsPort uint16
-	CommandId CommandId
-	State *State
-	ErrorCode uint32
-	InvokeId uint32
-	Data *AdsData
+	SourceAmsPort  uint16
+	CommandId      CommandId
+	State          *State
+	ErrorCode      uint32
+	InvokeId       uint32
+	Data           *AdsData
 }
 
 // The corresponding interface
@@ -80,13 +78,13 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += m.TargetAmsNetId.LengthInBits()
 
 	// Simple field (targetAmsPort)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (sourceAmsNetId)
 	lengthInBits += m.SourceAmsNetId.LengthInBits()
 
 	// Simple field (sourceAmsPort)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (commandId)
 	lengthInBits += 16
@@ -98,10 +96,10 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += 32
 
 	// Simple field (errorCode)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (invokeId)
-	lengthInBits += 32;
+	lengthInBits += 32
 
 	// Simple field (data)
 	lengthInBits += m.Data.LengthInBits()
@@ -109,7 +107,6 @@ func (m *AmsPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AmsPacket) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -123,7 +120,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (*AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("targetAmsNetId"); pullErr != nil {
 		return nil, pullErr
 	}
-targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
+	targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
 	if _targetAmsNetIdErr != nil {
 		return nil, errors.Wrap(_targetAmsNetIdErr, "Error parsing 'targetAmsNetId' field")
 	}
@@ -132,7 +129,7 @@ targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
 	}
 
 	// Simple Field (targetAmsPort)
-targetAmsPort, _targetAmsPortErr := readBuffer.ReadUint16("targetAmsPort", 16)
+	targetAmsPort, _targetAmsPortErr := readBuffer.ReadUint16("targetAmsPort", 16)
 	if _targetAmsPortErr != nil {
 		return nil, errors.Wrap(_targetAmsPortErr, "Error parsing 'targetAmsPort' field")
 	}
@@ -141,7 +138,7 @@ targetAmsPort, _targetAmsPortErr := readBuffer.ReadUint16("targetAmsPort", 16)
 	if pullErr := readBuffer.PullContext("sourceAmsNetId"); pullErr != nil {
 		return nil, pullErr
 	}
-sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
+	sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
 	if _sourceAmsNetIdErr != nil {
 		return nil, errors.Wrap(_sourceAmsNetIdErr, "Error parsing 'sourceAmsNetId' field")
 	}
@@ -150,7 +147,7 @@ sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
 	}
 
 	// Simple Field (sourceAmsPort)
-sourceAmsPort, _sourceAmsPortErr := readBuffer.ReadUint16("sourceAmsPort", 16)
+	sourceAmsPort, _sourceAmsPortErr := readBuffer.ReadUint16("sourceAmsPort", 16)
 	if _sourceAmsPortErr != nil {
 		return nil, errors.Wrap(_sourceAmsPortErr, "Error parsing 'sourceAmsPort' field")
 	}
@@ -159,7 +156,7 @@ sourceAmsPort, _sourceAmsPortErr := readBuffer.ReadUint16("sourceAmsPort", 16)
 	if pullErr := readBuffer.PullContext("commandId"); pullErr != nil {
 		return nil, pullErr
 	}
-commandId, _commandIdErr := CommandIdParse(readBuffer)
+	commandId, _commandIdErr := CommandIdParse(readBuffer)
 	if _commandIdErr != nil {
 		return nil, errors.Wrap(_commandIdErr, "Error parsing 'commandId' field")
 	}
@@ -171,7 +168,7 @@ commandId, _commandIdErr := CommandIdParse(readBuffer)
 	if pullErr := readBuffer.PullContext("state"); pullErr != nil {
 		return nil, pullErr
 	}
-state, _stateErr := StateParse(readBuffer)
+	state, _stateErr := StateParse(readBuffer)
 	if _stateErr != nil {
 		return nil, errors.Wrap(_stateErr, "Error parsing 'state' field")
 	}
@@ -187,13 +184,13 @@ state, _stateErr := StateParse(readBuffer)
 	}
 
 	// Simple Field (errorCode)
-errorCode, _errorCodeErr := readBuffer.ReadUint32("errorCode", 32)
+	errorCode, _errorCodeErr := readBuffer.ReadUint32("errorCode", 32)
 	if _errorCodeErr != nil {
 		return nil, errors.Wrap(_errorCodeErr, "Error parsing 'errorCode' field")
 	}
 
 	// Simple Field (invokeId)
-invokeId, _invokeIdErr := readBuffer.ReadUint32("invokeId", 32)
+	invokeId, _invokeIdErr := readBuffer.ReadUint32("invokeId", 32)
 	if _invokeIdErr != nil {
 		return nil, errors.Wrap(_invokeIdErr, "Error parsing 'invokeId' field")
 	}
@@ -202,7 +199,7 @@ invokeId, _invokeIdErr := readBuffer.ReadUint32("invokeId", 32)
 	if pullErr := readBuffer.PullContext("data"); pullErr != nil {
 		return nil, pullErr
 	}
-data, _dataErr := AdsDataParse(readBuffer , commandId , state.Response )
+	data, _dataErr := AdsDataParse(readBuffer, commandId, state.Response)
 	if _dataErr != nil {
 		return nil, errors.Wrap(_dataErr, "Error parsing 'data' field")
 	}
@@ -219,7 +216,7 @@ data, _dataErr := AdsDataParse(readBuffer , commandId , state.Response )
 }
 
 func (m *AmsPacket) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsPacket"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -332,6 +329,3 @@ func (m *AmsPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
index dc603a3..956c48d 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsSerialAcknowledgeFrame struct {
-	MagicCookie uint16
+	MagicCookie        uint16
 	TransmitterAddress int8
-	ReceiverAddress int8
-	FragmentNumber int8
-	Length int8
-	Crc uint16
+	ReceiverAddress    int8
+	FragmentNumber     int8
+	Length             int8
+	Crc                uint16
 }
 
 // The corresponding interface
@@ -74,27 +72,26 @@ func (m *AmsSerialAcknowledgeFrame) LengthInBitsConditional(lastItem bool) uint1
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (length)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (crc)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
 
-
 func (m *AmsSerialAcknowledgeFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -105,37 +102,37 @@ func AmsSerialAcknowledgeFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialAckn
 	}
 
 	// Simple Field (magicCookie)
-magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadInt8("length", 8)
+	length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (crc)
-crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -149,7 +146,7 @@ crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 }
 
 func (m *AmsSerialAcknowledgeFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsSerialAcknowledgeFrame"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsSerialAcknowledgeFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -209,6 +206,3 @@ func (m *AmsSerialAcknowledgeFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
index d898a32..64715c7 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialFrame.go
@@ -19,24 +19,22 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsSerialFrame struct {
-	MagicCookie uint16
+	MagicCookie        uint16
 	TransmitterAddress int8
-	ReceiverAddress int8
-	FragmentNumber int8
-	Length int8
-	Userdata *AmsPacket
-	Crc uint16
+	ReceiverAddress    int8
+	FragmentNumber     int8
+	Length             int8
+	Userdata           *AmsPacket
+	Crc                uint16
 }
 
 // The corresponding interface
@@ -75,30 +73,29 @@ func (m *AmsSerialFrame) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (length)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (userdata)
 	lengthInBits += m.Userdata.LengthInBits()
 
 	// Simple field (crc)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
 
-
 func (m *AmsSerialFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -109,31 +106,31 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialFrame, error) {
 	}
 
 	// Simple Field (magicCookie)
-magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadInt8("length", 8)
+	length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
@@ -142,7 +139,7 @@ length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, pullErr
 	}
-userdata, _userdataErr := AmsPacketParse(readBuffer)
+	userdata, _userdataErr := AmsPacketParse(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field")
 	}
@@ -151,7 +148,7 @@ userdata, _userdataErr := AmsPacketParse(readBuffer)
 	}
 
 	// Simple Field (crc)
-crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -165,7 +162,7 @@ crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 }
 
 func (m *AmsSerialFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsSerialFrame"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsSerialFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -237,6 +234,3 @@ func (m *AmsSerialFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
index 48a0ada..c3966b5 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsSerialResetFrame.go
@@ -19,23 +19,21 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsSerialResetFrame struct {
-	MagicCookie uint16
+	MagicCookie        uint16
 	TransmitterAddress int8
-	ReceiverAddress int8
-	FragmentNumber int8
-	Length int8
-	Crc uint16
+	ReceiverAddress    int8
+	FragmentNumber     int8
+	Length             int8
+	Crc                uint16
 }
 
 // The corresponding interface
@@ -74,27 +72,26 @@ func (m *AmsSerialResetFrame) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (magicCookie)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	// Simple field (transmitterAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (receiverAddress)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (fragmentNumber)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (length)
-	lengthInBits += 8;
+	lengthInBits += 8
 
 	// Simple field (crc)
-	lengthInBits += 16;
+	lengthInBits += 16
 
 	return lengthInBits
 }
 
-
 func (m *AmsSerialResetFrame) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -105,37 +102,37 @@ func AmsSerialResetFrameParse(readBuffer utils.ReadBuffer) (*AmsSerialResetFrame
 	}
 
 	// Simple Field (magicCookie)
-magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
+	magicCookie, _magicCookieErr := readBuffer.ReadUint16("magicCookie", 16)
 	if _magicCookieErr != nil {
 		return nil, errors.Wrap(_magicCookieErr, "Error parsing 'magicCookie' field")
 	}
 
 	// Simple Field (transmitterAddress)
-transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
+	transmitterAddress, _transmitterAddressErr := readBuffer.ReadInt8("transmitterAddress", 8)
 	if _transmitterAddressErr != nil {
 		return nil, errors.Wrap(_transmitterAddressErr, "Error parsing 'transmitterAddress' field")
 	}
 
 	// Simple Field (receiverAddress)
-receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
+	receiverAddress, _receiverAddressErr := readBuffer.ReadInt8("receiverAddress", 8)
 	if _receiverAddressErr != nil {
 		return nil, errors.Wrap(_receiverAddressErr, "Error parsing 'receiverAddress' field")
 	}
 
 	// Simple Field (fragmentNumber)
-fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
+	fragmentNumber, _fragmentNumberErr := readBuffer.ReadInt8("fragmentNumber", 8)
 	if _fragmentNumberErr != nil {
 		return nil, errors.Wrap(_fragmentNumberErr, "Error parsing 'fragmentNumber' field")
 	}
 
 	// Simple Field (length)
-length, _lengthErr := readBuffer.ReadInt8("length", 8)
+	length, _lengthErr := readBuffer.ReadInt8("length", 8)
 	if _lengthErr != nil {
 		return nil, errors.Wrap(_lengthErr, "Error parsing 'length' field")
 	}
 
 	// Simple Field (crc)
-crc, _crcErr := readBuffer.ReadUint16("crc", 16)
+	crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 	if _crcErr != nil {
 		return nil, errors.Wrap(_crcErr, "Error parsing 'crc' field")
 	}
@@ -149,7 +146,7 @@ crc, _crcErr := readBuffer.ReadUint16("crc", 16)
 }
 
 func (m *AmsSerialResetFrame) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsSerialResetFrame"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsSerialResetFrame"); pushErr != nil {
 		return pushErr
 	}
 
@@ -209,6 +206,3 @@ func (m *AmsSerialResetFrame) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go b/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
index f3d4a6a..c9accc0 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AmsTCPPacket.go
@@ -19,15 +19,13 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type AmsTCPPacket struct {
@@ -81,7 +79,6 @@ func (m *AmsTCPPacket) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *AmsTCPPacket) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -100,7 +97,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (*AmsTCPPacket, error) {
 		if reserved != uint16(0x0000) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": uint16(0x0000),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -116,7 +113,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (*AmsTCPPacket, error) {
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, pullErr
 	}
-userdata, _userdataErr := AmsPacketParse(readBuffer)
+	userdata, _userdataErr := AmsPacketParse(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field")
 	}
@@ -133,7 +130,7 @@ userdata, _userdataErr := AmsPacketParse(readBuffer)
 }
 
 func (m *AmsTCPPacket) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("AmsTCPPacket"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("AmsTCPPacket"); pushErr != nil {
 		return pushErr
 	}
 
@@ -178,6 +175,3 @@ func (m *AmsTCPPacket) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go b/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
index 151d9b4..d662ca1 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/CommandId.go
@@ -32,24 +32,24 @@ type ICommandId interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const(
-	CommandId_INVALID CommandId = 0x0000
-	CommandId_ADS_READ_DEVICE_INFO CommandId = 0x0001
-	CommandId_ADS_READ CommandId = 0x0002
-	CommandId_ADS_WRITE CommandId = 0x0003
-	CommandId_ADS_READ_STATE CommandId = 0x0004
-	CommandId_ADS_WRITE_CONTROL CommandId = 0x0005
-	CommandId_ADS_ADD_DEVICE_NOTIFICATION CommandId = 0x0006
+const (
+	CommandId_INVALID                        CommandId = 0x0000
+	CommandId_ADS_READ_DEVICE_INFO           CommandId = 0x0001
+	CommandId_ADS_READ                       CommandId = 0x0002
+	CommandId_ADS_WRITE                      CommandId = 0x0003
+	CommandId_ADS_READ_STATE                 CommandId = 0x0004
+	CommandId_ADS_WRITE_CONTROL              CommandId = 0x0005
+	CommandId_ADS_ADD_DEVICE_NOTIFICATION    CommandId = 0x0006
 	CommandId_ADS_DELETE_DEVICE_NOTIFICATION CommandId = 0x0007
-	CommandId_ADS_DEVICE_NOTIFICATION CommandId = 0x0008
-	CommandId_ADS_READ_WRITE CommandId = 0x0009
+	CommandId_ADS_DEVICE_NOTIFICATION        CommandId = 0x0008
+	CommandId_ADS_READ_WRITE                 CommandId = 0x0009
 )
 
 var CommandIdValues []CommandId
 
 func init() {
 	_ = errors.New
-	CommandIdValues = []CommandId {
+	CommandIdValues = []CommandId{
 		CommandId_INVALID,
 		CommandId_ADS_READ_DEVICE_INFO,
 		CommandId_ADS_READ,
@@ -65,26 +65,26 @@ func init() {
 
 func CommandIdByValue(value uint16) CommandId {
 	switch value {
-		case 0x0000:
-			return CommandId_INVALID
-		case 0x0001:
-			return CommandId_ADS_READ_DEVICE_INFO
-		case 0x0002:
-			return CommandId_ADS_READ
-		case 0x0003:
-			return CommandId_ADS_WRITE
-		case 0x0004:
-			return CommandId_ADS_READ_STATE
-		case 0x0005:
-			return CommandId_ADS_WRITE_CONTROL
-		case 0x0006:
-			return CommandId_ADS_ADD_DEVICE_NOTIFICATION
-		case 0x0007:
-			return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
-		case 0x0008:
-			return CommandId_ADS_DEVICE_NOTIFICATION
-		case 0x0009:
-			return CommandId_ADS_READ_WRITE
+	case 0x0000:
+		return CommandId_INVALID
+	case 0x0001:
+		return CommandId_ADS_READ_DEVICE_INFO
+	case 0x0002:
+		return CommandId_ADS_READ
+	case 0x0003:
+		return CommandId_ADS_WRITE
+	case 0x0004:
+		return CommandId_ADS_READ_STATE
+	case 0x0005:
+		return CommandId_ADS_WRITE_CONTROL
+	case 0x0006:
+		return CommandId_ADS_ADD_DEVICE_NOTIFICATION
+	case 0x0007:
+		return CommandId_ADS_DELETE_DEVICE_NOTIFICATION
+	case 0x0008:
+		return CommandId_ADS_DEVICE_NOTIFICATION
+	case 0x0009:
+		return CommandId_ADS_READ_WRITE
 	}
 	return 0
 }
@@ -174,4 +174,3 @@ func (e CommandId) name() string {
 func (e CommandId) String() string {
 	return e.name()
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
index 51aee8a..3ed8ff0 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/DataItem.go
@@ -19,384 +19,389 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/values"
+	api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
 	"github.com/pkg/errors"
 	"time"
-	api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
+// Code generated by code-generation. DO NOT EDIT.
 
 func DataItemParse(readBuffer utils.ReadBuffer, dataFormatName string, stringLength int32) (api.PlcValue, error) {
 	readBuffer.PullContext("DataItem")
 	switch {
-        case dataFormatName == "IEC61131_BOOL" : // BOOL
-
-			// Reserved Field (Just skip the bytes)
-			if _, _err := readBuffer.ReadUint8("reserved", 7); _err != nil {
-				return nil, errors.Wrap(_err, "Error parsing reserved field")
-			}
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadBit("value")
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcBOOL(value), nil
-        case dataFormatName == "IEC61131_BYTE" : // BitString
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint8("value", 8)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcBitString(value), nil
-        case dataFormatName == "IEC61131_WORD" : // BitString
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint16("value", 16)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcBitString(value), nil
-        case dataFormatName == "IEC61131_DWORD" : // BitString
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcBitString(value), nil
-        case dataFormatName == "IEC61131_SINT" : // SINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadInt8("value", 8)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcSINT(value), nil
-        case dataFormatName == "IEC61131_USINT" : // USINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint8("value", 8)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcUSINT(value), nil
-        case dataFormatName == "IEC61131_INT" : // INT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadInt16("value", 16)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcINT(value), nil
-        case dataFormatName == "IEC61131_UINT" : // UINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint16("value", 16)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcUINT(value), nil
-        case dataFormatName == "IEC61131_DINT" : // DINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadInt32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcDINT(value), nil
-        case dataFormatName == "IEC61131_UDINT" : // UDINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcUDINT(value), nil
-        case dataFormatName == "IEC61131_LINT" : // LINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadInt64("value", 64)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcLINT(value), nil
-        case dataFormatName == "IEC61131_ULINT" : // ULINT
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint64("value", 64)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcULINT(value), nil
-        case dataFormatName == "IEC61131_REAL" : // REAL
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadFloat32("value", true, 8, 23)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcREAL(value), nil
-        case dataFormatName == "IEC61131_LREAL" : // LREAL
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadFloat64("value", true, 11, 52)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcLREAL(value), nil
-        case dataFormatName == "IEC61131_CHAR" : // STRING
-        // Simple Field (value)
+	case dataFormatName == "IEC61131_BOOL": // BOOL
+
+		// Reserved Field (Just skip the bytes)
+		if _, _err := readBuffer.ReadUint8("reserved", 7); _err != nil {
+			return nil, errors.Wrap(_err, "Error parsing reserved field")
+		}
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadBit("value")
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcBOOL(value), nil
+	case dataFormatName == "IEC61131_BYTE": // BitString
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint8("value", 8)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcBitString(value), nil
+	case dataFormatName == "IEC61131_WORD": // BitString
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint16("value", 16)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcBitString(value), nil
+	case dataFormatName == "IEC61131_DWORD": // BitString
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcBitString(value), nil
+	case dataFormatName == "IEC61131_SINT": // SINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadInt8("value", 8)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcSINT(value), nil
+	case dataFormatName == "IEC61131_USINT": // USINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint8("value", 8)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcUSINT(value), nil
+	case dataFormatName == "IEC61131_INT": // INT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadInt16("value", 16)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcINT(value), nil
+	case dataFormatName == "IEC61131_UINT": // UINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint16("value", 16)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcUINT(value), nil
+	case dataFormatName == "IEC61131_DINT": // DINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadInt32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcDINT(value), nil
+	case dataFormatName == "IEC61131_UDINT": // UDINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcUDINT(value), nil
+	case dataFormatName == "IEC61131_LINT": // LINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadInt64("value", 64)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcLINT(value), nil
+	case dataFormatName == "IEC61131_ULINT": // ULINT
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint64("value", 64)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcULINT(value), nil
+	case dataFormatName == "IEC61131_REAL": // REAL
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadFloat32("value", true, 8, 23)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcREAL(value), nil
+	case dataFormatName == "IEC61131_LREAL": // LREAL
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadFloat64("value", true, 11, 52)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcLREAL(value), nil
+	case dataFormatName == "IEC61131_CHAR": // STRING
+
+		// Simple Field (value)
 		value, _valueErr := readBuffer.ReadString("value", uint32((8)))
 		if _valueErr != nil {
 			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
 		}
 		readBuffer.CloseContext("DataItem")
-		return values.NewPlcSTRING(value), nilcase dataFormatName == "IEC61131_WCHAR" : // STRING// Simple Field (value)
+		return values.NewPlcSTRING(value), nil
+	case dataFormatName == "IEC61131_WCHAR": // STRING
+
+		// Simple Field (value)
 		value, _valueErr := readBuffer.ReadString("value", uint32((16)))
 		if _valueErr != nil {
 			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
 		}
 		readBuffer.CloseContext("DataItem")
 		return values.NewPlcSTRING(value), nil
-        case dataFormatName == "IEC61131_STRING" : // STRING
-
-			// Manual Field (value)
-			value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcSTRING(value), nil
-        case dataFormatName == "IEC61131_WSTRING" : // STRING
-
-			// Manual Field (value)
-			value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcSTRING(value), nil
-        case dataFormatName == "IEC61131_TIME" : // TIME
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcTIME(value), nil
-        case dataFormatName == "IEC61131_LTIME" : // LTIME
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint64("value", 64)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcLTIME(value), nil
-        case dataFormatName == "IEC61131_DATE" : // DATE
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcDATE(value), nil
-        case dataFormatName == "IEC61131_TIME_OF_DAY" : // TIME_OF_DAY
-
-			// Simple Field (value)
-			value, _valueErr := readBuffer.ReadUint32("value", 32)
-			if _valueErr != nil {
-				return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
-			}
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcTIME_OF_DAY(value), nil
-        case dataFormatName == "IEC61131_DATE_AND_TIME" : // DATE_AND_TIME
-
-			// Simple Field (secondsSinceEpoch)
-			secondsSinceEpoch, _secondsSinceEpochErr := readBuffer.ReadUint32("secondsSinceEpoch", 32)
-			if _secondsSinceEpochErr != nil {
-				return nil, errors.Wrap(_secondsSinceEpochErr, "Error parsing 'secondsSinceEpoch' field")
-			}
-            value := time.Unix(int64(secondsSinceEpoch), 0)
-			readBuffer.CloseContext("DataItem")
-			return values.NewPlcDATE_AND_TIME(value), nil
+	case dataFormatName == "IEC61131_STRING": // STRING
+
+		// Manual Field (value)
+		value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcSTRING(value), nil
+	case dataFormatName == "IEC61131_WSTRING": // STRING
+
+		// Manual Field (value)
+		value, _valueErr := StaticHelperParseAmsString(readBuffer, stringLength, "TF-")
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcSTRING(value), nil
+	case dataFormatName == "IEC61131_TIME": // TIME
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcTIME(value), nil
+	case dataFormatName == "IEC61131_LTIME": // LTIME
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint64("value", 64)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcLTIME(value), nil
+	case dataFormatName == "IEC61131_DATE": // DATE
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcDATE(value), nil
+	case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
+
+		// Simple Field (value)
+		value, _valueErr := readBuffer.ReadUint32("value", 32)
+		if _valueErr != nil {
+			return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+		}
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcTIME_OF_DAY(value), nil
+	case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
+
+		// Simple Field (secondsSinceEpoch)
+		secondsSinceEpoch, _secondsSinceEpochErr := readBuffer.ReadUint32("secondsSinceEpoch", 32)
+		if _secondsSinceEpochErr != nil {
+			return nil, errors.Wrap(_secondsSinceEpochErr, "Error parsing 'secondsSinceEpoch' field")
+		}
+		value := time.Unix(int64(secondsSinceEpoch), 0)
+		readBuffer.CloseContext("DataItem")
+		return values.NewPlcDATE_AND_TIME(value), nil
 	}
-    // TODO: add more info which type it is actually
+	// TODO: add more info which type it is actually
 	return nil, errors.New("unsupported type")
 }
 
 func DataItemSerialize(writeBuffer utils.WriteBuffer, value api.PlcValue, dataFormatName string, stringLength int32) error {
 	writeBuffer.PushContext("DataItem")
 	switch {
-        case dataFormatName == "IEC61131_BOOL" : // BOOL
-
-			// Reserved Field (Just skip the bytes)
-			if _err := writeBuffer.WriteUint8("reserved", 7, uint8(0x00)); _err != nil {
-				return errors.Wrap(_err, "Error serializing reserved field")
-			}
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_BYTE" : // BitString
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_WORD" : // BitString
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_DWORD" : // BitString
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_SINT" : // SINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteInt8("value", 8, value.GetInt8()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_USINT" : // USINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_INT" : // INT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteInt16("value", 16, value.GetInt16()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_UINT" : // UINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_DINT" : // DINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteInt32("value", 32, value.GetInt32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_UDINT" : // UDINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_LINT" : // LINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteInt64("value", 64, value.GetInt64()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_ULINT" : // ULINT
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_REAL" : // REAL
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteFloat32("value", 32, value.GetFloat32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_LREAL" : // LREAL
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteFloat64("value", 64, value.GetFloat64()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_CHAR" : // STRING
-        // Simple Field (value)
+	case dataFormatName == "IEC61131_BOOL": // BOOL
+
+		// Reserved Field (Just skip the bytes)
+		if _err := writeBuffer.WriteUint8("reserved", 7, uint8(0x00)); _err != nil {
+			return errors.Wrap(_err, "Error serializing reserved field")
+		}
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteBit("value", value.GetBool()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_BYTE": // BitString
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_WORD": // BitString
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_DWORD": // BitString
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_SINT": // SINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteInt8("value", 8, value.GetInt8()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_USINT": // USINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint8("value", 8, value.GetUint8()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_INT": // INT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteInt16("value", 16, value.GetInt16()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_UINT": // UINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint16("value", 16, value.GetUint16()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_DINT": // DINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteInt32("value", 32, value.GetInt32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_UDINT": // UDINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_LINT": // LINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteInt64("value", 64, value.GetInt64()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_ULINT": // ULINT
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_REAL": // REAL
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteFloat32("value", 32, value.GetFloat32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_LREAL": // LREAL
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteFloat64("value", 64, value.GetFloat64()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_CHAR": // STRING
+
+		// Simple Field (value)
 		if _err := writeBuffer.WriteString("value", uint8((8)), "TF-", value.GetString()); _err != nil {
 			return errors.Wrap(_err, "Error serializing 'value' field")
-		}case dataFormatName == "IEC61131_WCHAR" : // STRING// Simple Field (value)
+		}
+	case dataFormatName == "IEC61131_WCHAR": // STRING
+
+		// Simple Field (value)
 		if _err := writeBuffer.WriteString("value", uint8((16)), "TF-", value.GetString()); _err != nil {
 			return errors.Wrap(_err, "Error serializing 'value' field")
 		}
-        case dataFormatName == "IEC61131_STRING" : // STRING
-
-			// Manual Field (value)
-			_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
-			if _valueErr != nil {
-				return errors.Wrap(_valueErr, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_WSTRING" : // STRING
-
-			// Manual Field (value)
-			_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
-			if _valueErr != nil {
-				return errors.Wrap(_valueErr, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_TIME" : // TIME
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_LTIME" : // LTIME
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_DATE" : // DATE
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_TIME_OF_DAY" : // TIME_OF_DAY
-
-			// Simple Field (value)
-			if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'value' field")
-			}
-        case dataFormatName == "IEC61131_DATE_AND_TIME" : // DATE_AND_TIME
-
-			// Simple Field (secondsSinceEpoch)
-			if _err := writeBuffer.WriteUint32("secondsSinceEpoch", 32, value.GetUint32()); _err != nil {
-				return errors.Wrap(_err, "Error serializing 'secondsSinceEpoch' field")
-			}
-		default:
-            // TODO: add more info which type it is actually
-			return errors.New("unsupported type")
+	case dataFormatName == "IEC61131_STRING": // STRING
+
+		// Manual Field (value)
+		_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
+		if _valueErr != nil {
+			return errors.Wrap(_valueErr, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_WSTRING": // STRING
+
+		// Manual Field (value)
+		_valueErr := StaticHelperSerializeAmsString(writeBuffer, value, stringLength, "TF-")
+		if _valueErr != nil {
+			return errors.Wrap(_valueErr, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_TIME": // TIME
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_LTIME": // LTIME
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint64("value", 64, value.GetUint64()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_DATE": // DATE
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_TIME_OF_DAY": // TIME_OF_DAY
+
+		// Simple Field (value)
+		if _err := writeBuffer.WriteUint32("value", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'value' field")
+		}
+	case dataFormatName == "IEC61131_DATE_AND_TIME": // DATE_AND_TIME
+
+		// Simple Field (secondsSinceEpoch)
+		if _err := writeBuffer.WriteUint32("secondsSinceEpoch", 32, value.GetUint32()); _err != nil {
+			return errors.Wrap(_err, "Error serializing 'secondsSinceEpoch' field")
+		}
+	default:
+		// TODO: add more info which type it is actually
+		return errors.New("unsupported type")
 	}
 	writeBuffer.PopContext("DataItem")
 	return nil
 }
-
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go b/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
index aa8b9e2..fe14e4b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/ReservedIndexGroups.go
@@ -32,44 +32,44 @@ type IReservedIndexGroups interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const(
-	ReservedIndexGroups_ADSIGRP_SYMTAB ReservedIndexGroups = 0x0000F000
-	ReservedIndexGroups_ADSIGRP_SYMNAME ReservedIndexGroups = 0x0000F001
-	ReservedIndexGroups_ADSIGRP_SYMVAL ReservedIndexGroups = 0x0000F002
-	ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME ReservedIndexGroups = 0x0000F003
-	ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME ReservedIndexGroups = 0x0000F004
-	ReservedIndexGroups_ADSIGRP_SYM_VALBYHND ReservedIndexGroups = 0x0000F005
-	ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND ReservedIndexGroups = 0x0000F006
-	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME ReservedIndexGroups = 0x0000F007
-	ReservedIndexGroups_ADSIGRP_SYM_VERSION ReservedIndexGroups = 0x0000F008
-	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX ReservedIndexGroups = 0x0000F009
-	ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD ReservedIndexGroups = 0x0000F00A
-	ReservedIndexGroups_ADSIGRP_SYM_UPLOAD ReservedIndexGroups = 0x0000F00B
-	ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO ReservedIndexGroups = 0x0000F00C
-	ReservedIndexGroups_ADSIGRP_SYMNOTE ReservedIndexGroups = 0x0000F010
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB ReservedIndexGroups = 0x0000F020
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX ReservedIndexGroups = 0x0000F021
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE ReservedIndexGroups = 0x0000F025
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB ReservedIndexGroups = 0x0000F030
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX ReservedIndexGroups = 0x0000F031
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE ReservedIndexGroups = 0x0000F035
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI ReservedIndexGroups = 0x0000F040
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO ReservedIndexGroups = 0x0000F050
-	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB ReservedIndexGroups = 0x0000F060
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ ReservedIndexGroups = 0x0000F080
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE ReservedIndexGroups = 0x0000F081
-	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE ReservedIndexGroups = 0x0000F082
+const (
+	ReservedIndexGroups_ADSIGRP_SYMTAB                  ReservedIndexGroups = 0x0000F000
+	ReservedIndexGroups_ADSIGRP_SYMNAME                 ReservedIndexGroups = 0x0000F001
+	ReservedIndexGroups_ADSIGRP_SYMVAL                  ReservedIndexGroups = 0x0000F002
+	ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME           ReservedIndexGroups = 0x0000F003
+	ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME           ReservedIndexGroups = 0x0000F004
+	ReservedIndexGroups_ADSIGRP_SYM_VALBYHND            ReservedIndexGroups = 0x0000F005
+	ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND          ReservedIndexGroups = 0x0000F006
+	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME          ReservedIndexGroups = 0x0000F007
+	ReservedIndexGroups_ADSIGRP_SYM_VERSION             ReservedIndexGroups = 0x0000F008
+	ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX        ReservedIndexGroups = 0x0000F009
+	ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD            ReservedIndexGroups = 0x0000F00A
+	ReservedIndexGroups_ADSIGRP_SYM_UPLOAD              ReservedIndexGroups = 0x0000F00B
+	ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO          ReservedIndexGroups = 0x0000F00C
+	ReservedIndexGroups_ADSIGRP_SYMNOTE                 ReservedIndexGroups = 0x0000F010
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB            ReservedIndexGroups = 0x0000F020
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX            ReservedIndexGroups = 0x0000F021
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE          ReservedIndexGroups = 0x0000F025
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB            ReservedIndexGroups = 0x0000F030
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX            ReservedIndexGroups = 0x0000F031
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE         ReservedIndexGroups = 0x0000F035
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI          ReservedIndexGroups = 0x0000F040
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO          ReservedIndexGroups = 0x0000F050
+	ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB           ReservedIndexGroups = 0x0000F060
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ           ReservedIndexGroups = 0x0000F080
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE          ReservedIndexGroups = 0x0000F081
+	ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE     ReservedIndexGroups = 0x0000F082
 	ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE ReservedIndexGroups = 0x0000F083
-	ReservedIndexGroups_ADSIGRP_DEVICE_DATA ReservedIndexGroups = 0x0000F100
-	ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE ReservedIndexGroups = 0x00000000
-	ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE ReservedIndexGroups = 0x00000002
+	ReservedIndexGroups_ADSIGRP_DEVICE_DATA             ReservedIndexGroups = 0x0000F100
+	ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE       ReservedIndexGroups = 0x00000000
+	ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE       ReservedIndexGroups = 0x00000002
 )
 
 var ReservedIndexGroupsValues []ReservedIndexGroups
 
 func init() {
 	_ = errors.New
-	ReservedIndexGroupsValues = []ReservedIndexGroups {
+	ReservedIndexGroupsValues = []ReservedIndexGroups{
 		ReservedIndexGroups_ADSIGRP_SYMTAB,
 		ReservedIndexGroups_ADSIGRP_SYMNAME,
 		ReservedIndexGroups_ADSIGRP_SYMVAL,
@@ -105,66 +105,66 @@ func init() {
 
 func ReservedIndexGroupsByValue(value uint32) ReservedIndexGroups {
 	switch value {
-		case 0x00000000:
-			return ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE
-		case 0x00000002:
-			return ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE
-		case 0x0000F000:
-			return ReservedIndexGroups_ADSIGRP_SYMTAB
-		case 0x0000F001:
-			return ReservedIndexGroups_ADSIGRP_SYMNAME
-		case 0x0000F002:
-			return ReservedIndexGroups_ADSIGRP_SYMVAL
-		case 0x0000F003:
-			return ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME
-		case 0x0000F004:
-			return ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME
-		case 0x0000F005:
-			return ReservedIndexGroups_ADSIGRP_SYM_VALBYHND
-		case 0x0000F006:
-			return ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND
-		case 0x0000F007:
-			return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME
-		case 0x0000F008:
-			return ReservedIndexGroups_ADSIGRP_SYM_VERSION
-		case 0x0000F009:
-			return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX
-		case 0x0000F00A:
-			return ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD
-		case 0x0000F00B:
-			return ReservedIndexGroups_ADSIGRP_SYM_UPLOAD
-		case 0x0000F00C:
-			return ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO
-		case 0x0000F010:
-			return ReservedIndexGroups_ADSIGRP_SYMNOTE
-		case 0x0000F020:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB
-		case 0x0000F021:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX
-		case 0x0000F025:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE
-		case 0x0000F030:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB
-		case 0x0000F031:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX
-		case 0x0000F035:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE
-		case 0x0000F040:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI
-		case 0x0000F050:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO
-		case 0x0000F060:
-			return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB
-		case 0x0000F080:
-			return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ
-		case 0x0000F081:
-			return ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE
-		case 0x0000F082:
-			return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE
-		case 0x0000F083:
-			return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE
-		case 0x0000F100:
-			return ReservedIndexGroups_ADSIGRP_DEVICE_DATA
+	case 0x00000000:
+		return ReservedIndexGroups_ADSIOFFS_DEVDATA_ADSSTATE
+	case 0x00000002:
+		return ReservedIndexGroups_ADSIOFFS_DEVDATA_DEVSTATE
+	case 0x0000F000:
+		return ReservedIndexGroups_ADSIGRP_SYMTAB
+	case 0x0000F001:
+		return ReservedIndexGroups_ADSIGRP_SYMNAME
+	case 0x0000F002:
+		return ReservedIndexGroups_ADSIGRP_SYMVAL
+	case 0x0000F003:
+		return ReservedIndexGroups_ADSIGRP_SYM_HNDBYNAME
+	case 0x0000F004:
+		return ReservedIndexGroups_ADSIGRP_SYM_VALBYNAME
+	case 0x0000F005:
+		return ReservedIndexGroups_ADSIGRP_SYM_VALBYHND
+	case 0x0000F006:
+		return ReservedIndexGroups_ADSIGRP_SYM_RELEASEHND
+	case 0x0000F007:
+		return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAME
+	case 0x0000F008:
+		return ReservedIndexGroups_ADSIGRP_SYM_VERSION
+	case 0x0000F009:
+		return ReservedIndexGroups_ADSIGRP_SYM_INFOBYNAMEEX
+	case 0x0000F00A:
+		return ReservedIndexGroups_ADSIGRP_SYM_DOWNLOAD
+	case 0x0000F00B:
+		return ReservedIndexGroups_ADSIGRP_SYM_UPLOAD
+	case 0x0000F00C:
+		return ReservedIndexGroups_ADSIGRP_SYM_UPLOADINFO
+	case 0x0000F010:
+		return ReservedIndexGroups_ADSIGRP_SYMNOTE
+	case 0x0000F020:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIB
+	case 0x0000F021:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIX
+	case 0x0000F025:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RISIZE
+	case 0x0000F030:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOB
+	case 0x0000F031:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOX
+	case 0x0000F035:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWOSIZE
+	case 0x0000F040:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARI
+	case 0x0000F050:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_CLEARO
+	case 0x0000F060:
+		return ReservedIndexGroups_ADSIGRP_IOIMAGE_RWIOB
+	case 0x0000F080:
+		return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ
+	case 0x0000F081:
+		return ReservedIndexGroups_ADSIGRP_MULTIPLE_WRITE
+	case 0x0000F082:
+		return ReservedIndexGroups_ADSIGRP_MULTIPLE_READ_WRITE
+	case 0x0000F083:
+		return ReservedIndexGroups_ADSIGRP_MULTIPLE_RELEASE_HANDLE
+	case 0x0000F100:
+		return ReservedIndexGroups_ADSIGRP_DEVICE_DATA
 	}
 	return 0
 }
@@ -334,4 +334,3 @@ func (e ReservedIndexGroups) name() string {
 func (e ReservedIndexGroups) String() string {
 	return e.name()
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go b/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
index a034def..8015bab 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/ReturnCode.go
@@ -32,136 +32,136 @@ type IReturnCode interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
-const(
-	ReturnCode_OK ReturnCode = 0x00
-	ReturnCode_INTERNAL_ERROR ReturnCode = 0x01
-	ReturnCode_NO_REALTIME ReturnCode = 0x02
-	ReturnCode_SAVE_ERROR ReturnCode = 0x03
-	ReturnCode_MAILBOX_FULL ReturnCode = 0x04
-	ReturnCode_WRONG_HMSG ReturnCode = 0x05
-	ReturnCode_TARGET_PORT_NOT_FOUND ReturnCode = 0x06
-	ReturnCode_TARGET_HOST_NOT_FOUND ReturnCode = 0x07
-	ReturnCode_UNKNOWN_COMMAND_ID ReturnCode = 0x08
-	ReturnCode_UNKNOWN_TASK_ID ReturnCode = 0x09
-	ReturnCode_NO_IO ReturnCode = 0x0A
-	ReturnCode_UNKNOWN_ADS_COMMAND ReturnCode = 0x0B
-	ReturnCode_WIN32_ERROR ReturnCode = 0x0C
-	ReturnCode_PORT_NOT_CONNECTED ReturnCode = 0x0D
-	ReturnCode_INVALID_ADS_LENGTH ReturnCode = 0x0E
-	ReturnCode_INVALID_AMS_NET_ID ReturnCode = 0x0F
-	ReturnCode_LOW_INSTALLATION_LEVEL ReturnCode = 0x10
-	ReturnCode_NO_DEBUGGING_AVAILABLE ReturnCode = 0x11
-	ReturnCode_PORT_DEACTIVATED ReturnCode = 0x12
-	ReturnCode_PORT_ALREADY_CONNECTED ReturnCode = 0x13
-	ReturnCode_ADS_SYNC_WIN32_ERROR ReturnCode = 0x14
-	ReturnCode_ADS_SYNC_TIMEOUT ReturnCode = 0x15
-	ReturnCode_ADS_SYNC_AMS_ERROR ReturnCode = 0x16
-	ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE ReturnCode = 0x17
-	ReturnCode_INVALID_ADS_PORT ReturnCode = 0x18
-	ReturnCode_NO_MEMORY ReturnCode = 0x19
-	ReturnCode_TCP_SENDING_ERROR ReturnCode = 0x1A
-	ReturnCode_HOST_NOT_REACHABLE ReturnCode = 0x1B
-	ReturnCode_INVALID_AMS_FRAGMENT ReturnCode = 0x1C
-	ReturnCode_ROUTERERR_NOLOCKEDMEMORY ReturnCode = 0x500
-	ReturnCode_ROUTERERR_RESIZEMEMORY ReturnCode = 0x501
-	ReturnCode_ROUTERERR_MAILBOXFULL ReturnCode = 0x502
-	ReturnCode_ROUTERERR_DEBUGBOXFULL ReturnCode = 0x503
-	ReturnCode_ROUTERERR_UNKNOWNPORTTYPE ReturnCode = 0x504
-	ReturnCode_ROUTERERR_NOTINITIALIZED ReturnCode = 0x505
-	ReturnCode_ROUTERERR_PORTALREADYINUSE ReturnCode = 0x506
-	ReturnCode_ROUTERERR_NOTREGISTERED ReturnCode = 0x507
-	ReturnCode_ROUTERERR_NOMOREQUEUES ReturnCode = 0x508
-	ReturnCode_ROUTERERR_INVALIDPORT ReturnCode = 0x509
-	ReturnCode_ROUTERERR_NOTACTIVATED ReturnCode = 0x50A
-	ReturnCode_ADSERR_DEVICE_ERROR ReturnCode = 0x700
-	ReturnCode_ADSERR_DEVICE_SRVNOTSUPP ReturnCode = 0x701
-	ReturnCode_ADSERR_DEVICE_INVALIDGRP ReturnCode = 0x702
-	ReturnCode_ADSERR_DEVICE_INVALIDOFFSET ReturnCode = 0x703
-	ReturnCode_ADSERR_DEVICE_INVALIDACCESS ReturnCode = 0x704
-	ReturnCode_ADSERR_DEVICE_INVALIDSIZE ReturnCode = 0x705
-	ReturnCode_ADSERR_DEVICE_INVALIDDATA ReturnCode = 0x706
-	ReturnCode_ADSERR_DEVICE_NOTREADY ReturnCode = 0x707
-	ReturnCode_ADSERR_DEVICE_BUSY ReturnCode = 0x708
-	ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT ReturnCode = 0x709
-	ReturnCode_ADSERR_DEVICE_NOMEMORY ReturnCode = 0x70A
-	ReturnCode_ADSERR_DEVICE_INVALIDPARM ReturnCode = 0x70B
-	ReturnCode_ADSERR_DEVICE_NOTFOUND ReturnCode = 0x70C
-	ReturnCode_ADSERR_DEVICE_SYNTAX ReturnCode = 0x70D
-	ReturnCode_ADSERR_DEVICE_INCOMPATIBLE ReturnCode = 0x70E
-	ReturnCode_ADSERR_DEVICE_EXISTS ReturnCode = 0x70F
-	ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND ReturnCode = 0x710
+const (
+	ReturnCode_OK                                 ReturnCode = 0x00
+	ReturnCode_INTERNAL_ERROR                     ReturnCode = 0x01
+	ReturnCode_NO_REALTIME                        ReturnCode = 0x02
+	ReturnCode_SAVE_ERROR                         ReturnCode = 0x03
+	ReturnCode_MAILBOX_FULL                       ReturnCode = 0x04
+	ReturnCode_WRONG_HMSG                         ReturnCode = 0x05
+	ReturnCode_TARGET_PORT_NOT_FOUND              ReturnCode = 0x06
+	ReturnCode_TARGET_HOST_NOT_FOUND              ReturnCode = 0x07
+	ReturnCode_UNKNOWN_COMMAND_ID                 ReturnCode = 0x08
+	ReturnCode_UNKNOWN_TASK_ID                    ReturnCode = 0x09
+	ReturnCode_NO_IO                              ReturnCode = 0x0A
+	ReturnCode_UNKNOWN_ADS_COMMAND                ReturnCode = 0x0B
+	ReturnCode_WIN32_ERROR                        ReturnCode = 0x0C
+	ReturnCode_PORT_NOT_CONNECTED                 ReturnCode = 0x0D
+	ReturnCode_INVALID_ADS_LENGTH                 ReturnCode = 0x0E
+	ReturnCode_INVALID_AMS_NET_ID                 ReturnCode = 0x0F
+	ReturnCode_LOW_INSTALLATION_LEVEL             ReturnCode = 0x10
+	ReturnCode_NO_DEBUGGING_AVAILABLE             ReturnCode = 0x11
+	ReturnCode_PORT_DEACTIVATED                   ReturnCode = 0x12
+	ReturnCode_PORT_ALREADY_CONNECTED             ReturnCode = 0x13
+	ReturnCode_ADS_SYNC_WIN32_ERROR               ReturnCode = 0x14
+	ReturnCode_ADS_SYNC_TIMEOUT                   ReturnCode = 0x15
+	ReturnCode_ADS_SYNC_AMS_ERROR                 ReturnCode = 0x16
+	ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE     ReturnCode = 0x17
+	ReturnCode_INVALID_ADS_PORT                   ReturnCode = 0x18
+	ReturnCode_NO_MEMORY                          ReturnCode = 0x19
+	ReturnCode_TCP_SENDING_ERROR                  ReturnCode = 0x1A
+	ReturnCode_HOST_NOT_REACHABLE                 ReturnCode = 0x1B
+	ReturnCode_INVALID_AMS_FRAGMENT               ReturnCode = 0x1C
+	ReturnCode_ROUTERERR_NOLOCKEDMEMORY           ReturnCode = 0x500
+	ReturnCode_ROUTERERR_RESIZEMEMORY             ReturnCode = 0x501
+	ReturnCode_ROUTERERR_MAILBOXFULL              ReturnCode = 0x502
+	ReturnCode_ROUTERERR_DEBUGBOXFULL             ReturnCode = 0x503
+	ReturnCode_ROUTERERR_UNKNOWNPORTTYPE          ReturnCode = 0x504
+	ReturnCode_ROUTERERR_NOTINITIALIZED           ReturnCode = 0x505
+	ReturnCode_ROUTERERR_PORTALREADYINUSE         ReturnCode = 0x506
+	ReturnCode_ROUTERERR_NOTREGISTERED            ReturnCode = 0x507
+	ReturnCode_ROUTERERR_NOMOREQUEUES             ReturnCode = 0x508
+	ReturnCode_ROUTERERR_INVALIDPORT              ReturnCode = 0x509
+	ReturnCode_ROUTERERR_NOTACTIVATED             ReturnCode = 0x50A
+	ReturnCode_ADSERR_DEVICE_ERROR                ReturnCode = 0x700
+	ReturnCode_ADSERR_DEVICE_SRVNOTSUPP           ReturnCode = 0x701
+	ReturnCode_ADSERR_DEVICE_INVALIDGRP           ReturnCode = 0x702
+	ReturnCode_ADSERR_DEVICE_INVALIDOFFSET        ReturnCode = 0x703
+	ReturnCode_ADSERR_DEVICE_INVALIDACCESS        ReturnCode = 0x704
+	ReturnCode_ADSERR_DEVICE_INVALIDSIZE          ReturnCode = 0x705
+	ReturnCode_ADSERR_DEVICE_INVALIDDATA          ReturnCode = 0x706
+	ReturnCode_ADSERR_DEVICE_NOTREADY             ReturnCode = 0x707
+	ReturnCode_ADSERR_DEVICE_BUSY                 ReturnCode = 0x708
+	ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT       ReturnCode = 0x709
+	ReturnCode_ADSERR_DEVICE_NOMEMORY             ReturnCode = 0x70A
+	ReturnCode_ADSERR_DEVICE_INVALIDPARM          ReturnCode = 0x70B
+	ReturnCode_ADSERR_DEVICE_NOTFOUND             ReturnCode = 0x70C
+	ReturnCode_ADSERR_DEVICE_SYNTAX               ReturnCode = 0x70D
+	ReturnCode_ADSERR_DEVICE_INCOMPATIBLE         ReturnCode = 0x70E
+	ReturnCode_ADSERR_DEVICE_EXISTS               ReturnCode = 0x70F
+	ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND       ReturnCode = 0x710
 	ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID ReturnCode = 0x711
-	ReturnCode_ADSERR_DEVICE_INVALIDSTATE ReturnCode = 0x712
-	ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP ReturnCode = 0x713
-	ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID ReturnCode = 0x714
-	ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN ReturnCode = 0x715
-	ReturnCode_ADSERR_DEVICE_NOMOREHDLS ReturnCode = 0x716
-	ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE ReturnCode = 0x717
-	ReturnCode_ADSERR_DEVICE_NOTINIT ReturnCode = 0x718
-	ReturnCode_ADSERR_DEVICE_TIMEOUT ReturnCode = 0x719
-	ReturnCode_ADSERR_DEVICE_NOINTERFACE ReturnCode = 0x71A
-	ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE ReturnCode = 0x71B
-	ReturnCode_ADSERR_DEVICE_INVALIDCLSID ReturnCode = 0x71C
-	ReturnCode_ADSERR_DEVICE_INVALIDOBJID ReturnCode = 0x71D
-	ReturnCode_ADSERR_DEVICE_PENDING ReturnCode = 0x71E
-	ReturnCode_ADSERR_DEVICE_ABORTED ReturnCode = 0x71F
-	ReturnCode_ADSERR_DEVICE_WARNING ReturnCode = 0x720
-	ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX ReturnCode = 0x721
-	ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE ReturnCode = 0x722
-	ReturnCode_ADSERR_DEVICE_ACCESSDENIED ReturnCode = 0x723
-	ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND ReturnCode = 0x724
-	ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED ReturnCode = 0x725
-	ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED ReturnCode = 0x726
-	ReturnCode_ADSERR_DEVICE_LICENSEINVALID ReturnCode = 0x727
-	ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID ReturnCode = 0x728
-	ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT ReturnCode = 0x729
-	ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE ReturnCode = 0x72A
-	ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG ReturnCode = 0x72B
-	ReturnCode_ADSERR_DEVICE_EXCEPTION ReturnCode = 0x72c
-	ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED ReturnCode = 0x72D
-	ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID ReturnCode = 0x72E
-	ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID ReturnCode = 0x72F
-	ReturnCode_ADSERR_CLIENT_ERROR ReturnCode = 0x740
-	ReturnCode_ADSERR_CLIENT_INVALIDPARM ReturnCode = 0x741
-	ReturnCode_ADSERR_CLIENT_LISTEMPTY ReturnCode = 0x742
-	ReturnCode_ADSERR_CLIENT_VARUSED ReturnCode = 0x743
-	ReturnCode_ADSERR_CLIENT_DUPLINVOKEID ReturnCode = 0x744
-	ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT ReturnCode = 0x745
-	ReturnCode_ADSERR_CLIENT_W32ERROR ReturnCode = 0x746
-	ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID ReturnCode = 0x747
-	ReturnCode_ADSERR_CLIENT_PORTNOTOPEN ReturnCode = 0x748
-	ReturnCode_ADSERR_CLIENT_NOAMSADDR ReturnCode = 0x750
-	ReturnCode_ADSERR_CLIENT_SYNCINTERNAL ReturnCode = 0x751
-	ReturnCode_ADSERR_CLIENT_ADDHASH ReturnCode = 0x752
-	ReturnCode_ADSERR_CLIENT_REMOVEHASH ReturnCode = 0x753
-	ReturnCode_ADSERR_CLIENT_NOMORESYM ReturnCode = 0x754
-	ReturnCode_ADSERR_CLIENT_SYNCRESINVALID ReturnCode = 0x755
-	ReturnCode_RTERR_INTERNAL ReturnCode = 0x1000
-	ReturnCode_RTERR_BADTIMERPERIODS ReturnCode = 0x1001
-	ReturnCode_RTERR_INVALIDTASKPTR ReturnCode = 0x1002
-	ReturnCode_RTERR_INVALIDSTACKPTR ReturnCode = 0x1003
-	ReturnCode_RTERR_PRIOEXISTS ReturnCode = 0x1004
-	ReturnCode_RTERR_NOMORETCB ReturnCode = 0x1005
-	ReturnCode_RTERR_NOMORESEMAS ReturnCode = 0x1006
-	ReturnCode_RTERR_NOMOREQUEUES ReturnCode = 0x1007
-	ReturnCode_RTERR_EXTIRQALREADYDEF ReturnCode = 0x100D
-	ReturnCode_RTERR_EXTIRQNOTDEF ReturnCode = 0x100E
-	ReturnCode_RTERR_EXTIRQINSTALLFAILED ReturnCode = 0x100F
-	ReturnCode_RTERR_IRQLNOTLESSOREQUAL ReturnCode = 0x1010
-	ReturnCode_RTERR_VMXNOTSUPPORTED ReturnCode = 0x1017
-	ReturnCode_RTERR_VMXDISABLED ReturnCode = 0x1018
-	ReturnCode_RTERR_VMXCONTROLSMISSING ReturnCode = 0x1019
-	ReturnCode_RTERR_VMXENABLEFAILS ReturnCode = 0x101A
-	ReturnCode_WSAETIMEDOUT ReturnCode = 0x274C
-	ReturnCode_WSAECONNREFUSED ReturnCode = 0x274D
-	ReturnCode_WSAEHOSTUNREACH ReturnCode = 0x2751
+	ReturnCode_ADSERR_DEVICE_INVALIDSTATE         ReturnCode = 0x712
+	ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP     ReturnCode = 0x713
+	ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID     ReturnCode = 0x714
+	ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN        ReturnCode = 0x715
+	ReturnCode_ADSERR_DEVICE_NOMOREHDLS           ReturnCode = 0x716
+	ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE     ReturnCode = 0x717
+	ReturnCode_ADSERR_DEVICE_NOTINIT              ReturnCode = 0x718
+	ReturnCode_ADSERR_DEVICE_TIMEOUT              ReturnCode = 0x719
+	ReturnCode_ADSERR_DEVICE_NOINTERFACE          ReturnCode = 0x71A
+	ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE     ReturnCode = 0x71B
+	ReturnCode_ADSERR_DEVICE_INVALIDCLSID         ReturnCode = 0x71C
+	ReturnCode_ADSERR_DEVICE_INVALIDOBJID         ReturnCode = 0x71D
+	ReturnCode_ADSERR_DEVICE_PENDING              ReturnCode = 0x71E
+	ReturnCode_ADSERR_DEVICE_ABORTED              ReturnCode = 0x71F
+	ReturnCode_ADSERR_DEVICE_WARNING              ReturnCode = 0x720
+	ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX      ReturnCode = 0x721
+	ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE      ReturnCode = 0x722
+	ReturnCode_ADSERR_DEVICE_ACCESSDENIED         ReturnCode = 0x723
+	ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND      ReturnCode = 0x724
+	ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED       ReturnCode = 0x725
+	ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED      ReturnCode = 0x726
+	ReturnCode_ADSERR_DEVICE_LICENSEINVALID       ReturnCode = 0x727
+	ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID      ReturnCode = 0x728
+	ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT   ReturnCode = 0x729
+	ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE   ReturnCode = 0x72A
+	ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG    ReturnCode = 0x72B
+	ReturnCode_ADSERR_DEVICE_EXCEPTION            ReturnCode = 0x72c
+	ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED    ReturnCode = 0x72D
+	ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID     ReturnCode = 0x72E
+	ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID   ReturnCode = 0x72F
+	ReturnCode_ADSERR_CLIENT_ERROR                ReturnCode = 0x740
+	ReturnCode_ADSERR_CLIENT_INVALIDPARM          ReturnCode = 0x741
+	ReturnCode_ADSERR_CLIENT_LISTEMPTY            ReturnCode = 0x742
+	ReturnCode_ADSERR_CLIENT_VARUSED              ReturnCode = 0x743
+	ReturnCode_ADSERR_CLIENT_DUPLINVOKEID         ReturnCode = 0x744
+	ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT          ReturnCode = 0x745
+	ReturnCode_ADSERR_CLIENT_W32ERROR             ReturnCode = 0x746
+	ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID       ReturnCode = 0x747
+	ReturnCode_ADSERR_CLIENT_PORTNOTOPEN          ReturnCode = 0x748
+	ReturnCode_ADSERR_CLIENT_NOAMSADDR            ReturnCode = 0x750
+	ReturnCode_ADSERR_CLIENT_SYNCINTERNAL         ReturnCode = 0x751
+	ReturnCode_ADSERR_CLIENT_ADDHASH              ReturnCode = 0x752
+	ReturnCode_ADSERR_CLIENT_REMOVEHASH           ReturnCode = 0x753
+	ReturnCode_ADSERR_CLIENT_NOMORESYM            ReturnCode = 0x754
+	ReturnCode_ADSERR_CLIENT_SYNCRESINVALID       ReturnCode = 0x755
+	ReturnCode_RTERR_INTERNAL                     ReturnCode = 0x1000
+	ReturnCode_RTERR_BADTIMERPERIODS              ReturnCode = 0x1001
+	ReturnCode_RTERR_INVALIDTASKPTR               ReturnCode = 0x1002
+	ReturnCode_RTERR_INVALIDSTACKPTR              ReturnCode = 0x1003
+	ReturnCode_RTERR_PRIOEXISTS                   ReturnCode = 0x1004
+	ReturnCode_RTERR_NOMORETCB                    ReturnCode = 0x1005
+	ReturnCode_RTERR_NOMORESEMAS                  ReturnCode = 0x1006
+	ReturnCode_RTERR_NOMOREQUEUES                 ReturnCode = 0x1007
+	ReturnCode_RTERR_EXTIRQALREADYDEF             ReturnCode = 0x100D
+	ReturnCode_RTERR_EXTIRQNOTDEF                 ReturnCode = 0x100E
+	ReturnCode_RTERR_EXTIRQINSTALLFAILED          ReturnCode = 0x100F
+	ReturnCode_RTERR_IRQLNOTLESSOREQUAL           ReturnCode = 0x1010
+	ReturnCode_RTERR_VMXNOTSUPPORTED              ReturnCode = 0x1017
+	ReturnCode_RTERR_VMXDISABLED                  ReturnCode = 0x1018
+	ReturnCode_RTERR_VMXCONTROLSMISSING           ReturnCode = 0x1019
+	ReturnCode_RTERR_VMXENABLEFAILS               ReturnCode = 0x101A
+	ReturnCode_WSAETIMEDOUT                       ReturnCode = 0x274C
+	ReturnCode_WSAECONNREFUSED                    ReturnCode = 0x274D
+	ReturnCode_WSAEHOSTUNREACH                    ReturnCode = 0x2751
 )
 
 var ReturnCodeValues []ReturnCode
 
 func init() {
 	_ = errors.New
-	ReturnCodeValues = []ReturnCode {
+	ReturnCodeValues = []ReturnCode{
 		ReturnCode_OK,
 		ReturnCode_INTERNAL_ERROR,
 		ReturnCode_NO_REALTIME,
@@ -289,250 +289,250 @@ func init() {
 
 func ReturnCodeByValue(value uint32) ReturnCode {
 	switch value {
-		case 0x00:
-			return ReturnCode_OK
-		case 0x01:
-			return ReturnCode_INTERNAL_ERROR
-		case 0x02:
-			return ReturnCode_NO_REALTIME
-		case 0x03:
-			return ReturnCode_SAVE_ERROR
-		case 0x04:
-			return ReturnCode_MAILBOX_FULL
-		case 0x05:
-			return ReturnCode_WRONG_HMSG
-		case 0x06:
-			return ReturnCode_TARGET_PORT_NOT_FOUND
-		case 0x07:
-			return ReturnCode_TARGET_HOST_NOT_FOUND
-		case 0x08:
-			return ReturnCode_UNKNOWN_COMMAND_ID
-		case 0x09:
-			return ReturnCode_UNKNOWN_TASK_ID
-		case 0x0A:
-			return ReturnCode_NO_IO
-		case 0x0B:
-			return ReturnCode_UNKNOWN_ADS_COMMAND
-		case 0x0C:
-			return ReturnCode_WIN32_ERROR
-		case 0x0D:
-			return ReturnCode_PORT_NOT_CONNECTED
-		case 0x0E:
-			return ReturnCode_INVALID_ADS_LENGTH
-		case 0x0F:
-			return ReturnCode_INVALID_AMS_NET_ID
-		case 0x10:
-			return ReturnCode_LOW_INSTALLATION_LEVEL
-		case 0x1000:
-			return ReturnCode_RTERR_INTERNAL
-		case 0x1001:
-			return ReturnCode_RTERR_BADTIMERPERIODS
-		case 0x1002:
-			return ReturnCode_RTERR_INVALIDTASKPTR
-		case 0x1003:
-			return ReturnCode_RTERR_INVALIDSTACKPTR
-		case 0x1004:
-			return ReturnCode_RTERR_PRIOEXISTS
-		case 0x1005:
-			return ReturnCode_RTERR_NOMORETCB
-		case 0x1006:
-			return ReturnCode_RTERR_NOMORESEMAS
-		case 0x1007:
-			return ReturnCode_RTERR_NOMOREQUEUES
-		case 0x100D:
-			return ReturnCode_RTERR_EXTIRQALREADYDEF
-		case 0x100E:
-			return ReturnCode_RTERR_EXTIRQNOTDEF
-		case 0x100F:
-			return ReturnCode_RTERR_EXTIRQINSTALLFAILED
-		case 0x1010:
-			return ReturnCode_RTERR_IRQLNOTLESSOREQUAL
-		case 0x1017:
-			return ReturnCode_RTERR_VMXNOTSUPPORTED
-		case 0x1018:
-			return ReturnCode_RTERR_VMXDISABLED
-		case 0x1019:
-			return ReturnCode_RTERR_VMXCONTROLSMISSING
-		case 0x101A:
-			return ReturnCode_RTERR_VMXENABLEFAILS
-		case 0x11:
-			return ReturnCode_NO_DEBUGGING_AVAILABLE
-		case 0x12:
-			return ReturnCode_PORT_DEACTIVATED
-		case 0x13:
-			return ReturnCode_PORT_ALREADY_CONNECTED
-		case 0x14:
-			return ReturnCode_ADS_SYNC_WIN32_ERROR
-		case 0x15:
-			return ReturnCode_ADS_SYNC_TIMEOUT
-		case 0x16:
-			return ReturnCode_ADS_SYNC_AMS_ERROR
-		case 0x17:
-			return ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE
-		case 0x18:
-			return ReturnCode_INVALID_ADS_PORT
-		case 0x19:
-			return ReturnCode_NO_MEMORY
-		case 0x1A:
-			return ReturnCode_TCP_SENDING_ERROR
-		case 0x1B:
-			return ReturnCode_HOST_NOT_REACHABLE
-		case 0x1C:
-			return ReturnCode_INVALID_AMS_FRAGMENT
-		case 0x274C:
-			return ReturnCode_WSAETIMEDOUT
-		case 0x274D:
-			return ReturnCode_WSAECONNREFUSED
-		case 0x2751:
-			return ReturnCode_WSAEHOSTUNREACH
-		case 0x500:
-			return ReturnCode_ROUTERERR_NOLOCKEDMEMORY
-		case 0x501:
-			return ReturnCode_ROUTERERR_RESIZEMEMORY
-		case 0x502:
-			return ReturnCode_ROUTERERR_MAILBOXFULL
-		case 0x503:
-			return ReturnCode_ROUTERERR_DEBUGBOXFULL
-		case 0x504:
-			return ReturnCode_ROUTERERR_UNKNOWNPORTTYPE
-		case 0x505:
-			return ReturnCode_ROUTERERR_NOTINITIALIZED
-		case 0x506:
-			return ReturnCode_ROUTERERR_PORTALREADYINUSE
-		case 0x507:
-			return ReturnCode_ROUTERERR_NOTREGISTERED
-		case 0x508:
-			return ReturnCode_ROUTERERR_NOMOREQUEUES
-		case 0x509:
-			return ReturnCode_ROUTERERR_INVALIDPORT
-		case 0x50A:
-			return ReturnCode_ROUTERERR_NOTACTIVATED
-		case 0x700:
-			return ReturnCode_ADSERR_DEVICE_ERROR
-		case 0x701:
-			return ReturnCode_ADSERR_DEVICE_SRVNOTSUPP
-		case 0x702:
-			return ReturnCode_ADSERR_DEVICE_INVALIDGRP
-		case 0x703:
-			return ReturnCode_ADSERR_DEVICE_INVALIDOFFSET
-		case 0x704:
-			return ReturnCode_ADSERR_DEVICE_INVALIDACCESS
-		case 0x705:
-			return ReturnCode_ADSERR_DEVICE_INVALIDSIZE
-		case 0x706:
-			return ReturnCode_ADSERR_DEVICE_INVALIDDATA
-		case 0x707:
-			return ReturnCode_ADSERR_DEVICE_NOTREADY
-		case 0x708:
-			return ReturnCode_ADSERR_DEVICE_BUSY
-		case 0x709:
-			return ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT
-		case 0x70A:
-			return ReturnCode_ADSERR_DEVICE_NOMEMORY
-		case 0x70B:
-			return ReturnCode_ADSERR_DEVICE_INVALIDPARM
-		case 0x70C:
-			return ReturnCode_ADSERR_DEVICE_NOTFOUND
-		case 0x70D:
-			return ReturnCode_ADSERR_DEVICE_SYNTAX
-		case 0x70E:
-			return ReturnCode_ADSERR_DEVICE_INCOMPATIBLE
-		case 0x70F:
-			return ReturnCode_ADSERR_DEVICE_EXISTS
-		case 0x710:
-			return ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND
-		case 0x711:
-			return ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID
-		case 0x712:
-			return ReturnCode_ADSERR_DEVICE_INVALIDSTATE
-		case 0x713:
-			return ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP
-		case 0x714:
-			return ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID
-		case 0x715:
-			return ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN
-		case 0x716:
-			return ReturnCode_ADSERR_DEVICE_NOMOREHDLS
-		case 0x717:
-			return ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE
-		case 0x718:
-			return ReturnCode_ADSERR_DEVICE_NOTINIT
-		case 0x719:
-			return ReturnCode_ADSERR_DEVICE_TIMEOUT
-		case 0x71A:
-			return ReturnCode_ADSERR_DEVICE_NOINTERFACE
-		case 0x71B:
-			return ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE
-		case 0x71C:
-			return ReturnCode_ADSERR_DEVICE_INVALIDCLSID
-		case 0x71D:
-			return ReturnCode_ADSERR_DEVICE_INVALIDOBJID
-		case 0x71E:
-			return ReturnCode_ADSERR_DEVICE_PENDING
-		case 0x71F:
-			return ReturnCode_ADSERR_DEVICE_ABORTED
-		case 0x720:
-			return ReturnCode_ADSERR_DEVICE_WARNING
-		case 0x721:
-			return ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX
-		case 0x722:
-			return ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE
-		case 0x723:
-			return ReturnCode_ADSERR_DEVICE_ACCESSDENIED
-		case 0x724:
-			return ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND
-		case 0x725:
-			return ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED
-		case 0x726:
-			return ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED
-		case 0x727:
-			return ReturnCode_ADSERR_DEVICE_LICENSEINVALID
-		case 0x728:
-			return ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID
-		case 0x729:
-			return ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT
-		case 0x72A:
-			return ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE
-		case 0x72B:
-			return ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG
-		case 0x72D:
-			return ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED
-		case 0x72E:
-			return ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID
-		case 0x72F:
-			return ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID
-		case 0x72c:
-			return ReturnCode_ADSERR_DEVICE_EXCEPTION
-		case 0x740:
-			return ReturnCode_ADSERR_CLIENT_ERROR
-		case 0x741:
-			return ReturnCode_ADSERR_CLIENT_INVALIDPARM
-		case 0x742:
-			return ReturnCode_ADSERR_CLIENT_LISTEMPTY
-		case 0x743:
-			return ReturnCode_ADSERR_CLIENT_VARUSED
-		case 0x744:
-			return ReturnCode_ADSERR_CLIENT_DUPLINVOKEID
-		case 0x745:
-			return ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT
-		case 0x746:
-			return ReturnCode_ADSERR_CLIENT_W32ERROR
-		case 0x747:
-			return ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID
-		case 0x748:
-			return ReturnCode_ADSERR_CLIENT_PORTNOTOPEN
-		case 0x750:
-			return ReturnCode_ADSERR_CLIENT_NOAMSADDR
-		case 0x751:
-			return ReturnCode_ADSERR_CLIENT_SYNCINTERNAL
-		case 0x752:
-			return ReturnCode_ADSERR_CLIENT_ADDHASH
-		case 0x753:
-			return ReturnCode_ADSERR_CLIENT_REMOVEHASH
-		case 0x754:
-			return ReturnCode_ADSERR_CLIENT_NOMORESYM
-		case 0x755:
-			return ReturnCode_ADSERR_CLIENT_SYNCRESINVALID
+	case 0x00:
+		return ReturnCode_OK
+	case 0x01:
+		return ReturnCode_INTERNAL_ERROR
+	case 0x02:
+		return ReturnCode_NO_REALTIME
+	case 0x03:
+		return ReturnCode_SAVE_ERROR
+	case 0x04:
+		return ReturnCode_MAILBOX_FULL
+	case 0x05:
+		return ReturnCode_WRONG_HMSG
+	case 0x06:
+		return ReturnCode_TARGET_PORT_NOT_FOUND
+	case 0x07:
+		return ReturnCode_TARGET_HOST_NOT_FOUND
+	case 0x08:
+		return ReturnCode_UNKNOWN_COMMAND_ID
+	case 0x09:
+		return ReturnCode_UNKNOWN_TASK_ID
+	case 0x0A:
+		return ReturnCode_NO_IO
+	case 0x0B:
+		return ReturnCode_UNKNOWN_ADS_COMMAND
+	case 0x0C:
+		return ReturnCode_WIN32_ERROR
+	case 0x0D:
+		return ReturnCode_PORT_NOT_CONNECTED
+	case 0x0E:
+		return ReturnCode_INVALID_ADS_LENGTH
+	case 0x0F:
+		return ReturnCode_INVALID_AMS_NET_ID
+	case 0x10:
+		return ReturnCode_LOW_INSTALLATION_LEVEL
+	case 0x1000:
+		return ReturnCode_RTERR_INTERNAL
+	case 0x1001:
+		return ReturnCode_RTERR_BADTIMERPERIODS
+	case 0x1002:
+		return ReturnCode_RTERR_INVALIDTASKPTR
+	case 0x1003:
+		return ReturnCode_RTERR_INVALIDSTACKPTR
+	case 0x1004:
+		return ReturnCode_RTERR_PRIOEXISTS
+	case 0x1005:
+		return ReturnCode_RTERR_NOMORETCB
+	case 0x1006:
+		return ReturnCode_RTERR_NOMORESEMAS
+	case 0x1007:
+		return ReturnCode_RTERR_NOMOREQUEUES
+	case 0x100D:
+		return ReturnCode_RTERR_EXTIRQALREADYDEF
+	case 0x100E:
+		return ReturnCode_RTERR_EXTIRQNOTDEF
+	case 0x100F:
+		return ReturnCode_RTERR_EXTIRQINSTALLFAILED
+	case 0x1010:
+		return ReturnCode_RTERR_IRQLNOTLESSOREQUAL
+	case 0x1017:
+		return ReturnCode_RTERR_VMXNOTSUPPORTED
+	case 0x1018:
+		return ReturnCode_RTERR_VMXDISABLED
+	case 0x1019:
+		return ReturnCode_RTERR_VMXCONTROLSMISSING
+	case 0x101A:
+		return ReturnCode_RTERR_VMXENABLEFAILS
+	case 0x11:
+		return ReturnCode_NO_DEBUGGING_AVAILABLE
+	case 0x12:
+		return ReturnCode_PORT_DEACTIVATED
+	case 0x13:
+		return ReturnCode_PORT_ALREADY_CONNECTED
+	case 0x14:
+		return ReturnCode_ADS_SYNC_WIN32_ERROR
+	case 0x15:
+		return ReturnCode_ADS_SYNC_TIMEOUT
+	case 0x16:
+		return ReturnCode_ADS_SYNC_AMS_ERROR
+	case 0x17:
+		return ReturnCode_NO_INDEX_MAP_FOR_ADS_AVAILABLE
+	case 0x18:
+		return ReturnCode_INVALID_ADS_PORT
+	case 0x19:
+		return ReturnCode_NO_MEMORY
+	case 0x1A:
+		return ReturnCode_TCP_SENDING_ERROR
+	case 0x1B:
+		return ReturnCode_HOST_NOT_REACHABLE
+	case 0x1C:
+		return ReturnCode_INVALID_AMS_FRAGMENT
+	case 0x274C:
+		return ReturnCode_WSAETIMEDOUT
+	case 0x274D:
+		return ReturnCode_WSAECONNREFUSED
+	case 0x2751:
+		return ReturnCode_WSAEHOSTUNREACH
+	case 0x500:
+		return ReturnCode_ROUTERERR_NOLOCKEDMEMORY
+	case 0x501:
+		return ReturnCode_ROUTERERR_RESIZEMEMORY
+	case 0x502:
+		return ReturnCode_ROUTERERR_MAILBOXFULL
+	case 0x503:
+		return ReturnCode_ROUTERERR_DEBUGBOXFULL
+	case 0x504:
+		return ReturnCode_ROUTERERR_UNKNOWNPORTTYPE
+	case 0x505:
+		return ReturnCode_ROUTERERR_NOTINITIALIZED
+	case 0x506:
+		return ReturnCode_ROUTERERR_PORTALREADYINUSE
+	case 0x507:
+		return ReturnCode_ROUTERERR_NOTREGISTERED
+	case 0x508:
+		return ReturnCode_ROUTERERR_NOMOREQUEUES
+	case 0x509:
+		return ReturnCode_ROUTERERR_INVALIDPORT
+	case 0x50A:
+		return ReturnCode_ROUTERERR_NOTACTIVATED
+	case 0x700:
+		return ReturnCode_ADSERR_DEVICE_ERROR
+	case 0x701:
+		return ReturnCode_ADSERR_DEVICE_SRVNOTSUPP
+	case 0x702:
+		return ReturnCode_ADSERR_DEVICE_INVALIDGRP
+	case 0x703:
+		return ReturnCode_ADSERR_DEVICE_INVALIDOFFSET
+	case 0x704:
+		return ReturnCode_ADSERR_DEVICE_INVALIDACCESS
+	case 0x705:
+		return ReturnCode_ADSERR_DEVICE_INVALIDSIZE
+	case 0x706:
+		return ReturnCode_ADSERR_DEVICE_INVALIDDATA
+	case 0x707:
+		return ReturnCode_ADSERR_DEVICE_NOTREADY
+	case 0x708:
+		return ReturnCode_ADSERR_DEVICE_BUSY
+	case 0x709:
+		return ReturnCode_ADSERR_DEVICE_INVALIDCONTEXT
+	case 0x70A:
+		return ReturnCode_ADSERR_DEVICE_NOMEMORY
+	case 0x70B:
+		return ReturnCode_ADSERR_DEVICE_INVALIDPARM
+	case 0x70C:
+		return ReturnCode_ADSERR_DEVICE_NOTFOUND
+	case 0x70D:
+		return ReturnCode_ADSERR_DEVICE_SYNTAX
+	case 0x70E:
+		return ReturnCode_ADSERR_DEVICE_INCOMPATIBLE
+	case 0x70F:
+		return ReturnCode_ADSERR_DEVICE_EXISTS
+	case 0x710:
+		return ReturnCode_ADSERR_DEVICE_SYMBOLNOTFOUND
+	case 0x711:
+		return ReturnCode_ADSERR_DEVICE_SYMBOLVERSIONINVALID
+	case 0x712:
+		return ReturnCode_ADSERR_DEVICE_INVALIDSTATE
+	case 0x713:
+		return ReturnCode_ADSERR_DEVICE_TRANSMODENOTSUPP
+	case 0x714:
+		return ReturnCode_ADSERR_DEVICE_NOTIFYHNDINVALID
+	case 0x715:
+		return ReturnCode_ADSERR_DEVICE_CLIENTUNKNOWN
+	case 0x716:
+		return ReturnCode_ADSERR_DEVICE_NOMOREHDLS
+	case 0x717:
+		return ReturnCode_ADSERR_DEVICE_INVALIDWATCHSIZE
+	case 0x718:
+		return ReturnCode_ADSERR_DEVICE_NOTINIT
+	case 0x719:
+		return ReturnCode_ADSERR_DEVICE_TIMEOUT
+	case 0x71A:
+		return ReturnCode_ADSERR_DEVICE_NOINTERFACE
+	case 0x71B:
+		return ReturnCode_ADSERR_DEVICE_INVALIDINTERFACE
+	case 0x71C:
+		return ReturnCode_ADSERR_DEVICE_INVALIDCLSID
+	case 0x71D:
+		return ReturnCode_ADSERR_DEVICE_INVALIDOBJID
+	case 0x71E:
+		return ReturnCode_ADSERR_DEVICE_PENDING
+	case 0x71F:
+		return ReturnCode_ADSERR_DEVICE_ABORTED
+	case 0x720:
+		return ReturnCode_ADSERR_DEVICE_WARNING
+	case 0x721:
+		return ReturnCode_ADSERR_DEVICE_INVALIDARRAYIDX
+	case 0x722:
+		return ReturnCode_ADSERR_DEVICE_SYMBOLNOTACTIVE
+	case 0x723:
+		return ReturnCode_ADSERR_DEVICE_ACCESSDENIED
+	case 0x724:
+		return ReturnCode_ADSERR_DEVICE_LICENSENOTFOUND
+	case 0x725:
+		return ReturnCode_ADSERR_DEVICE_LICENSEEXPIRED
+	case 0x726:
+		return ReturnCode_ADSERR_DEVICE_LICENSEEXCEEDED
+	case 0x727:
+		return ReturnCode_ADSERR_DEVICE_LICENSEINVALID
+	case 0x728:
+		return ReturnCode_ADSERR_DEVICE_LICENSESYSTEMID
+	case 0x729:
+		return ReturnCode_ADSERR_DEVICE_LICENSENOTIMELIMIT
+	case 0x72A:
+		return ReturnCode_ADSERR_DEVICE_LICENSEFUTUREISSUE
+	case 0x72B:
+		return ReturnCode_ADSERR_DEVICE_LICENSETIMETOLONG
+	case 0x72D:
+		return ReturnCode_ADSERR_DEVICE_LICENSEDUPLICATED
+	case 0x72E:
+		return ReturnCode_ADSERR_DEVICE_SIGNATUREINVALID
+	case 0x72F:
+		return ReturnCode_ADSERR_DEVICE_CERTIFICATEINVALID
+	case 0x72c:
+		return ReturnCode_ADSERR_DEVICE_EXCEPTION
+	case 0x740:
+		return ReturnCode_ADSERR_CLIENT_ERROR
+	case 0x741:
+		return ReturnCode_ADSERR_CLIENT_INVALIDPARM
+	case 0x742:
+		return ReturnCode_ADSERR_CLIENT_LISTEMPTY
+	case 0x743:
+		return ReturnCode_ADSERR_CLIENT_VARUSED
+	case 0x744:
+		return ReturnCode_ADSERR_CLIENT_DUPLINVOKEID
+	case 0x745:
+		return ReturnCode_ADSERR_CLIENT_SYNCTIMEOUT
+	case 0x746:
+		return ReturnCode_ADSERR_CLIENT_W32ERROR
+	case 0x747:
+		return ReturnCode_ADSERR_CLIENT_TIMEOUTINVALID
+	case 0x748:
+		return ReturnCode_ADSERR_CLIENT_PORTNOTOPEN
+	case 0x750:
+		return ReturnCode_ADSERR_CLIENT_NOAMSADDR
+	case 0x751:
+		return ReturnCode_ADSERR_CLIENT_SYNCINTERNAL
+	case 0x752:
+		return ReturnCode_ADSERR_CLIENT_ADDHASH
+	case 0x753:
+		return ReturnCode_ADSERR_CLIENT_REMOVEHASH
+	case 0x754:
+		return ReturnCode_ADSERR_CLIENT_NOMORESYM
+	case 0x755:
+		return ReturnCode_ADSERR_CLIENT_SYNCRESINVALID
 	}
 	return 0
 }
@@ -1070,4 +1070,3 @@ func (e ReturnCode) name() string {
 func (e ReturnCode) String() string {
 	return e.name()
 }
-
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/State.go b/plc4go/internal/plc4go/ads/readwrite/model/State.go
index 4c6633d..e3ad1f8 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/State.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/State.go
@@ -19,27 +19,25 @@
 
 package model
 
-
 import (
 	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
 
-	// Code generated by code-generation. DO NOT EDIT.
-
+// Code generated by code-generation. DO NOT EDIT.
 
 // The data-structure of this message
 type State struct {
-	InitCommand bool
-	UpdCommand bool
-	TimestampAdded bool
+	InitCommand         bool
+	UpdCommand          bool
+	TimestampAdded      bool
 	HighPriorityCommand bool
-	SystemCommand bool
-	AdsCommand bool
-	NoReturn bool
-	Response bool
-	Broadcast bool
+	SystemCommand       bool
+	AdsCommand          bool
+	NoReturn            bool
+	Response            bool
+	Broadcast           bool
 }
 
 // The corresponding interface
@@ -78,31 +76,31 @@ func (m *State) LengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(0)
 
 	// Simple field (initCommand)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (updCommand)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (timestampAdded)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (highPriorityCommand)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (systemCommand)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (adsCommand)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (noReturn)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (response)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Simple field (broadcast)
-	lengthInBits += 1;
+	lengthInBits += 1
 
 	// Reserved Field (reserved)
 	lengthInBits += 7
@@ -110,7 +108,6 @@ func (m *State) LengthInBitsConditional(lastItem bool) uint16 {
 	return lengthInBits
 }
 
-
 func (m *State) LengthInBytes() uint16 {
 	return m.LengthInBits() / 8
 }
@@ -121,55 +118,55 @@ func StateParse(readBuffer utils.ReadBuffer) (*State, error) {
 	}
 
 	// Simple Field (initCommand)
-initCommand, _initCommandErr := readBuffer.ReadBit("initCommand")
+	initCommand, _initCommandErr := readBuffer.ReadBit("initCommand")
 	if _initCommandErr != nil {
 		return nil, errors.Wrap(_initCommandErr, "Error parsing 'initCommand' field")
 	}
 
 	// Simple Field (updCommand)
-updCommand, _updCommandErr := readBuffer.ReadBit("updCommand")
+	updCommand, _updCommandErr := readBuffer.ReadBit("updCommand")
 	if _updCommandErr != nil {
 		return nil, errors.Wrap(_updCommandErr, "Error parsing 'updCommand' field")
 	}
 
 	// Simple Field (timestampAdded)
-timestampAdded, _timestampAddedErr := readBuffer.ReadBit("timestampAdded")
+	timestampAdded, _timestampAddedErr := readBuffer.ReadBit("timestampAdded")
 	if _timestampAddedErr != nil {
 		return nil, errors.Wrap(_timestampAddedErr, "Error parsing 'timestampAdded' field")
 	}
 
 	// Simple Field (highPriorityCommand)
-highPriorityCommand, _highPriorityCommandErr := readBuffer.ReadBit("highPriorityCommand")
+	highPriorityCommand, _highPriorityCommandErr := readBuffer.ReadBit("highPriorityCommand")
 	if _highPriorityCommandErr != nil {
 		return nil, errors.Wrap(_highPriorityCommandErr, "Error parsing 'highPriorityCommand' field")
 	}
 
 	// Simple Field (systemCommand)
-systemCommand, _systemCommandErr := readBuffer.ReadBit("systemCommand")
+	systemCommand, _systemCommandErr := readBuffer.ReadBit("systemCommand")
 	if _systemCommandErr != nil {
 		return nil, errors.Wrap(_systemCommandErr, "Error parsing 'systemCommand' field")
 	}
 
 	// Simple Field (adsCommand)
-adsCommand, _adsCommandErr := readBuffer.ReadBit("adsCommand")
+	adsCommand, _adsCommandErr := readBuffer.ReadBit("adsCommand")
 	if _adsCommandErr != nil {
 		return nil, errors.Wrap(_adsCommandErr, "Error parsing 'adsCommand' field")
 	}
 
 	// Simple Field (noReturn)
-noReturn, _noReturnErr := readBuffer.ReadBit("noReturn")
+	noReturn, _noReturnErr := readBuffer.ReadBit("noReturn")
 	if _noReturnErr != nil {
 		return nil, errors.Wrap(_noReturnErr, "Error parsing 'noReturn' field")
 	}
 
 	// Simple Field (response)
-response, _responseErr := readBuffer.ReadBit("response")
+	response, _responseErr := readBuffer.ReadBit("response")
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field")
 	}
 
 	// Simple Field (broadcast)
-broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
+	broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
 	if _broadcastErr != nil {
 		return nil, errors.Wrap(_broadcastErr, "Error parsing 'broadcast' field")
 	}
@@ -183,7 +180,7 @@ broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
 		if reserved != int8(0x0) {
 			log.Info().Fields(map[string]interface{}{
 				"expected value": int8(0x0),
-				"got value": reserved,
+				"got value":      reserved,
 			}).Msg("Got unexpected response.")
 		}
 	}
@@ -197,7 +194,7 @@ broadcast, _broadcastErr := readBuffer.ReadBit("broadcast")
 }
 
 func (m *State) Serialize(writeBuffer utils.WriteBuffer) error {
-	if pushErr :=writeBuffer.PushContext("State"); pushErr != nil {
+	if pushErr := writeBuffer.PushContext("State"); pushErr != nil {
 		return pushErr
 	}
 
@@ -286,6 +283,3 @@ func (m *State) String() string {
 	m.Serialize(buffer)
 	return buffer.GetBox().String()
 }
-
-
-
diff --git a/plc4go/internal/plc4go/modbus/fieldtype_string.go b/plc4go/internal/plc4go/modbus/fieldtype_string.go
index ec3ec50..4ef728b 100644
--- a/plc4go/internal/plc4go/modbus/fieldtype_string.go
+++ b/plc4go/internal/plc4go/modbus/fieldtype_string.go
@@ -1,20 +1,3 @@
-// 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 FieldType"; DO NOT EDIT.
 
 package modbus
diff --git a/plc4go/internal/plc4go/s7/fieldtype_string.go b/plc4go/internal/plc4go/s7/fieldtype_string.go
index 3045fc1..02ae83f 100644
--- a/plc4go/internal/plc4go/s7/fieldtype_string.go
+++ b/plc4go/internal/plc4go/s7/fieldtype_string.go
@@ -1,20 +1,3 @@
-// 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 FieldType"; DO NOT EDIT.
 
 package s7
diff --git a/plc4go/internal/plc4go/spi/testutils/steptype_string.go b/plc4go/internal/plc4go/spi/testutils/steptype_string.go
index c99ce3e..8506728 100644
--- a/plc4go/internal/plc4go/spi/testutils/steptype_string.go
+++ b/plc4go/internal/plc4go/spi/testutils/steptype_string.go
@@ -1,20 +1,3 @@
-// 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
diff --git a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/protocol/AdsProtocolLogic.java b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/protocol/AdsProtocolLogic.java
index 2a1187e..cb0a6b8 100644
--- a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/protocol/AdsProtocolLogic.java
+++ b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/protocol/AdsProtocolLogic.java
@@ -279,12 +279,12 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
         Map<String, PlcResponseCode> responseCodes = new HashMap<>();
         if (adsData instanceof AdsReadResponse) {
             AdsReadResponse adsReadResponse = (AdsReadResponse) adsData;
-            readBuffer = new ReadBufferByteBased(adsReadResponse.getData(), true);
+            readBuffer = new ReadBufferByteBased(adsReadResponse.getData(), ByteOrder.LITTLE_ENDIAN);
             responseCodes.put(readRequest.getFieldNames().stream().findFirst().orElse(""),
                 parsePlcResponseCode(adsReadResponse.getResult()));
         } else if (adsData instanceof AdsReadWriteResponse) {
             AdsReadWriteResponse adsReadWriteResponse = (AdsReadWriteResponse) adsData;
-            readBuffer = new ReadBufferByteBased(adsReadWriteResponse.getData(), true);
+            readBuffer = new ReadBufferByteBased(adsReadWriteResponse.getData(), ByteOrder.LITTLE_ENDIAN);
             // When parsing a multi-item response, the error codes of each items come
             // in sequence and then come the values.
             for (String fieldName : readRequest.getFieldNames()) {
@@ -429,7 +429,7 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
         }
         try {
             WriteBufferByteBased writeBuffer = DataItemIO.staticSerialize(plcValue,
-                plcField.getAdsDataType().getDataFormatName(), stringLength, true);
+                plcField.getAdsDataType().getDataFormatName(), stringLength, ByteOrder.LITTLE_ENDIAN);
             AdsData adsData = new AdsWriteRequest(
                 directAdsField.getIndexGroup(), directAdsField.getIndexOffset(), writeBuffer.getData());
             AmsPacket amsPacket = new AmsPacket(configuration.getTargetAmsNetId(), configuration.getTargetAmsPort(),
@@ -487,7 +487,7 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
             }
             try {
                 final WriteBufferByteBased itemWriteBuffer = DataItemIO.staticSerialize(plcValue,
-                    field.getAdsDataType().getDataFormatName(), stringLength, true);
+                    field.getAdsDataType().getDataFormatName(), stringLength, ByteOrder.LITTLE_ENDIAN);
                 assert itemWriteBuffer != null;
                 int numBytes = itemWriteBuffer.getPos();
                 System.arraycopy(itemWriteBuffer.getData(), 0, writeBuffer, pos, numBytes);
@@ -541,7 +541,7 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
                 parsePlcResponseCode(adsWriteResponse.getResult()));
         } else if (adsData instanceof AdsReadWriteResponse) {
             AdsReadWriteResponse adsReadWriteResponse = (AdsReadWriteResponse) adsData;
-            ReadBuffer readBuffer = new ReadBufferByteBased(adsReadWriteResponse.getData(), true);
+            ReadBuffer readBuffer = new ReadBufferByteBased(adsReadWriteResponse.getData(), ByteOrder.LITTLE_ENDIAN);
             // When parsing a multi-item response, the error codes of each items come
             // in sequence and then come the values.
             for (String fieldName : writeRequest.getFieldNames()) {
@@ -659,7 +659,7 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
                     future.completeExceptionally(new PlcException("Couldn't retrieve handle for symbolic field " +
                         symbolicAdsField.getSymbolicAddress() + " got return code " + responseAdsData.getResult().name()));
                 } else {
-                    ReadBuffer readBuffer = new ReadBufferByteBased(responseAdsData.getData(), true);
+                    ReadBuffer readBuffer = new ReadBufferByteBased(responseAdsData.getData(), ByteOrder.LITTLE_ENDIAN);
                     try {
                         // Read the handle.
                         long handle = readBuffer.readUnsignedLong(32);
@@ -707,7 +707,7 @@ public class AdsProtocolLogic extends Plc4xProtocolBase<AmsTCPPacket> implements
             .check(AdsReadWriteResponse.class::isInstance)
             .unwrap(AdsReadWriteResponse.class::cast)
             .handle(responseAdsData -> {
-                ReadBuffer readBuffer = new ReadBufferByteBased(responseAdsData.getData(), true);
+                ReadBuffer readBuffer = new ReadBufferByteBased(responseAdsData.getData(), ByteOrder.LITTLE_ENDIAN);
                 Map<SymbolicAdsField, Long> returnCodes = new HashMap<>();
                 // In the response first come the return codes and the data-lengths for each item.
                 symbolicAdsFields.forEach(symbolicAdsField -> {
diff --git a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/ManualParserSerializerTest.java b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/ManualParserSerializerTest.java
index a49d04b..14ab1be 100644
--- a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/ManualParserSerializerTest.java
+++ b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/ManualParserSerializerTest.java
@@ -21,6 +21,7 @@ package org.apache.plc4x.protocol.ads;
 import org.apache.commons.codec.binary.Hex;
 import org.apache.plc4x.java.ads.readwrite.AmsTCPPacket;
 import org.apache.plc4x.java.ads.readwrite.io.AmsTCPPacketIO;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ReadBuffer;
 import org.apache.plc4x.java.spi.generation.ReadBufferByteBased;
 
@@ -29,7 +30,7 @@ public class ManualParserSerializerTest {
     public static void main(String[] args) throws Exception {
         byte[] data = Hex.decodeHex("0000f1000000c0a817c80101feffc0a817140101530309000500d1000000000000002f00000000000000c90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012a00a07d0f7e1c8e31489f8cf1006b3604b888defc88f64eb6fbb217d11fc5cf5f148b0abf05407c941a93b8263301db0f4940d66875727a0000000000d2040000ab6459032bbf7e03b888defcb8a5b249044de82ee03a2ab [...]
         //byte[] data = Hex.decodeHex("0000f1000000c0a817c80101feffc0a817140101530309000500d1000000000000002f00000000000000c90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012a00a07d0f7e1c8e31489f8cf1006b3604b888defc");
-        ReadBuffer readBuffer = new ReadBufferByteBased(data, true);
+        ReadBuffer readBuffer = new ReadBufferByteBased(data, ByteOrder.LITTLE_ENDIAN);
         final AmsTCPPacket amsTCPPacket = AmsTCPPacketIO.staticParse(readBuffer);
         System.out.println(amsTCPPacket);
     }
diff --git a/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/protocol/GenericCANProtocolLogic.java b/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/protocol/GenericCANProtocolLogic.java
index cd7d250..2509cbe 100644
--- a/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/protocol/GenericCANProtocolLogic.java
+++ b/plc4j/drivers/can/src/main/java/org/apache/plc4x/java/can/generic/protocol/GenericCANProtocolLogic.java
@@ -32,11 +32,7 @@ import org.apache.plc4x.java.can.generic.transport.GenericFrame;
 import org.apache.plc4x.java.genericcan.readwrite.io.DataItemIO;
 import org.apache.plc4x.java.spi.ConversationContext;
 import org.apache.plc4x.java.spi.context.DriverContext;
-import org.apache.plc4x.java.spi.generation.ParseException;
-import org.apache.plc4x.java.spi.generation.ReadBuffer;
-import org.apache.plc4x.java.spi.generation.ReadBufferByteBased;
-import org.apache.plc4x.java.spi.generation.WriteBuffer;
-import org.apache.plc4x.java.spi.generation.WriteBufferByteBased;
+import org.apache.plc4x.java.spi.generation.*;
 import org.apache.plc4x.java.spi.messages.*;
 import org.apache.plc4x.java.spi.messages.utils.ResponseItem;
 import org.apache.plc4x.java.spi.model.DefaultPlcConsumerRegistration;
@@ -93,7 +89,7 @@ public class GenericCANProtocolLogic extends Plc4xCANProtocolBase<GenericFrame>
             for (PlcSubscriptionHandle handle : registration.getSubscriptionHandles()) {
                 GenericCANSubscriptionHandle subscription = (GenericCANSubscriptionHandle) handle;
                 Map<String, ResponseItem<PlcValue>> fields = new LinkedHashMap<>();
-                ReadBuffer buffer = new ReadBufferByteBased(msg.getData(), true);
+                ReadBuffer buffer = new ReadBufferByteBased(msg.getData(), ByteOrder.LITTLE_ENDIAN);
                 buffer.pullContext("readFields");
                 if (subscription.matches(msg.getNodeId())) {
                     for (Entry<String, GenericCANField> field : subscription.getFields().entrySet()) {
@@ -151,7 +147,7 @@ public class GenericCANProtocolLogic extends Plc4xCANProtocolBase<GenericFrame>
                     continue;
                 }
                 GenericCANField canField = (GenericCANField) plcField;
-                WriteBuffer buffer = messages.computeIfAbsent(canField.getNodeId(), (node) -> new WriteBufferByteBased(8, true));
+                WriteBuffer buffer = messages.computeIfAbsent(canField.getNodeId(), (node) -> new WriteBufferByteBased(8, ByteOrder.LITTLE_ENDIAN));
 
                 Map<String, PlcResponseCode> statusMap = responses.computeIfAbsent(canField.getNodeId(), (node) -> new HashMap<>());
 
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/CANOpenConversationBase.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/CANOpenConversationBase.java
index e6e7c56..eebca70 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/CANOpenConversationBase.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/CANOpenConversationBase.java
@@ -26,6 +26,7 @@ import org.apache.plc4x.java.canopen.readwrite.*;
 import org.apache.plc4x.java.canopen.readwrite.io.DataItemIO;
 import org.apache.plc4x.java.canopen.readwrite.types.CANOpenDataType;
 import org.apache.plc4x.java.canopen.readwrite.types.CANOpenService;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ParseException;
 import org.apache.plc4x.java.spi.generation.ReadBufferByteBased;
 
@@ -45,7 +46,7 @@ public abstract class CANOpenConversationBase {
     }
 
     protected PlcValue decodeFrom(byte[] data, CANOpenDataType type, int length) throws ParseException {
-        return DataItemIO.staticParse(new ReadBufferByteBased(data, true), type, length);
+        return DataItemIO.staticParse(new ReadBufferByteBased(data, ByteOrder.LITTLE_ENDIAN), type, length);
     }
 
     protected <T> void onError(CompletableFuture<T> receiver, CANOpenSDOResponse response, Throwable error) {
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
index 3573778..0f47825 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
@@ -27,6 +27,7 @@ import org.apache.plc4x.java.canopen.readwrite.*;
 import org.apache.plc4x.java.canopen.readwrite.io.DataItemIO;
 import org.apache.plc4x.java.canopen.readwrite.types.CANOpenDataType;
 import org.apache.plc4x.java.canopen.readwrite.types.SDOResponseCommand;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ParseException;
 
 import java.util.concurrent.CompletableFuture;
@@ -43,7 +44,7 @@ public class SDODownloadConversation extends CANOpenConversationBase {
         this.indexAddress = indexAddress;
 
         try {
-            data = DataItemIO.staticSerialize(value, type,  null,true).getData();
+            data = DataItemIO.staticSerialize(value, type,  null, ByteOrder.LITTLE_ENDIAN).getData();
         } catch (ParseException e) {
             throw new PlcRuntimeException("Could not serialize data", e);
         }
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/protocol/CANOpenProtocolLogic.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/protocol/CANOpenProtocolLogic.java
index 7fe263c..68c2539 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/protocol/CANOpenProtocolLogic.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/protocol/CANOpenProtocolLogic.java
@@ -219,7 +219,7 @@ public class CANOpenProtocolLogic extends Plc4xCANProtocolBase<CANOpenFrame>
 
         try {
             String fieldName = writeRequest.getFieldNames().iterator().next();
-            WriteBufferByteBased buffer = DataItemIO.staticSerialize(writeValue, field.getCanOpenDataType(), writeValue.getLength(), true);
+            WriteBufferByteBased buffer = DataItemIO.staticSerialize(writeValue, field.getCanOpenDataType(), writeValue.getLength(), ByteOrder.LITTLE_ENDIAN);
             if (buffer != null) {
                 final CANOpenPDOPayload payload = new CANOpenPDOPayload(new CANOpenPDO(buffer.getData()));
                 context.sendToWire(new CANOpenFrame((short) field.getNodeId(), field.getService(), payload));
@@ -368,7 +368,7 @@ public class CANOpenProtocolLogic extends Plc4xCANProtocolBase<CANOpenFrame>
                         CANOpenPDOField field = (CANOpenPDOField) handle.getField();
                         byte[] data = ((CANOpenPDOPayload) payload).getPdo().getData();
                         try {
-                            PlcValue value = DataItemIO.staticParse(new ReadBufferByteBased(data, true), field.getCanOpenDataType(), data.length);
+                            PlcValue value = DataItemIO.staticParse(new ReadBufferByteBased(data, ByteOrder.LITTLE_ENDIAN), field.getCanOpenDataType(), data.length);
                             DefaultPlcSubscriptionEvent event = new DefaultPlcSubscriptionEvent(
                                 Instant.now(),
                                 Collections.singletonMap(
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/transport/CANOpenFrameDataHandler.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/transport/CANOpenFrameDataHandler.java
index 4c5e9dc..b286158 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/transport/CANOpenFrameDataHandler.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/transport/CANOpenFrameDataHandler.java
@@ -25,6 +25,7 @@ import org.apache.plc4x.java.canopen.readwrite.CANOpenFrame;
 import org.apache.plc4x.java.canopen.readwrite.CANOpenPayload;
 import org.apache.plc4x.java.canopen.readwrite.io.CANOpenPayloadIO;
 import org.apache.plc4x.java.canopen.readwrite.types.CANOpenService;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.Message;
 import org.apache.plc4x.java.spi.generation.ParseException;
 import org.apache.plc4x.java.spi.generation.WriteBufferByteBased;
@@ -55,7 +56,7 @@ public class CANOpenFrameDataHandler implements FrameHandler<Message, CANOpenFra
     public Message toCAN(CANOpenFrame frame) {
         try {
             CANOpenPayload payload = frame.getPayload();
-            WriteBufferByteBased buffer = new WriteBufferByteBased(payload.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(payload.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             CANOpenPayloadIO.staticSerialize(buffer, payload);
             return builder.get().withId(frame.getService().getMin() + frame.getNodeId())
                 .withData(buffer.getData())
diff --git a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/ManualParserTest.java b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/ManualParserTest.java
index 690ffeb..f305bcc 100644
--- a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/ManualParserTest.java
+++ b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/ManualParserTest.java
@@ -19,6 +19,7 @@
 package org.apache.plc4x.java.canopen;
 
 import org.apache.commons.codec.binary.Hex;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ReadBuffer;
 import org.apache.plc4x.java.spi.generation.ReadBufferByteBased;
 import org.junit.jupiter.api.Test;
@@ -45,7 +46,7 @@ public class ManualParserTest {
 
     @Test
     public void readBufferTest() throws Exception {
-        ReadBuffer buffer = new ReadBufferByteBased(new byte[]{(byte) 0xA1, 0x05, 0x00, 0x00}, true);
+        ReadBuffer buffer = new ReadBufferByteBased(new byte[]{(byte) 0xA1, 0x05, 0x00, 0x00}, ByteOrder.LITTLE_ENDIAN);
         int value = buffer.readInt(32);
 
         assertEquals(value, 0x5A1);
@@ -78,7 +79,7 @@ public class ManualParserTest {
     public final static SocketCanFrameStub parse(String hex) throws Exception {
         byte[] input = Hex.decodeHex(hex.toCharArray());
 
-        ReadBufferByteBased readBuffer = new ReadBufferByteBased(input, true);
+        ReadBufferByteBased readBuffer = new ReadBufferByteBased(input, ByteOrder.LITTLE_ENDIAN);
         int rawId = readBuffer.readInt(32);
         boolean extended = (rawId & EXTENDED_FRAME_FORMAT_FLAG) != 0;
         boolean remote = (rawId & REMOTE_TRANSMISSION_FLAG) != 0;
diff --git a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/transport/IdentityCANOpenFrameBuilder.java b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/transport/IdentityCANOpenFrameBuilder.java
index e945329..98314e4 100644
--- a/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/transport/IdentityCANOpenFrameBuilder.java
+++ b/plc4j/drivers/canopen/src/test/java/org/apache/plc4x/java/canopen/transport/IdentityCANOpenFrameBuilder.java
@@ -24,6 +24,7 @@ import org.apache.plc4x.java.canopen.readwrite.CANOpenFrame;
 import org.apache.plc4x.java.canopen.readwrite.CANOpenPayload;
 import org.apache.plc4x.java.canopen.readwrite.io.CANOpenPayloadIO;
 import org.apache.plc4x.java.canopen.readwrite.types.CANOpenService;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ParseException;
 import org.apache.plc4x.java.spi.generation.ReadBufferByteBased;
 import org.apache.plc4x.java.transport.can.CANFrameBuilder;
@@ -56,7 +57,7 @@ public class IdentityCANOpenFrameBuilder implements CANFrameBuilder<CANOpenFrame
     public CANOpenFrame create() {
         try {
             return new CANOpenFrame(
-                nodeId, service, CANOpenPayloadIO.staticParse(new ReadBufferByteBased(data, true), service)
+                nodeId, service, CANOpenPayloadIO.staticParse(new ReadBufferByteBased(data, ByteOrder.LITTLE_ENDIAN), service)
             );
         } catch (ParseException e) {
             throw new PlcRuntimeException(e);
diff --git a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/readwrite/protocol/EipProtocolLogic.java b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/readwrite/protocol/EipProtocolLogic.java
index a2e86e6..11c18c7 100644
--- a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/readwrite/protocol/EipProtocolLogic.java
+++ b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/readwrite/protocol/EipProtocolLogic.java
@@ -280,7 +280,7 @@ public class EipProtocolLogic extends Plc4xProtocolBase<EipPacket> implements Ha
             MultipleServiceResponse responses = (MultipleServiceResponse) p;
             int nb = responses.getServiceNb();
             CipService[] arr = new CipService[nb];
-            ReadBufferByteBased read = new ReadBufferByteBased(responses.getServicesData(), true);
+            ReadBufferByteBased read = new ReadBufferByteBased(responses.getServicesData(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             int total = (int) read.getTotalBytes();
             for (int i = 0; i < nb; i++) {
                 int length = 0;
@@ -290,7 +290,7 @@ public class EipProtocolLogic extends Plc4xProtocolBase<EipPacket> implements Ha
                 } else {
                     length = responses.getOffsets()[i + 1] - offset - responses.getOffsets()[0]; //Calculate length with offsets (substracting first offset)
                 }
-                ReadBuffer serviceBuf = new ReadBufferByteBased(read.getBytes(offset, offset + length), true);
+                ReadBuffer serviceBuf = new ReadBufferByteBased(read.getBytes(offset, offset + length), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
                 CipService service = null;
                 try {
                     service = CipServiceIO.staticParse(read, length);
@@ -501,7 +501,7 @@ public class EipProtocolLogic extends Plc4xProtocolBase<EipPacket> implements Ha
                 } else {
                     length = resp.getOffsets()[i + 1] - offset; //Calculate length with offsets
                 }
-                ReadBuffer serviceBuf = new ReadBufferByteBased(read.getBytes(offset, length), true);
+                ReadBuffer serviceBuf = new ReadBufferByteBased(read.getBytes(offset, length), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
                 CipService service = null;
                 try {
                     service = CipServiceIO.staticParse(read, length);
diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/protocol/ModbusProtocolLogic.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/protocol/ModbusProtocolLogic.java
index a05fbce..d59b57c 100644
--- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/protocol/ModbusProtocolLogic.java
+++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/protocol/ModbusProtocolLogic.java
@@ -428,7 +428,7 @@ public class ModbusProtocolLogic extends Plc4xProtocolBase<ModbusTcpADU> impleme
         try {
             WriteBufferByteBased buffer;
             if(plcValue instanceof PlcList) {
-                buffer = DataItemIO.staticSerialize(plcValue, fieldDataType, plcValue.getLength(), false);
+                buffer = DataItemIO.staticSerialize(plcValue, fieldDataType, plcValue.getLength(), ByteOrder.BIG_ENDIAN);
                 byte[] data = buffer.getData();
                 switch (((ModbusField) field).getDataType()) {
                     case BOOL:
@@ -443,7 +443,7 @@ public class ModbusProtocolLogic extends Plc4xProtocolBase<ModbusTcpADU> impleme
                         return data;
                 }
             } else {
-                buffer = DataItemIO.staticSerialize(plcValue, fieldDataType, plcValue.getLength(), false);
+                buffer = DataItemIO.staticSerialize(plcValue, fieldDataType, plcValue.getLength(), ByteOrder.BIG_ENDIAN);
                 if (buffer != null) {
                     return buffer.getData();
                 } else {
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/EncryptionHandler.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/EncryptionHandler.java
index 6259db6..6a0f58f 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/EncryptionHandler.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/EncryptionHandler.java
@@ -81,7 +81,7 @@ public class EncryptionHandler {
         }
         int numberOfBlocks = preEncryptedLength / PREENCRYPTED_BLOCK_LENGTH;
         int encryptedLength = numberOfBlocks * 256 + positionFirstBlock;
-        WriteBufferByteBased buf = new WriteBufferByteBased(encryptedLength, true);
+        WriteBufferByteBased buf = new WriteBufferByteBased(encryptedLength, ByteOrder.LITTLE_ENDIAN);
         try {
             OpcuaAPUIO.staticSerialize(buf, new OpcuaAPU(pdu));
             byte paddingByte = (byte) paddingSize;
@@ -101,7 +101,7 @@ public class EncryptionHandler {
             }
             buf.setPos(positionFirstBlock);
             encryptBlock(buf, buf.getBytes(positionFirstBlock, positionFirstBlock + preEncryptedLength));
-            return new ReadBufferByteBased(buf.getData(), true);
+            return new ReadBufferByteBased(buf.getData(), ByteOrder.LITTLE_ENDIAN);
         } catch (ParseException e) {
             throw new PlcRuntimeException("Unable to parse apu prior to encrypting");
         }
@@ -126,7 +126,7 @@ public class EncryptionHandler {
                     int encryptedMessageLength = message.length + 8;
                     int headerLength = encryptedLength - encryptedMessageLength;
                     int numberOfBlocks = encryptedMessageLength / 256;
-                    WriteBufferByteBased buf = new WriteBufferByteBased(headerLength + numberOfBlocks * 256, true);
+                    WriteBufferByteBased buf = new WriteBufferByteBased(headerLength + numberOfBlocks * 256, ByteOrder.LITTLE_ENDIAN);
                     OpcuaAPUIO.staticSerialize(buf, pdu);
                     byte[] data = buf.getBytes(headerLength, encryptedLength);
                     buf.setPos(headerLength);
@@ -138,7 +138,7 @@ public class EncryptionHandler {
                     }
                     buf.setPos(4);
                     buf.writeInt(32, tempPos - 256);
-                    ReadBuffer readBuffer = new ReadBufferByteBased(buf.getBytes(0, tempPos - 256), true);
+                    ReadBuffer readBuffer = new ReadBufferByteBased(buf.getBytes(0, tempPos - 256), ByteOrder.LITTLE_ENDIAN);
                     return OpcuaAPUIO.staticParse(readBuffer, true);
                 } catch (ParseException e) {
                     LOGGER.error("Unable to Parse encrypted message");
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
index 250fe3b..d685288 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
@@ -290,7 +290,7 @@ public class SecureChannel {
             openSecureChannelRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             OpcuaOpenRequest openRequest = new OpcuaOpenRequest(FINAL_CHUNK,
@@ -325,7 +325,7 @@ public class SecureChannel {
                     })
                     .handle(opcuaOpenResponse -> {
                         try {
-                            ReadBuffer readBuffer = new ReadBufferByteBased(opcuaOpenResponse.getMessage(), true);
+                            ReadBuffer readBuffer = new ReadBufferByteBased(opcuaOpenResponse.getMessage(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
                             ExtensionObject message = ExtensionObjectIO.staticParse(readBuffer, false);
                             //Store the initial sequence number from the server. there's no requirement for the server and client to use the same starting number.
                             senderSequenceNumber.set(opcuaOpenResponse.getSequenceNumber());
@@ -411,12 +411,12 @@ public class SecureChannel {
             createSessionRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             Consumer<byte[]> consumer = opcuaResponse -> {
                         try {
-                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false);
+                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false);
                             if (message.getBody() instanceof ServiceFault) {
                                 ServiceFault fault = (ServiceFault) message.getBody();
                                 LOGGER.error("Failed to connect to opc ua server for the following reason:- {}, {}", ((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode(), OpcuaStatusCode.enumForValue(((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode()));
@@ -425,7 +425,7 @@ public class SecureChannel {
                                 try {
                                     CreateSessionResponse responseMessage;
 
-                                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false).getBody();
                                     if (unknownExtensionObject instanceof CreateSessionResponse) {
                                         responseMessage = (CreateSessionResponse) unknownExtensionObject;
 
@@ -548,12 +548,12 @@ public class SecureChannel {
             activateSessionRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             Consumer<byte[]> consumer = opcuaResponse -> {
                 try {
-                    ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false);
+                    ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false);
                     if (message.getBody() instanceof ServiceFault) {
                         ServiceFault fault = (ServiceFault) message.getBody();
                         LOGGER.error("Failed to connect to opc ua server for the following reason:- {}, {}", ((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode(), OpcuaStatusCode.enumForValue(((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode()));
@@ -562,7 +562,7 @@ public class SecureChannel {
                         try {
                             ActivateSessionResponse responseMessage;
 
-                            ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                            ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false).getBody();
                             if (unknownExtensionObject instanceof ActivateSessionResponse) {
                                 responseMessage = (ActivateSessionResponse) unknownExtensionObject;
 
@@ -639,12 +639,12 @@ public class SecureChannel {
             closeSessionRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             Consumer<byte[]> consumer = opcuaResponse -> {
                 try {
-                    ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false);
+                    ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false);
                     if (message.getBody() instanceof ServiceFault) {
                         ServiceFault fault = (ServiceFault) message.getBody();
                         LOGGER.error("Failed to connect to opc ua server for the following reason:- {}, {}", ((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode(), OpcuaStatusCode.enumForValue(((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode()));
@@ -653,7 +653,7 @@ public class SecureChannel {
                         try {
                             CloseSessionResponse responseMessage;
 
-                            ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                            ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false).getBody();
                             if (unknownExtensionObject instanceof CloseSessionResponse) {
                                 responseMessage = (CloseSessionResponse) unknownExtensionObject;
 
@@ -797,7 +797,7 @@ public class SecureChannel {
 
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(openSecureChannelRequest.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(openSecureChannelRequest.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, new ExtensionObject(
                 expandedNodeId,
                 null,
@@ -826,7 +826,7 @@ public class SecureChannel {
                     })
                     .handle(opcuaOpenResponse -> {
                         try {
-                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaOpenResponse.getMessage(), true), false);
+                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaOpenResponse.getMessage(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false);
                             if (message.getBody() instanceof ServiceFault) {
                                 ServiceFault fault = (ServiceFault) message.getBody();
                                 LOGGER.error("Failed to connect to opc ua server for the following reason:- {}, {}", ((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode(), OpcuaStatusCode.enumForValue(((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode()));
@@ -888,7 +888,7 @@ public class SecureChannel {
             null);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(endpointsRequest.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(endpointsRequest.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, new ExtensionObject(
                 expandedNodeId,
                 null,
@@ -915,7 +915,7 @@ public class SecureChannel {
                     })
                     .handle(opcuaMessageResponse -> {
                         try {
-                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaMessageResponse.getMessage(), true), false);
+                            ExtensionObject message = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaMessageResponse.getMessage(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN), false);
                             if (message.getBody() instanceof ServiceFault) {
                                 ServiceFault fault = (ServiceFault) message.getBody();
                                 LOGGER.error("Failed to connect to opc ua server for the following reason:- {}, {}", ((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode(), OpcuaStatusCode.enumForValue(((ResponseHeader) fault.getResponseHeader()).getServiceResult().getStatusCode()));
@@ -1055,7 +1055,7 @@ public class SecureChannel {
                     openSecureChannelRequest);
 
                 try {
-                    WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+                    WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
                     ExtensionObjectIO.staticSerialize(buffer, extObject);
 
                     OpcuaOpenRequest openRequest = new OpcuaOpenRequest(FINAL_CHUNK,
@@ -1090,7 +1090,7 @@ public class SecureChannel {
                             })
                             .handle(opcuaOpenResponse -> {
                                 try {
-                                    ReadBufferByteBased readBuffer = new ReadBufferByteBased(opcuaOpenResponse.getMessage(), true);
+                                    ReadBufferByteBased readBuffer = new ReadBufferByteBased(opcuaOpenResponse.getMessage(), org.apache.plc4x.java.spi.generation.ByteOrder.LITTLE_ENDIAN);
                                     ExtensionObject message = ExtensionObjectIO.staticParse(readBuffer, false);
 
                                     if (message.getBody() instanceof ServiceFault) {
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
index aa7dfa3..df59d3c 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
@@ -167,14 +167,14 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
             opcuaReadRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             /* Functional Consumer example using inner class */
             Consumer<byte []> consumer = opcuaResponse -> {
                 PlcReadResponse response = null;
                 try {
-                    response = new DefaultPlcReadResponse(request, readResponse(request.getFieldNames(), ((ReadResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody()).getResults()));
+                    response = new DefaultPlcReadResponse(request, readResponse(request.getFieldNames(), ((ReadResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody()).getResults()));
                 } catch (ParseException e) {
                     e.printStackTrace();
                 };
@@ -699,14 +699,14 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
             opcuaWriteRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             /* Functional Consumer example using inner class */
             Consumer<byte[]> consumer = opcuaResponse -> {
                 WriteResponse responseMessage = null;
                 try {
-                    responseMessage = (WriteResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                    responseMessage = (WriteResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody();
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
@@ -824,14 +824,14 @@ public class OpcuaProtocolLogic extends Plc4xProtocolBase<OpcuaAPU> implements H
             createSubscriptionRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             /* Functional Consumer example using inner class */
             Consumer<byte[]> consumer = opcuaResponse -> {
                 CreateSubscriptionResponse responseMessage = null;
                 try {
-                    responseMessage = (CreateSubscriptionResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                    responseMessage = (CreateSubscriptionResponse) ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody();
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
index bd89ab8..df02165 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
@@ -160,13 +160,13 @@ public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
             createMonitoredItemsRequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             Consumer<byte[]> consumer = opcuaResponse -> {
                 CreateMonitoredItemsResponse responseMessage = null;
                 try {
-                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody();
                     if (unknownExtensionObject instanceof CreateMonitoredItemsResponse) {
                         responseMessage = (CreateMonitoredItemsResponse) unknownExtensionObject;
                     } else {
@@ -271,7 +271,7 @@ public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
                             publishRequest);
 
                         try {
-                            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+                            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
                             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
                             /*  Create Consumer for the response message, error and timeout to be sent to the Secure Channel */
@@ -279,7 +279,7 @@ public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
                                 PublishResponse responseMessage = null;
                                 ServiceFault serviceFault = null;
                                 try {
-                                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody();
                                     if (unknownExtensionObject instanceof PublishResponse) {
                                         responseMessage = (PublishResponse) unknownExtensionObject;
                                     } else {
@@ -385,14 +385,14 @@ public class OpcuaSubscriptionHandle extends DefaultPlcSubscriptionHandle {
             deleteSubscriptionrequest);
 
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), true);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(extObject.getLengthInBytes(), ByteOrder.LITTLE_ENDIAN);
             ExtensionObjectIO.staticSerialize(buffer, extObject);
 
             //  Create Consumer for the response message, error and timeout to be sent to the Secure Channel
             Consumer<byte[]> consumer = opcuaResponse -> {
                 DeleteSubscriptionsResponse responseMessage = null;
                 try {
-                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, true), false).getBody();
+                    ExtensionObjectDefinition unknownExtensionObject = ExtensionObjectIO.staticParse(new ReadBufferByteBased(opcuaResponse, ByteOrder.LITTLE_ENDIAN), false).getBody();
                     if (unknownExtensionObject instanceof DeleteSubscriptionsResponse) {
                         responseMessage = (DeleteSubscriptionsResponse) unknownExtensionObject;
                     } else {
diff --git a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ProfinetPoc.java b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ProfinetPoc.java
index 668ddd9..4fbdc5d 100644
--- a/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ProfinetPoc.java
+++ b/plc4j/drivers/profinet/src/test/java/org/apache/plc4x/java/profinet/ProfinetPoc.java
@@ -21,19 +21,24 @@ package org.apache.plc4x.java.profinet;
 import org.apache.commons.codec.binary.Hex;
 import org.apache.plc4x.java.profinet.readwrite.*;
 import org.apache.plc4x.java.profinet.readwrite.types.*;
-import org.apache.plc4x.java.spi.generation.WriteBufferByteBased;
+import org.apache.plc4x.java.spi.generation.*;
 
 import java.net.DatagramPacket;
 import java.net.DatagramSocket;
 import java.net.InetAddress;
+import java.util.UUID;
 
 public class ProfinetPoc {
 
     public static void main(String[] args) throws Exception {
 
         // Send Profinet IO Context Manager (PNIO-CM) Connection Request (UDP)
-        DceRpc_Packet connectionRequest = new DceRpc_Packet_Req(
-            IntegerEncoding.BIG_ENDIAN, CharacterEncoding.ASCII, FloatingPointEncoding.IEEE, 1, 0, 0, 0,0,0, DceRpc_Operation.CONNECT,
+        DceRpc_Packet connectionRequest = new DceRpc_Packet(
+            DceRpc_PacketType.REQUEST,
+            IntegerEncoding.BIG_ENDIAN, CharacterEncoding.ASCII, FloatingPointEncoding.IEEE,
+            new DceRpc_ObjectUuid(0x0000, 0x0904, 0x002A),
+            new DceRpc_InterfaceUuid_DeviceInterface(), generateActivityUuid(),
+            0, 0, DceRpc_Operation.CONNECT,
             new PnIoCm_Packet_Req(404, 404, 0, 404,
                 new PnIoCm_Block[]{
                     new PnIoCm_Block_ArReq((short) 1, (short) 0, PnIoCm_ArType.IO_CONTROLLER,
@@ -51,31 +56,31 @@ public class ProfinetPoc {
                         0xBBF0, 128, 8, 1, 0, 0xffffffff,
                         3, 3, 0xC000,
                         new MacAddress(Hex.decodeHex("000000000000")),
-                        new PnIoCm_IoCrBlockReqApi[] {
+                        new PnIoCm_IoCrBlockReqApi[]{
                             new PnIoCm_IoCrBlockReqApi(
-                                new PnIoCm_IoDataObject[] {
+                                new PnIoCm_IoDataObject[]{
                                     new PnIoCm_IoDataObject(0, 0x0001, 0),
                                     new PnIoCm_IoDataObject(0, 0x8000, 1),
                                     new PnIoCm_IoDataObject(0, 0x8001, 2),
                                     new PnIoCm_IoDataObject(0, 0x8002, 3),
                                     new PnIoCm_IoDataObject(1, 0x0001, 4)
                                 },
-                                    new PnIoCm_IoCs[] {
+                                new PnIoCm_IoCs[]{
                                     new PnIoCm_IoCs(0x0001, 0x0001, 0x0019)
                                 })
                         }),
                     new PnIoCm_Block_IoCrReq((short) 1, (short) 0, PnIoCm_IoCrType.OUTPUT_CR,
-                        0x0002, 0x8892,  false, false,
+                        0x0002, 0x8892, false, false,
                         false, false, PnIoCm_RtClass.RT_CLASS_2, 40,
                         0x8000, 128, 8, 1, 0, 0xffffffff,
                         3, 3, 0xC000,
                         new MacAddress(Hex.decodeHex("000000000000")),
                         new PnIoCm_IoCrBlockReqApi[]{
                             new PnIoCm_IoCrBlockReqApi(
-                                new PnIoCm_IoDataObject[] {
+                                new PnIoCm_IoDataObject[]{
                                     new PnIoCm_IoDataObject(0x0001, 0x0001, 0x0005)
                                 },
-                                new PnIoCm_IoCs[] {
+                                new PnIoCm_IoCs[]{
                                     new PnIoCm_IoCs(0, 0x0001, 0),
                                     new PnIoCm_IoCs(0, 0x8000, 1),
                                     new PnIoCm_IoCs(0, 0x8001, 2),
@@ -85,28 +90,28 @@ public class ProfinetPoc {
                         }
                     ),
                     new PnIoCm_Block_ExpectedSubmoduleReq((short) 1, (short) 0,
-                        new PnIoCm_ExpectedSubmoduleBlockReqApi[] {
+                        new PnIoCm_ExpectedSubmoduleBlockReqApi[]{
                             new PnIoCm_ExpectedSubmoduleBlockReqApi(0,
-                                0x00000010, 0x00000000, new PnIoCm_Submodule[] {
-                                    new PnIoCm_Submodule_NoInputNoOutputData(0x0001,
-                                        0x00000001, false, false,
-                                        false, false),
-                                    new PnIoCm_Submodule_NoInputNoOutputData(0x8000,
-                                        0x00000002, false, false,
-                                        false, false),
-                                    new PnIoCm_Submodule_NoInputNoOutputData(0x8001,
-                                        0x00000003, false, false,
-                                        false, false),
-                                    new PnIoCm_Submodule_NoInputNoOutputData(0x8002,
-                                        0x00000003, false, false,
-                                        false, false)
+                                0x00000010, 0x00000000, new PnIoCm_Submodule[]{
+                                new PnIoCm_Submodule_NoInputNoOutputData(0x0001,
+                                    0x00000001, false, false,
+                                    false, false),
+                                new PnIoCm_Submodule_NoInputNoOutputData(0x8000,
+                                    0x00000002, false, false,
+                                    false, false),
+                                new PnIoCm_Submodule_NoInputNoOutputData(0x8001,
+                                    0x00000003, false, false,
+                                    false, false),
+                                new PnIoCm_Submodule_NoInputNoOutputData(0x8002,
+                                    0x00000003, false, false,
+                                    false, false)
                             })
                         }
                     ),
                     new PnIoCm_Block_ExpectedSubmoduleReq((short) 1, (short) 0,
-                        new PnIoCm_ExpectedSubmoduleBlockReqApi[] {
+                        new PnIoCm_ExpectedSubmoduleBlockReqApi[]{
                             new PnIoCm_ExpectedSubmoduleBlockReqApi(1,
-                                0x00000022, 0x00000000, new PnIoCm_Submodule[] {
+                                0x00000022, 0x00000000, new PnIoCm_Submodule[]{
                                 new PnIoCm_Submodule_InputAndOutputData(0x0001, 0x00000010,
                                     false, false, false,
                                     false, 20, (short) 1, (short) 1,
@@ -117,8 +122,8 @@ public class ProfinetPoc {
                     new PnIoCm_Block_AlarmCrReq((short) 1, (short) 0,
                         PnIoCm_AlarmCrType.ALARM_CR, 0x8892, false, false, 1, 3,
                         0x0000, 200, 0xC000, 0xA000)
-                },404)
-            );
+                }, 404)
+        );
 
         // Serialize the message
         WriteBufferByteBased writeBuffer = new WriteBufferByteBased(connectionRequest.getLengthInBytes());
@@ -138,4 +143,19 @@ public class ProfinetPoc {
 
     }
 
+    protected static DceRpc_ActivityUuid generateActivityUuid() {
+        UUID number = UUID.randomUUID();
+        try {
+            WriteBufferByteBased wb = new WriteBufferByteBased(128);
+            wb.writeLong(64, number.getMostSignificantBits());
+            wb.writeLong(64, number.getLeastSignificantBits());
+
+            ReadBuffer rb = new ReadBufferByteBased(wb.getData());
+            return new DceRpc_ActivityUuid(rb.readLong(32), rb.readInt(16), rb.readInt(16), rb.readBigInteger(64));
+        } catch (ParseException e) {
+            // Ignore ... this should actually never happen.
+        }
+        return null;
+    }
+
 }
diff --git a/plc4j/drivers/s7/src/test/resources/tests/PLC4X-272.xml b/plc4j/drivers/s7/src/test/resources/tests/PLC4X-272.xml
index 5c6efab..70ca219 100644
--- a/plc4j/drivers/s7/src/test/resources/tests/PLC4X-272.xml
+++ b/plc4j/drivers/s7/src/test/resources/tests/PLC4X-272.xml
@@ -18,7 +18,7 @@
   under the License.
   -->
 <test:driver-testsuite xmlns:test="https://plc4x.apache.org/schemas/driver-testsuite.xsd"
-                       bigEndian="true">
+                       byteOrder="BIG_ENDIAN">
 
   <name>S7</name>
 
diff --git a/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedDevice.java b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedDevice.java
index c296bd6..51b8cb9 100644
--- a/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedDevice.java
+++ b/plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/connection/SimulatedDevice.java
@@ -25,6 +25,7 @@ import org.apache.plc4x.java.api.model.PlcSubscriptionHandle;
 import org.apache.plc4x.java.api.value.*;
 import org.apache.plc4x.java.simulated.field.SimulatedField;
 import org.apache.plc4x.java.simulated.readwrite.io.DataItemIO;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.ParseException;
 import org.apache.plc4x.java.spi.generation.ReadBuffer;
 
@@ -106,7 +107,7 @@ public class SimulatedDevice {
                         break;
                     default:
                         try {
-                            DataItemIO.staticSerialize(value, field.getPlcDataType(), field.getNumberOfElements(), false);
+                            DataItemIO.staticSerialize(value, field.getPlcDataType(), field.getNumberOfElements(), ByteOrder.BIG_ENDIAN);
                         } catch (ParseException e) {
                             LOGGER.info("Write failed");
                         }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/GeneratedDriverByteToMessageCodec.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/GeneratedDriverByteToMessageCodec.java
index 266e021..b50382c 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/GeneratedDriverByteToMessageCodec.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/GeneratedDriverByteToMessageCodec.java
@@ -32,21 +32,21 @@ public abstract class GeneratedDriverByteToMessageCodec<T extends Message> exten
 
     private static final Logger LOGGER = LoggerFactory.getLogger(GeneratedDriverByteToMessageCodec.class);
 
-    private final boolean bigEndian;
+    private final ByteOrder byteOrder;
     private final Object[] parserArgs;
     private final MessageIO<T, T> io;
 
-    protected GeneratedDriverByteToMessageCodec(MessageIO<T, T> io, Class<T> clazz, boolean bigEndian, Object[] parserArgs) {
+    protected GeneratedDriverByteToMessageCodec(MessageIO<T, T> io, Class<T> clazz, ByteOrder byteOrder, Object[] parserArgs) {
         super(clazz);
         this.io = io;
-        this.bigEndian = bigEndian;
+        this.byteOrder = byteOrder;
         this.parserArgs = parserArgs;
     }
 
     @Override
     protected void encode(ChannelHandlerContext ctx, T packet, ByteBuf byteBuf) {
         try {
-            WriteBufferByteBased buffer = new WriteBufferByteBased(packet.getLengthInBytes(), !bigEndian);
+            WriteBufferByteBased buffer = new WriteBufferByteBased(packet.getLengthInBytes(), byteOrder);
             io.serialize(buffer, packet);
             byteBuf.writeBytes(buffer.getData());
             if (LOGGER.isDebugEnabled()) {
@@ -73,7 +73,7 @@ public abstract class GeneratedDriverByteToMessageCodec<T extends Message> exten
                 // Read the packet data into a new ReadBuffer
                 bytes = new byte[packetSize];
                 byteBuf.readBytes(bytes);
-                ReadBuffer readBuffer = new ReadBufferByteBased(bytes, !bigEndian);
+                ReadBuffer readBuffer = new ReadBufferByteBased(bytes, byteOrder);
 
                 // Parse the packet.
                 T packet = io.parse(readBuffer, parserArgs);
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
index 8ac5e5d..51647b4 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/CustomProtocolStackConfigurer.java
@@ -29,6 +29,7 @@ import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
 import org.apache.plc4x.java.spi.Plc4xProtocolBase;
 import org.apache.plc4x.java.spi.configuration.Configuration;
 import org.apache.plc4x.java.spi.context.DriverContext;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.Message;
 import org.apache.plc4x.java.spi.generation.MessageIO;
 
@@ -43,7 +44,7 @@ import java.util.function.ToIntFunction;
 public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> implements ProtocolStackConfigurer<BASE_PACKET_CLASS> {
 
     private final Class<BASE_PACKET_CLASS> basePacketClass;
-    private final boolean bigEndian;
+    private final ByteOrder byteOrder;
     private final Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
     private final Function<Configuration, ? extends DriverContext> driverContext;
     private final Function<Configuration, ? extends MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS>> protocolIO;
@@ -57,7 +58,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
 
     /** Only accessible via Builder */
     CustomProtocolStackConfigurer(Class<BASE_PACKET_CLASS> basePacketClass,
-                                  boolean bigEndian,
+                                  ByteOrder byteOrder,
                                   Object[] parserArgs,
                                   Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol,
                                   Function<Configuration, ? extends DriverContext> driverContext,
@@ -65,7 +66,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
                                   Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator,
                                   Function<Configuration, ? extends Consumer<ByteBuf>> corruptPacketRemover) {
         this.basePacketClass = basePacketClass;
-        this.bigEndian = bigEndian;
+        this.byteOrder = byteOrder;
         this.parserArgs = parserArgs;
         this.protocol = protocol;
         this.driverContext = driverContext;
@@ -75,7 +76,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
     }
 
     private ChannelHandler getMessageCodec(Configuration configuration) {
-        return new GeneratedProtocolMessageCodec<>(basePacketClass, protocolIO.apply(configuration), bigEndian, parserArgs,
+        return new GeneratedProtocolMessageCodec<>(basePacketClass, protocolIO.apply(configuration), byteOrder, parserArgs,
             packetSizeEstimator == null ? null : packetSizeEstimator.apply(configuration),
             corruptPacketRemover == null ? null : corruptPacketRemover.apply(configuration));
     }
@@ -105,7 +106,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
         private final Class<BASE_PACKET_CLASS> basePacketClass;
         private final Function<Configuration, ? extends MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS>> messageIo;
         private Function<Configuration, ? extends DriverContext> driverContext;
-        private boolean bigEndian = true;
+        private ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
         private Object[] parserArgs;
         private Function<Configuration, ? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
         private Function<Configuration, ? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
@@ -121,8 +122,18 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
             return this;
         }
 
+        public CustomProtocolStackBuilder<BASE_PACKET_CLASS> byteOrder(ByteOrder byteOrder) {
+            this.byteOrder = byteOrder;
+            return this;
+        }
+
+        public CustomProtocolStackBuilder<BASE_PACKET_CLASS> bigEndian() {
+            this.byteOrder = ByteOrder.BIG_ENDIAN;
+            return this;
+        }
+
         public CustomProtocolStackBuilder<BASE_PACKET_CLASS> littleEndian() {
-            this.bigEndian = false;
+            this.byteOrder = ByteOrder.LITTLE_ENDIAN;
             return this;
         }
 
@@ -149,7 +160,7 @@ public class CustomProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
         public CustomProtocolStackConfigurer<BASE_PACKET_CLASS> build() {
             assert this.protocol != null;
             return new CustomProtocolStackConfigurer<>(
-                basePacketClass, bigEndian, parserArgs, protocol, driverContext, messageIo, packetSizeEstimator, corruptPacketRemover);
+                basePacketClass, byteOrder, parserArgs, protocol, driverContext, messageIo, packetSizeEstimator, corruptPacketRemover);
         }
 
     }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
index 1301497..c3de262 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
@@ -33,11 +33,11 @@ public class GeneratedProtocolMessageCodec<BASE_PACKET_CLASS extends Message> ex
     public GeneratedProtocolMessageCodec(
         Class<BASE_PACKET_CLASS> basePacketClass,
         MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS> messageIO,
-        boolean bigEndian,
+        ByteOrder byteOrder,
         Object[] parserArgs,
         ToIntFunction<ByteBuf> packetSizeEstimator,
         Consumer<ByteBuf> corruptPackageRemover) {
-        super(messageIO, basePacketClass, bigEndian, parserArgs);
+        super(messageIO, basePacketClass, byteOrder, parserArgs);
         this.packetSizeEstimator = packetSizeEstimator;
         this.corruptPackageRemover = corruptPackageRemover;
     }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
index 894bb5c..66ea2b2 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
@@ -29,6 +29,7 @@ import org.apache.plc4x.java.spi.Plc4xNettyWrapper;
 import org.apache.plc4x.java.spi.Plc4xProtocolBase;
 import org.apache.plc4x.java.spi.configuration.Configuration;
 import org.apache.plc4x.java.spi.context.DriverContext;
+import org.apache.plc4x.java.spi.generation.ByteOrder;
 import org.apache.plc4x.java.spi.generation.Message;
 import org.apache.plc4x.java.spi.generation.MessageIO;
 
@@ -43,7 +44,7 @@ import java.util.function.ToIntFunction;
 public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> implements ProtocolStackConfigurer<BASE_PACKET_CLASS> {
 
     private final Class<BASE_PACKET_CLASS> basePacketClass;
-    private boolean bigEndian = true;
+    private final ByteOrder byteOrder;
     private final Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocolClass;
     private final Class<? extends DriverContext> driverContextClass;
     private final MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS> protocolIO;
@@ -57,7 +58,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
 
     /** Only accessible via Builder */
     SingleProtocolStackConfigurer(Class<BASE_PACKET_CLASS> basePacketClass,
-                                  boolean bigEndian,
+                                  ByteOrder byteOrder,
                                   Object[] parserArgs,
                                   Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol,
                                   Class<? extends DriverContext> driverContextClass,
@@ -65,7 +66,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
                                   Class<? extends ToIntFunction<ByteBuf>> packetSizeEstimatorClass,
                                   Class<? extends Consumer<ByteBuf>> corruptPacketRemoverClass) {
         this.basePacketClass = basePacketClass;
-        this.bigEndian = bigEndian;
+        this.byteOrder = byteOrder;
         this.parserArgs = parserArgs;
         this.protocolClass = protocol;
         this.driverContextClass = driverContextClass;
@@ -75,7 +76,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
     }
 
     private ChannelHandler getMessageCodec(Configuration configuration) {
-        return new GeneratedProtocolMessageCodec<>(basePacketClass, protocolIO, bigEndian, parserArgs,
+        return new GeneratedProtocolMessageCodec<>(basePacketClass, protocolIO, byteOrder, parserArgs,
             packetSizeEstimatorClass != null ? configure(configuration, createInstance(packetSizeEstimatorClass)) : null,
             corruptPacketRemoverClass != null ? configure(configuration, createInstance(corruptPacketRemoverClass)) : null);
     }
@@ -116,7 +117,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
         private final Class<BASE_PACKET_CLASS> basePacketClass;
         private final Class<? extends MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS>> messageIoClass;
         private Class<? extends DriverContext> driverContextClass;
-        private boolean bigEndian = true;
+        private ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
         private Object[] parserArgs;
         private Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
         private Class<? extends ToIntFunction<ByteBuf>> packetSizeEstimator;
@@ -132,8 +133,18 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
             return this;
         }
 
+        public SingleProtocolStackBuilder<BASE_PACKET_CLASS> byteOrder(ByteOrder byteOrder) {
+            this.byteOrder = byteOrder;
+            return this;
+        }
+
+        public SingleProtocolStackBuilder<BASE_PACKET_CLASS> bigEndian() {
+            this.byteOrder = ByteOrder.BIG_ENDIAN;
+            return this;
+        }
+
         public SingleProtocolStackBuilder<BASE_PACKET_CLASS> littleEndian() {
-            this.bigEndian = false;
+            this.byteOrder = ByteOrder.LITTLE_ENDIAN;
             return this;
         }
 
@@ -162,7 +173,7 @@ public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> im
             try {
                 final MessageIO messageIo = messageIoClass.getDeclaredConstructor().newInstance();
                 return new SingleProtocolStackConfigurer<>(
-                    basePacketClass, bigEndian, parserArgs, protocol, driverContextClass, messageIo, packetSizeEstimator, corruptPacketRemover);
+                    basePacketClass, byteOrder, parserArgs, protocol, driverContextClass, messageIo, packetSizeEstimator, corruptPacketRemover);
             } catch (InstantiationException | InvocationTargetException | NoSuchMethodException | IllegalAccessException e) {
                 throw new PlcRuntimeException("Error initializing MessageIO instance", e);
             }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ByteOrder.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ByteOrder.java
new file mode 100644
index 0000000..93d7ec8
--- /dev/null
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ByteOrder.java
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.plc4x.java.spi.generation;
+
+public enum ByteOrder {
+    BIG_ENDIAN,
+    LITTLE_ENDIAN
+}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferByteBased.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferByteBased.java
index 83a8657..fc8cd27 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferByteBased.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferByteBased.java
@@ -30,17 +30,17 @@ import java.nio.charset.Charset;
 public class ReadBufferByteBased implements ReadBuffer {
 
     private final MyDefaultBitInput bi;
-    private final boolean littleEndian;
+    private final ByteOrder byteOrder;
     private final long totalBytes;
 
     public ReadBufferByteBased(byte[] input) {
-        this(input, false);
+        this(input, ByteOrder.BIG_ENDIAN);
     }
 
-    public ReadBufferByteBased(byte[] input, boolean littleEndian) {
+    public ReadBufferByteBased(byte[] input, ByteOrder byteOrder) {
         ArrayByteInput abi = new ArrayByteInput(input);
         this.bi = new MyDefaultBitInput(abi);
-        this.littleEndian = littleEndian;
+        this.byteOrder = byteOrder;
... 1211 lines suppressed ...

[plc4x] 01/04: - Ported some of the fixes of the feature/mspec-ng back to develop

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit ae95c5b8de77cc65a6d3fe9d84e747d606e74b1d
Author: cdutz <ch...@c-ware.de>
AuthorDate: Tue Oct 5 10:35:12 2021 +0200

    - Ported some of the fixes of the feature/mspec-ng back to develop
---
 .../src/main/resources/templates/java/io-template.java.ftlh              | 1 -
 1 file changed, 1 deletion(-)

diff --git a/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh b/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
index 928d570..ac31675 100644
--- a/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
+++ b/code-generation/language-java/src/main/resources/templates/java/io-template.java.ftlh
@@ -61,7 +61,6 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.math.BigInteger;
 import java.time.*;
-//import java.util.*;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.function.Supplier;

[plc4x] 02/04: - Changed the download urls of the last release to the archive ones ...

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/mspec-ng
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 39678c8c943f876b385bb5855d08235c925c4c7e
Author: cdutz <ch...@c-ware.de>
AuthorDate: Tue Oct 5 12:20:21 2021 +0200

    - Changed the download urls of the last release to the archive ones ...
---
 src/site/asciidoc/users/download.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/site/asciidoc/users/download.adoc b/src/site/asciidoc/users/download.adoc
index 30af6ca..d120047 100644
--- a/src/site/asciidoc/users/download.adoc
+++ b/src/site/asciidoc/users/download.adoc
@@ -60,7 +60,7 @@ PLC4X-314   CAN NOT WRITING MANY DATA TO S7 ONE TIME
 === Previous Releases
 
 [#release-0_8_0]
-==== 0.8.0 Official https://www.apache.org/dyn/closer.lua/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip[source release] [ https://downloads.apache.org/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip.sha512[SHA512] ] [ https://downloads.apache.org/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip.asc[ASC] ]
+==== 0.8.0 Official https://archive.apache.org/dist/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip[source release] [ https://archive.apache.org/dist/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip.sha512[SHA512] ] [ https://archive.apache.org/dist/plc4x/0.8.0/apache-plc4x-0.8.0-source-release.zip.asc[ASC] ]
 
 This is an ordinary PLC4X release, containing changes that
 accumulated over time. It doesn't have an explicit focus on