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

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


The following commit(s) were added to refs/heads/develop by this push:
     new 69c255c9af feat(bacnet): minor cleanups
69c255c9af is described below

commit 69c255c9af6e47727c4dc2e9aafdc431c0ae18a5
Author: Sebastian Rühl <[email protected]>
AuthorDate: Thu Apr 28 17:07:03 2022 +0200

    feat(bacnet): minor cleanups
    
    + removed unused types
    + added convenience methods
---
 .../plc4go/bacnetip/readwrite/ParserHelper.go      |   2 -
 .../plc4go/bacnetip/readwrite/XmlParserHelper.go   |   2 -
 .../readwrite/model/BACnetConfirmedServiceACK.go   | 207 ---------------------
 .../BACnetConfirmedServiceACKAtomicReadFile.go     | 150 ---------------
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    | 150 ---------------
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go | 150 ---------------
 .../model/BACnetConfirmedServiceACKCreateObject.go | 149 ---------------
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    | 150 ---------------
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 150 ---------------
 ...BACnetConfirmedServiceACKGetEventInformation.go | 150 ---------------
 .../model/BACnetConfirmedServiceACKReadProperty.go | 149 ---------------
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go | 150 ---------------
 .../model/BACnetConfirmedServiceACKReadRange.go    | 149 ---------------
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go | 150 ---------------
 ...rmedServiceACKRemovedReadPropertyConditional.go | 150 ---------------
 .../model/BACnetConfirmedServiceACKVTData.go       | 149 ---------------
 .../model/BACnetConfirmedServiceACKVTOpen.go       | 149 ---------------
 .../model/BACnetConfirmedServiceAddListElement.go  | 149 ---------------
 .../model/BACnetConstructedDataUnspecified.go      |   4 +-
 .../model/BACnetContextTagCharacterString.go       |  26 +++
 .../readwrite/model/BACnetContextTagOctetString.go |  26 +++
 .../resources/protocols/bacnetip/bacnetip.mspec    |  48 +----
 22 files changed, 58 insertions(+), 2501 deletions(-)

diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go 
b/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
index dcb7e2b0b8..14a2bfba7a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
@@ -120,8 +120,6 @@ func (m BacnetipParserHelper) Parse(typeName string, 
arguments []string, io util
                return model.BACnetSegmentationParse(io)
        case "BACnetTagPayloadTime":
                return model.BACnetTagPayloadTimeParse(io)
-       case "BACnetConfirmedServiceACK":
-               return model.BACnetConfirmedServiceACKParse(io)
        case "BACnetConfirmedServiceRequestReinitializeDeviceEnableDisable":
                tagNumber, err := utils.StrToUint8(arguments[0])
                if err != nil {
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go 
b/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
index 0b5c810e71..0a768b7f90 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
@@ -141,8 +141,6 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, 
xmlString string, parser
                return 
model.BACnetSegmentationParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
        case "BACnetTagPayloadTime":
                return 
model.BACnetTagPayloadTimeParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
-       case "BACnetConfirmedServiceACK":
-               return 
model.BACnetConfirmedServiceACKParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
        case "BACnetConfirmedServiceRequestReinitializeDeviceEnableDisable":
                parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
                if err != nil {
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
deleted file mode 100644
index 3e8f75033f..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-       "github.com/pkg/errors"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACK is the data-structure of this message
-type BACnetConfirmedServiceACK struct {
-       Child IBACnetConfirmedServiceACKChild
-}
-
-// IBACnetConfirmedServiceACK is the corresponding interface of 
BACnetConfirmedServiceACK
-type IBACnetConfirmedServiceACK interface {
-       // GetServiceChoice returns ServiceChoice (discriminator field)
-       GetServiceChoice() uint8
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-type IBACnetConfirmedServiceACKParent interface {
-       SerializeParent(writeBuffer utils.WriteBuffer, child 
IBACnetConfirmedServiceACK, serializeChildFunction func() error) error
-       GetTypeName() string
-}
-
-type IBACnetConfirmedServiceACKChild interface {
-       Serialize(writeBuffer utils.WriteBuffer) error
-       InitializeParent(parent *BACnetConfirmedServiceACK)
-       GetParent() *BACnetConfirmedServiceACK
-
-       GetTypeName() string
-       IBACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACK factory function for BACnetConfirmedServiceACK
-func NewBACnetConfirmedServiceACK() *BACnetConfirmedServiceACK {
-       return &BACnetConfirmedServiceACK{}
-}
-
-func CastBACnetConfirmedServiceACK(structType interface{}) 
*BACnetConfirmedServiceACK {
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return casted
-       }
-       if casted, ok := structType.(IBACnetConfirmedServiceACKChild); ok {
-               return casted.GetParent()
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACK) GetTypeName() string {
-       return "BACnetConfirmedServiceACK"
-}
-
-func (m *BACnetConfirmedServiceACK) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACK) GetLengthInBitsConditional(lastItem bool) 
uint16 {
-       return m.Child.GetLengthInBits()
-}
-
-func (m *BACnetConfirmedServiceACK) GetParentLengthInBits() uint16 {
-       lengthInBits := uint16(0)
-       // Discriminator Field (serviceChoice)
-       lengthInBits += 8
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACK) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACK, error) {
-       if pullErr := readBuffer.PullContext("BACnetConfirmedServiceACK"); 
pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       // Discriminator Field (serviceChoice) (Used as input to a switch field)
-       serviceChoice, _serviceChoiceErr := 
readBuffer.ReadUint8("serviceChoice", 8)
-       if _serviceChoiceErr != nil {
-               return nil, errors.Wrap(_serviceChoiceErr, "Error parsing 
'serviceChoice' field")
-       }
-
-       // Switch Field (Depending on the discriminator values, passes the 
instantiation to a sub-type)
-       type BACnetConfirmedServiceACKChild interface {
-               InitializeParent(*BACnetConfirmedServiceACK)
-               GetParent() *BACnetConfirmedServiceACK
-       }
-       var _child BACnetConfirmedServiceACKChild
-       var typeSwitchError error
-       switch {
-       case serviceChoice == 0x03: // BACnetConfirmedServiceACKGetAlarmSummary
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKGetAlarmSummaryParse(readBuffer)
-       case serviceChoice == 0x04: // 
BACnetConfirmedServiceACKGetEnrollmentSummary
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKGetEnrollmentSummaryParse(readBuffer)
-       case serviceChoice == 0x1D: // 
BACnetConfirmedServiceACKGetEventInformation
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKGetEventInformationParse(readBuffer)
-       case serviceChoice == 0x06: // BACnetConfirmedServiceACKAtomicReadFile
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKAtomicReadFileParse(readBuffer)
-       case serviceChoice == 0x07: // BACnetConfirmedServiceACKAtomicWriteFile
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKAtomicWriteFileParse(readBuffer)
-       case serviceChoice == 0x08: // BACnetConfirmedServiceAddListElement
-               _child, typeSwitchError = 
BACnetConfirmedServiceAddListElementParse(readBuffer)
-       case serviceChoice == 0x0A: // BACnetConfirmedServiceACKCreateObject
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKCreateObjectParse(readBuffer)
-       case serviceChoice == 0x0C: // BACnetConfirmedServiceACKReadProperty
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKReadPropertyParse(readBuffer)
-       case serviceChoice == 0x0E: // 
BACnetConfirmedServiceACKReadPropertyMultiple
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKReadPropertyMultipleParse(readBuffer)
-       case serviceChoice == 0x1A: // BACnetConfirmedServiceACKReadRange
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKReadRangeParse(readBuffer)
-       case serviceChoice == 0x12: // 
BACnetConfirmedServiceACKConfirmedPrivateTransfer
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKConfirmedPrivateTransferParse(readBuffer)
-       case serviceChoice == 0x15: // BACnetConfirmedServiceACKVTOpen
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKVTOpenParse(readBuffer)
-       case serviceChoice == 0x17: // BACnetConfirmedServiceACKVTData
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKVTDataParse(readBuffer)
-       case serviceChoice == 0x18: // 
BACnetConfirmedServiceACKRemovedAuthenticate
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKRemovedAuthenticateParse(readBuffer)
-       case serviceChoice == 0x0D: // 
BACnetConfirmedServiceACKRemovedReadPropertyConditional
-               _child, typeSwitchError = 
BACnetConfirmedServiceACKRemovedReadPropertyConditionalParse(readBuffer)
-       default:
-               // TODO: return actual type
-               typeSwitchError = errors.New("Unmapped type")
-       }
-       if typeSwitchError != nil {
-               return nil, errors.Wrap(typeSwitchError, "Error parsing 
sub-type for type-switch.")
-       }
-
-       if closeErr := readBuffer.CloseContext("BACnetConfirmedServiceACK"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Finish initializing
-       _child.InitializeParent(_child.GetParent())
-       return _child.GetParent(), nil
-}
-
-func (m *BACnetConfirmedServiceACK) Serialize(writeBuffer utils.WriteBuffer) 
error {
-       return m.Child.Serialize(writeBuffer)
-}
-
-func (m *BACnetConfirmedServiceACK) SerializeParent(writeBuffer 
utils.WriteBuffer, child IBACnetConfirmedServiceACK, serializeChildFunction 
func() error) error {
-       if pushErr := writeBuffer.PushContext("BACnetConfirmedServiceACK"); 
pushErr != nil {
-               return pushErr
-       }
-
-       // Discriminator Field (serviceChoice) (Used as input to a switch field)
-       serviceChoice := uint8(child.GetServiceChoice())
-       _serviceChoiceErr := writeBuffer.WriteUint8("serviceChoice", 8, 
(serviceChoice))
-
-       if _serviceChoiceErr != nil {
-               return errors.Wrap(_serviceChoiceErr, "Error serializing 
'serviceChoice' field")
-       }
-
-       // Switch field (Depending on the discriminator values, passes the 
serialization to a sub-type)
-       if _typeSwitchErr := serializeChildFunction(); _typeSwitchErr != nil {
-               return errors.Wrap(_typeSwitchErr, "Error serializing sub-type 
field")
-       }
-
-       if popErr := writeBuffer.PopContext("BACnetConfirmedServiceACK"); 
popErr != nil {
-               return popErr
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACK) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
deleted file mode 100644
index c2ccdc78a4..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKAtomicReadFile is the data-structure of this 
message
-type BACnetConfirmedServiceACKAtomicReadFile struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKAtomicReadFile is the corresponding interface of 
BACnetConfirmedServiceACKAtomicReadFile
-type IBACnetConfirmedServiceACKAtomicReadFile interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) GetServiceChoice() uint8 {
-       return 0x06
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) InitializeParent(parent 
*BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKAtomicReadFile factory function for 
BACnetConfirmedServiceACKAtomicReadFile
-func NewBACnetConfirmedServiceACKAtomicReadFile() 
*BACnetConfirmedServiceACKAtomicReadFile {
-       _result := &BACnetConfirmedServiceACKAtomicReadFile{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKAtomicReadFile(structType interface{}) 
*BACnetConfirmedServiceACKAtomicReadFile {
-       if casted, ok := structType.(BACnetConfirmedServiceACKAtomicReadFile); 
ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKAtomicReadFile); 
ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKAtomicReadFile(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKAtomicReadFile(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) GetTypeName() string {
-       return "BACnetConfirmedServiceACKAtomicReadFile"
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKAtomicReadFileParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKAtomicReadFile, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKAtomicReadFile"); pullErr != 
nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKAtomicReadFile"); closeErr != 
nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKAtomicReadFile{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKAtomicReadFile"); pushErr != 
nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKAtomicReadFile"); popErr != 
nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKAtomicReadFile) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
deleted file mode 100644
index a17e129885..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKAtomicWriteFile is the data-structure of this 
message
-type BACnetConfirmedServiceACKAtomicWriteFile struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKAtomicWriteFile is the corresponding interface of 
BACnetConfirmedServiceACKAtomicWriteFile
-type IBACnetConfirmedServiceACKAtomicWriteFile interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetServiceChoice() uint8 {
-       return 0x07
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) InitializeParent(parent 
*BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKAtomicWriteFile factory function for 
BACnetConfirmedServiceACKAtomicWriteFile
-func NewBACnetConfirmedServiceACKAtomicWriteFile() 
*BACnetConfirmedServiceACKAtomicWriteFile {
-       _result := &BACnetConfirmedServiceACKAtomicWriteFile{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKAtomicWriteFile(structType interface{}) 
*BACnetConfirmedServiceACKAtomicWriteFile {
-       if casted, ok := structType.(BACnetConfirmedServiceACKAtomicWriteFile); 
ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKAtomicWriteFile); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKAtomicWriteFile(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKAtomicWriteFile(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetTypeName() string {
-       return "BACnetConfirmedServiceACKAtomicWriteFile"
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKAtomicWriteFileParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKAtomicWriteFile, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKAtomicWriteFile"); pullErr != 
nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKAtomicWriteFile"); closeErr 
!= nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKAtomicWriteFile{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKAtomicWriteFile"); pushErr != 
nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKAtomicWriteFile"); popErr != 
nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKAtomicWriteFile) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
deleted file mode 100644
index e07d274a67..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKConfirmedPrivateTransfer is the data-structure of 
this message
-type BACnetConfirmedServiceACKConfirmedPrivateTransfer struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKConfirmedPrivateTransfer is the corresponding 
interface of BACnetConfirmedServiceACKConfirmedPrivateTransfer
-type IBACnetConfirmedServiceACKConfirmedPrivateTransfer interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetServiceChoice() 
uint8 {
-       return 0x12
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) 
InitializeParent(parent *BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKConfirmedPrivateTransfer factory function for 
BACnetConfirmedServiceACKConfirmedPrivateTransfer
-func NewBACnetConfirmedServiceACKConfirmedPrivateTransfer() 
*BACnetConfirmedServiceACKConfirmedPrivateTransfer {
-       _result := &BACnetConfirmedServiceACKConfirmedPrivateTransfer{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKConfirmedPrivateTransfer(structType 
interface{}) *BACnetConfirmedServiceACKConfirmedPrivateTransfer {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKConfirmedPrivateTransfer); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKConfirmedPrivateTransfer); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKConfirmedPrivateTransfer(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKConfirmedPrivateTransfer(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetTypeName() 
string {
-       return "BACnetConfirmedServiceACKConfirmedPrivateTransfer"
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetLengthInBits() 
uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) GetLengthInBytes() 
uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKConfirmedPrivateTransferParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKConfirmedPrivateTransfer, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKConfirmedPrivateTransfer"); 
pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKConfirmedPrivateTransfer"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKConfirmedPrivateTransfer{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) 
Serialize(writeBuffer utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKConfirmedPrivateTransfer"); 
pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKConfirmedPrivateTransfer"); 
popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKConfirmedPrivateTransfer) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
deleted file mode 100644
index d5b6bafe7f..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKCreateObject is the data-structure of this message
-type BACnetConfirmedServiceACKCreateObject struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKCreateObject is the corresponding interface of 
BACnetConfirmedServiceACKCreateObject
-type IBACnetConfirmedServiceACKCreateObject interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKCreateObject) GetServiceChoice() uint8 {
-       return 0x0A
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKCreateObject) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceACKCreateObject) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKCreateObject factory function for 
BACnetConfirmedServiceACKCreateObject
-func NewBACnetConfirmedServiceACKCreateObject() 
*BACnetConfirmedServiceACKCreateObject {
-       _result := &BACnetConfirmedServiceACKCreateObject{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKCreateObject(structType interface{}) 
*BACnetConfirmedServiceACKCreateObject {
-       if casted, ok := structType.(BACnetConfirmedServiceACKCreateObject); ok 
{
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKCreateObject); 
ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKCreateObject(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKCreateObject(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) GetTypeName() string {
-       return "BACnetConfirmedServiceACKCreateObject"
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKCreateObjectParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKCreateObject, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKCreateObject"); pullErr != nil 
{
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKCreateObject"); closeErr != 
nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKCreateObject{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKCreateObject"); pushErr != 
nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKCreateObject"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKCreateObject) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
deleted file mode 100644
index 9e5c098213..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKGetAlarmSummary is the data-structure of this 
message
-type BACnetConfirmedServiceACKGetAlarmSummary struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKGetAlarmSummary is the corresponding interface of 
BACnetConfirmedServiceACKGetAlarmSummary
-type IBACnetConfirmedServiceACKGetAlarmSummary interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetServiceChoice() uint8 {
-       return 0x03
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) InitializeParent(parent 
*BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKGetAlarmSummary factory function for 
BACnetConfirmedServiceACKGetAlarmSummary
-func NewBACnetConfirmedServiceACKGetAlarmSummary() 
*BACnetConfirmedServiceACKGetAlarmSummary {
-       _result := &BACnetConfirmedServiceACKGetAlarmSummary{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKGetAlarmSummary(structType interface{}) 
*BACnetConfirmedServiceACKGetAlarmSummary {
-       if casted, ok := structType.(BACnetConfirmedServiceACKGetAlarmSummary); 
ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKGetAlarmSummary); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetAlarmSummary(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetAlarmSummary(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetTypeName() string {
-       return "BACnetConfirmedServiceACKGetAlarmSummary"
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKGetAlarmSummaryParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKGetAlarmSummary, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKGetAlarmSummary"); pullErr != 
nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKGetAlarmSummary"); closeErr 
!= nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKGetAlarmSummary{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKGetAlarmSummary"); pushErr != 
nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKGetAlarmSummary"); popErr != 
nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKGetAlarmSummary) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
deleted file mode 100644
index 8ea71738c9..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKGetEnrollmentSummary is the data-structure of this 
message
-type BACnetConfirmedServiceACKGetEnrollmentSummary struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKGetEnrollmentSummary is the corresponding 
interface of BACnetConfirmedServiceACKGetEnrollmentSummary
-type IBACnetConfirmedServiceACKGetEnrollmentSummary interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetServiceChoice() 
uint8 {
-       return 0x04
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) 
InitializeParent(parent *BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKGetEnrollmentSummary factory function for 
BACnetConfirmedServiceACKGetEnrollmentSummary
-func NewBACnetConfirmedServiceACKGetEnrollmentSummary() 
*BACnetConfirmedServiceACKGetEnrollmentSummary {
-       _result := &BACnetConfirmedServiceACKGetEnrollmentSummary{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKGetEnrollmentSummary(structType interface{}) 
*BACnetConfirmedServiceACKGetEnrollmentSummary {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKGetEnrollmentSummary); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKGetEnrollmentSummary); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetEnrollmentSummary(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetEnrollmentSummary(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetTypeName() string {
-       return "BACnetConfirmedServiceACKGetEnrollmentSummary"
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetLengthInBits() 
uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) GetLengthInBytes() 
uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKGetEnrollmentSummaryParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKGetEnrollmentSummary, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKGetEnrollmentSummary"); 
pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKGetEnrollmentSummary"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKGetEnrollmentSummary{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKGetEnrollmentSummary"); 
pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKGetEnrollmentSummary"); popErr 
!= nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKGetEnrollmentSummary) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
deleted file mode 100644
index 3d536ae4fd..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKGetEventInformation is the data-structure of this 
message
-type BACnetConfirmedServiceACKGetEventInformation struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKGetEventInformation is the corresponding 
interface of BACnetConfirmedServiceACKGetEventInformation
-type IBACnetConfirmedServiceACKGetEventInformation interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) GetServiceChoice() 
uint8 {
-       return 0x1D
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) InitializeParent(parent 
*BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKGetEventInformation factory function for 
BACnetConfirmedServiceACKGetEventInformation
-func NewBACnetConfirmedServiceACKGetEventInformation() 
*BACnetConfirmedServiceACKGetEventInformation {
-       _result := &BACnetConfirmedServiceACKGetEventInformation{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKGetEventInformation(structType interface{}) 
*BACnetConfirmedServiceACKGetEventInformation {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKGetEventInformation); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKGetEventInformation); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetEventInformation(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKGetEventInformation(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) GetTypeName() string {
-       return "BACnetConfirmedServiceACKGetEventInformation"
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) GetLengthInBits() 
uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) GetLengthInBytes() 
uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKGetEventInformationParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKGetEventInformation, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKGetEventInformation"); pullErr 
!= nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKGetEventInformation"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKGetEventInformation{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKGetEventInformation"); 
pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKGetEventInformation"); popErr 
!= nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKGetEventInformation) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
deleted file mode 100644
index bd0bc4d744..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKReadProperty is the data-structure of this message
-type BACnetConfirmedServiceACKReadProperty struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKReadProperty is the corresponding interface of 
BACnetConfirmedServiceACKReadProperty
-type IBACnetConfirmedServiceACKReadProperty interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKReadProperty) GetServiceChoice() uint8 {
-       return 0x0C
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKReadProperty) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceACKReadProperty) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKReadProperty factory function for 
BACnetConfirmedServiceACKReadProperty
-func NewBACnetConfirmedServiceACKReadProperty() 
*BACnetConfirmedServiceACKReadProperty {
-       _result := &BACnetConfirmedServiceACKReadProperty{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKReadProperty(structType interface{}) 
*BACnetConfirmedServiceACKReadProperty {
-       if casted, ok := structType.(BACnetConfirmedServiceACKReadProperty); ok 
{
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKReadProperty); 
ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKReadProperty(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKReadProperty(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) GetTypeName() string {
-       return "BACnetConfirmedServiceACKReadProperty"
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKReadPropertyParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKReadProperty, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKReadProperty"); pullErr != nil 
{
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKReadProperty"); closeErr != 
nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKReadProperty{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKReadProperty"); pushErr != 
nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKReadProperty"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKReadProperty) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
deleted file mode 100644
index 5b3ed36cda..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKReadPropertyMultiple is the data-structure of this 
message
-type BACnetConfirmedServiceACKReadPropertyMultiple struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKReadPropertyMultiple is the corresponding 
interface of BACnetConfirmedServiceACKReadPropertyMultiple
-type IBACnetConfirmedServiceACKReadPropertyMultiple interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetServiceChoice() 
uint8 {
-       return 0x0E
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) 
InitializeParent(parent *BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKReadPropertyMultiple factory function for 
BACnetConfirmedServiceACKReadPropertyMultiple
-func NewBACnetConfirmedServiceACKReadPropertyMultiple() 
*BACnetConfirmedServiceACKReadPropertyMultiple {
-       _result := &BACnetConfirmedServiceACKReadPropertyMultiple{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKReadPropertyMultiple(structType interface{}) 
*BACnetConfirmedServiceACKReadPropertyMultiple {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKReadPropertyMultiple); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKReadPropertyMultiple); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKReadPropertyMultiple(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKReadPropertyMultiple(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetTypeName() string {
-       return "BACnetConfirmedServiceACKReadPropertyMultiple"
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetLengthInBits() 
uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) GetLengthInBytes() 
uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKReadPropertyMultipleParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKReadPropertyMultiple, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKReadPropertyMultiple"); 
pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKReadPropertyMultiple"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKReadPropertyMultiple{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKReadPropertyMultiple"); 
pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKReadPropertyMultiple"); popErr 
!= nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKReadPropertyMultiple) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
deleted file mode 100644
index e48688db80..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKReadRange is the data-structure of this message
-type BACnetConfirmedServiceACKReadRange struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKReadRange is the corresponding interface of 
BACnetConfirmedServiceACKReadRange
-type IBACnetConfirmedServiceACKReadRange interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKReadRange) GetServiceChoice() uint8 {
-       return 0x1A
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKReadRange) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceACKReadRange) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKReadRange factory function for 
BACnetConfirmedServiceACKReadRange
-func NewBACnetConfirmedServiceACKReadRange() 
*BACnetConfirmedServiceACKReadRange {
-       _result := &BACnetConfirmedServiceACKReadRange{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKReadRange(structType interface{}) 
*BACnetConfirmedServiceACKReadRange {
-       if casted, ok := structType.(BACnetConfirmedServiceACKReadRange); ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKReadRange); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKReadRange(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKReadRange(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) GetTypeName() string {
-       return "BACnetConfirmedServiceACKReadRange"
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKReadRangeParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKReadRange, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKReadRange"); pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKReadRange"); closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKReadRange{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKReadRange"); pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKReadRange"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKReadRange) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
deleted file mode 100644
index 758de704aa..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKRemovedAuthenticate is the data-structure of this 
message
-type BACnetConfirmedServiceACKRemovedAuthenticate struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKRemovedAuthenticate is the corresponding 
interface of BACnetConfirmedServiceACKRemovedAuthenticate
-type IBACnetConfirmedServiceACKRemovedAuthenticate interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetServiceChoice() 
uint8 {
-       return 0x18
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) InitializeParent(parent 
*BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKRemovedAuthenticate factory function for 
BACnetConfirmedServiceACKRemovedAuthenticate
-func NewBACnetConfirmedServiceACKRemovedAuthenticate() 
*BACnetConfirmedServiceACKRemovedAuthenticate {
-       _result := &BACnetConfirmedServiceACKRemovedAuthenticate{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKRemovedAuthenticate(structType interface{}) 
*BACnetConfirmedServiceACKRemovedAuthenticate {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKRemovedAuthenticate); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKRemovedAuthenticate); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKRemovedAuthenticate(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKRemovedAuthenticate(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetTypeName() string {
-       return "BACnetConfirmedServiceACKRemovedAuthenticate"
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetLengthInBits() 
uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) GetLengthInBytes() 
uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKRemovedAuthenticateParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKRemovedAuthenticate, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKRemovedAuthenticate"); pullErr 
!= nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKRemovedAuthenticate"); 
closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKRemovedAuthenticate{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKRemovedAuthenticate"); 
pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKRemovedAuthenticate"); popErr 
!= nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKRemovedAuthenticate) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
deleted file mode 100644
index 095a57bf17..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKRemovedReadPropertyConditional is the 
data-structure of this message
-type BACnetConfirmedServiceACKRemovedReadPropertyConditional struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKRemovedReadPropertyConditional is the 
corresponding interface of 
BACnetConfirmedServiceACKRemovedReadPropertyConditional
-type IBACnetConfirmedServiceACKRemovedReadPropertyConditional interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
GetServiceChoice() uint8 {
-       return 0x0D
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
InitializeParent(parent *BACnetConfirmedServiceACK) {
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKRemovedReadPropertyConditional factory function 
for BACnetConfirmedServiceACKRemovedReadPropertyConditional
-func NewBACnetConfirmedServiceACKRemovedReadPropertyConditional() 
*BACnetConfirmedServiceACKRemovedReadPropertyConditional {
-       _result := &BACnetConfirmedServiceACKRemovedReadPropertyConditional{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKRemovedReadPropertyConditional(structType 
interface{}) *BACnetConfirmedServiceACKRemovedReadPropertyConditional {
-       if casted, ok := 
structType.(BACnetConfirmedServiceACKRemovedReadPropertyConditional); ok {
-               return &casted
-       }
-       if casted, ok := 
structType.(*BACnetConfirmedServiceACKRemovedReadPropertyConditional); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKRemovedReadPropertyConditional(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return 
CastBACnetConfirmedServiceACKRemovedReadPropertyConditional(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
GetTypeName() string {
-       return "BACnetConfirmedServiceACKRemovedReadPropertyConditional"
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKRemovedReadPropertyConditionalParse(readBuffer 
utils.ReadBuffer) (*BACnetConfirmedServiceACKRemovedReadPropertyConditional, 
error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKRemovedReadPropertyConditional");
 pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKRemovedReadPropertyConditional");
 closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKRemovedReadPropertyConditional{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) 
Serialize(writeBuffer utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKRemovedReadPropertyConditional");
 pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKRemovedReadPropertyConditional");
 popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKRemovedReadPropertyConditional) String() 
string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
deleted file mode 100644
index 81ca7ac911..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKVTData is the data-structure of this message
-type BACnetConfirmedServiceACKVTData struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKVTData is the corresponding interface of 
BACnetConfirmedServiceACKVTData
-type IBACnetConfirmedServiceACKVTData interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKVTData) GetServiceChoice() uint8 {
-       return 0x17
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKVTData) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceACKVTData) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKVTData factory function for 
BACnetConfirmedServiceACKVTData
-func NewBACnetConfirmedServiceACKVTData() *BACnetConfirmedServiceACKVTData {
-       _result := &BACnetConfirmedServiceACKVTData{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKVTData(structType interface{}) 
*BACnetConfirmedServiceACKVTData {
-       if casted, ok := structType.(BACnetConfirmedServiceACKVTData); ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKVTData); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKVTData(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKVTData(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKVTData) GetTypeName() string {
-       return "BACnetConfirmedServiceACKVTData"
-}
-
-func (m *BACnetConfirmedServiceACKVTData) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKVTData) GetLengthInBitsConditional(lastItem 
bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKVTData) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKVTDataParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKVTData, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKVTData"); pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKVTData"); closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKVTData{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKVTData) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKVTData"); pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKVTData"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKVTData) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
deleted file mode 100644
index 8dacffd700..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceACKVTOpen is the data-structure of this message
-type BACnetConfirmedServiceACKVTOpen struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceACKVTOpen is the corresponding interface of 
BACnetConfirmedServiceACKVTOpen
-type IBACnetConfirmedServiceACKVTOpen interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetServiceChoice() uint8 {
-       return 0x15
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceACKVTOpen) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceACKVTOpen factory function for 
BACnetConfirmedServiceACKVTOpen
-func NewBACnetConfirmedServiceACKVTOpen() *BACnetConfirmedServiceACKVTOpen {
-       _result := &BACnetConfirmedServiceACKVTOpen{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceACKVTOpen(structType interface{}) 
*BACnetConfirmedServiceACKVTOpen {
-       if casted, ok := structType.(BACnetConfirmedServiceACKVTOpen); ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACKVTOpen); ok {
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKVTOpen(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceACKVTOpen(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetTypeName() string {
-       return "BACnetConfirmedServiceACKVTOpen"
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetLengthInBitsConditional(lastItem 
bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceACKVTOpenParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceACKVTOpen, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceACKVTOpen"); pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceACKVTOpen"); closeErr != nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceACKVTOpen{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceACKVTOpen"); pushErr != nil {
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceACKVTOpen"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceACKVTOpen) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
deleted file mode 100644
index b64eaf4411..0000000000
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceAddListElement.go
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 model
-
-import (
-       "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
-)
-
-// Code generated by code-generation. DO NOT EDIT.
-
-// BACnetConfirmedServiceAddListElement is the data-structure of this message
-type BACnetConfirmedServiceAddListElement struct {
-       *BACnetConfirmedServiceACK
-}
-
-// IBACnetConfirmedServiceAddListElement is the corresponding interface of 
BACnetConfirmedServiceAddListElement
-type IBACnetConfirmedServiceAddListElement interface {
-       IBACnetConfirmedServiceACK
-       // GetLengthInBytes returns the length in bytes
-       GetLengthInBytes() uint16
-       // GetLengthInBits returns the length in bits
-       GetLengthInBits() uint16
-       // Serialize serializes this type
-       Serialize(writeBuffer utils.WriteBuffer) error
-}
-
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-/////////////////////// Accessors for discriminator values.
-///////////////////////
-
-func (m *BACnetConfirmedServiceAddListElement) GetServiceChoice() uint8 {
-       return 0x08
-}
-
-///////////////////////
-///////////////////////
-///////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////
-
-func (m *BACnetConfirmedServiceAddListElement) InitializeParent(parent 
*BACnetConfirmedServiceACK) {}
-
-func (m *BACnetConfirmedServiceAddListElement) GetParent() 
*BACnetConfirmedServiceACK {
-       return m.BACnetConfirmedServiceACK
-}
-
-// NewBACnetConfirmedServiceAddListElement factory function for 
BACnetConfirmedServiceAddListElement
-func NewBACnetConfirmedServiceAddListElement() 
*BACnetConfirmedServiceAddListElement {
-       _result := &BACnetConfirmedServiceAddListElement{
-               BACnetConfirmedServiceACK: NewBACnetConfirmedServiceACK(),
-       }
-       _result.Child = _result
-       return _result
-}
-
-func CastBACnetConfirmedServiceAddListElement(structType interface{}) 
*BACnetConfirmedServiceAddListElement {
-       if casted, ok := structType.(BACnetConfirmedServiceAddListElement); ok {
-               return &casted
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceAddListElement); ok 
{
-               return casted
-       }
-       if casted, ok := structType.(BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceAddListElement(casted.Child)
-       }
-       if casted, ok := structType.(*BACnetConfirmedServiceACK); ok {
-               return CastBACnetConfirmedServiceAddListElement(casted.Child)
-       }
-       return nil
-}
-
-func (m *BACnetConfirmedServiceAddListElement) GetTypeName() string {
-       return "BACnetConfirmedServiceAddListElement"
-}
-
-func (m *BACnetConfirmedServiceAddListElement) GetLengthInBits() uint16 {
-       return m.GetLengthInBitsConditional(false)
-}
-
-func (m *BACnetConfirmedServiceAddListElement) 
GetLengthInBitsConditional(lastItem bool) uint16 {
-       lengthInBits := uint16(m.GetParentLengthInBits())
-
-       return lengthInBits
-}
-
-func (m *BACnetConfirmedServiceAddListElement) GetLengthInBytes() uint16 {
-       return m.GetLengthInBits() / 8
-}
-
-func BACnetConfirmedServiceAddListElementParse(readBuffer utils.ReadBuffer) 
(*BACnetConfirmedServiceAddListElement, error) {
-       if pullErr := 
readBuffer.PullContext("BACnetConfirmedServiceAddListElement"); pullErr != nil {
-               return nil, pullErr
-       }
-       currentPos := readBuffer.GetPos()
-       _ = currentPos
-
-       if closeErr := 
readBuffer.CloseContext("BACnetConfirmedServiceAddListElement"); closeErr != 
nil {
-               return nil, closeErr
-       }
-
-       // Create a partially initialized instance
-       _child := &BACnetConfirmedServiceAddListElement{
-               BACnetConfirmedServiceACK: &BACnetConfirmedServiceACK{},
-       }
-       _child.BACnetConfirmedServiceACK.Child = _child
-       return _child, nil
-}
-
-func (m *BACnetConfirmedServiceAddListElement) Serialize(writeBuffer 
utils.WriteBuffer) error {
-       ser := func() error {
-               if pushErr := 
writeBuffer.PushContext("BACnetConfirmedServiceAddListElement"); pushErr != nil 
{
-                       return pushErr
-               }
-
-               if popErr := 
writeBuffer.PopContext("BACnetConfirmedServiceAddListElement"); popErr != nil {
-                       return popErr
-               }
-               return nil
-       }
-       return m.SerializeParent(writeBuffer, m, ser)
-}
-
-func (m *BACnetConfirmedServiceAddListElement) String() string {
-       if m == nil {
-               return "<nil>"
-       }
-       buffer := utils.NewBoxedWriteBufferWithOptions(true, true)
-       if err := m.Serialize(buffer); err != nil {
-               return err.Error()
-       }
-       return buffer.GetBox().String()
-}
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
index 268a10f257..0a042a2f58 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConstructedDataUnspecified.go
@@ -219,7 +219,7 @@ func BACnetConstructedDataUnspecifiedParse(readBuffer 
utils.ReadBuffer, tagNumbe
 
        // Optional Field (propertyIdentifier) (Can be skipped, if a given 
expression evaluates to false)
        var propertyIdentifier *BACnetContextTagPropertyIdentifier = nil
-       if hasData {
+       if !(hasData) {
                currentPos = readBuffer.GetPos()
                if pullErr := readBuffer.PullContext("propertyIdentifier"); 
pullErr != nil {
                        return nil, pullErr
@@ -240,7 +240,7 @@ func BACnetConstructedDataUnspecifiedParse(readBuffer 
utils.ReadBuffer, tagNumbe
 
        // Optional Field (content) (Can be skipped, if a given expression 
evaluates to false)
        var content *BACnetApplicationTag = nil
-       if hasData {
+       if !(hasData) {
                currentPos = readBuffer.GetPos()
                if pullErr := readBuffer.PullContext("content"); pullErr != nil 
{
                        return nil, pullErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
index 5980a42cc5..2f025923e6 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagCharacterString.go
@@ -41,6 +41,8 @@ type IBACnetContextTagCharacterString interface {
        IBACnetContextTag
        // GetPayload returns Payload (property field)
        GetPayload() *BACnetTagPayloadCharacterString
+       // GetValue returns Value (virtual field)
+       GetValue() string
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -80,6 +82,19 @@ func (m *BACnetContextTagCharacterString) GetPayload() 
*BACnetTagPayloadCharacte
        return m.Payload
 }
 
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for virtual fields.
+///////////////////////
+
+func (m *BACnetContextTagCharacterString) GetValue() string {
+       return string(m.GetPayload().GetValue())
+}
+
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
@@ -125,6 +140,8 @@ func (m *BACnetContextTagCharacterString) 
GetLengthInBitsConditional(lastItem bo
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -157,6 +174,11 @@ func BACnetContextTagCharacterStringParse(readBuffer 
utils.ReadBuffer, tagNumber
                return nil, closeErr
        }
 
+       // Virtual field
+       _value := payload.GetValue()
+       value := string(_value)
+       _ = value
+
        if closeErr := 
readBuffer.CloseContext("BACnetContextTagCharacterString"); closeErr != nil {
                return nil, closeErr
        }
@@ -187,6 +209,10 @@ func (m *BACnetContextTagCharacterString) 
Serialize(writeBuffer utils.WriteBuffe
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _valueErr := writeBuffer.WriteVirtual("value", 
m.GetValue()); _valueErr != nil {
+                       return errors.Wrap(_valueErr, "Error serializing 
'value' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetContextTagCharacterString"); popErr != nil {
                        return popErr
diff --git 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
index 2b87c02e39..90c9200db1 100644
--- 
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
+++ 
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetContextTagOctetString.go
@@ -41,6 +41,8 @@ type IBACnetContextTagOctetString interface {
        IBACnetContextTag
        // GetPayload returns Payload (property field)
        GetPayload() *BACnetTagPayloadOctetString
+       // GetValue returns Value (virtual field)
+       GetValue() string
        // GetLengthInBytes returns the length in bytes
        GetLengthInBytes() uint16
        // GetLengthInBits returns the length in bits
@@ -80,6 +82,19 @@ func (m *BACnetContextTagOctetString) GetPayload() 
*BACnetTagPayloadOctetString
        return m.Payload
 }
 
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for virtual fields.
+///////////////////////
+
+func (m *BACnetContextTagOctetString) GetValue() string {
+       return string(m.GetPayload().GetValue())
+}
+
 ///////////////////////
 ///////////////////////
 ///////////////////////////////////////////////////////////
@@ -125,6 +140,8 @@ func (m *BACnetContextTagOctetString) 
GetLengthInBitsConditional(lastItem bool)
        // Simple field (payload)
        lengthInBits += m.Payload.GetLengthInBits()
 
+       // A virtual field doesn't have any in- or output.
+
        return lengthInBits
 }
 
@@ -157,6 +174,11 @@ func BACnetContextTagOctetStringParse(readBuffer 
utils.ReadBuffer, tagNumberArgu
                return nil, closeErr
        }
 
+       // Virtual field
+       _value := payload.GetValue()
+       value := string(_value)
+       _ = value
+
        if closeErr := readBuffer.CloseContext("BACnetContextTagOctetString"); 
closeErr != nil {
                return nil, closeErr
        }
@@ -187,6 +209,10 @@ func (m *BACnetContextTagOctetString) 
Serialize(writeBuffer utils.WriteBuffer) e
                if _payloadErr != nil {
                        return errors.Wrap(_payloadErr, "Error serializing 
'payload' field")
                }
+               // Virtual field
+               if _valueErr := writeBuffer.WriteVirtual("value", 
m.GetValue()); _valueErr != nil {
+                       return errors.Wrap(_valueErr, "Error serializing 
'value' field")
+               }
 
                if popErr := 
writeBuffer.PopContext("BACnetContextTagOctetString"); popErr != nil {
                        return popErr
diff --git 
a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec 
b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
index ffb8a9d7b5..4e922d13a3 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
@@ -707,48 +707,6 @@
     ]
 ]
 
-[discriminatedType BACnetConfirmedServiceACK
-    [discriminator uint 8 serviceChoice]
-    [typeSwitch serviceChoice
-        ['0x03' BACnetConfirmedServiceACKGetAlarmSummary
-        ]
-        ['0x04' BACnetConfirmedServiceACKGetEnrollmentSummary
-        ]
-        ['0x1D' BACnetConfirmedServiceACKGetEventInformation
-        ]
-
-        ['0x06' BACnetConfirmedServiceACKAtomicReadFile
-        ]
-        ['0x07' BACnetConfirmedServiceACKAtomicWriteFile
-        ]
-
-        ['0x08' BACnetConfirmedServiceAddListElement
-        ]
-
-        ['0x0A' BACnetConfirmedServiceACKCreateObject
-        ]
-        ['0x0C' BACnetConfirmedServiceACKReadProperty
-        ]
-        ['0x0E' BACnetConfirmedServiceACKReadPropertyMultiple
-        ]
-        ['0x1A' BACnetConfirmedServiceACKReadRange
-        ]
-
-        ['0x12' BACnetConfirmedServiceACKConfirmedPrivateTransfer
-        ]
-
-        ['0x15' BACnetConfirmedServiceACKVTOpen
-        ]
-        ['0x17' BACnetConfirmedServiceACKVTData
-        ]
-
-        ['0x18' BACnetConfirmedServiceACKRemovedAuthenticate
-        ]
-        ['0x0D' BACnetConfirmedServiceACKRemovedReadPropertyConditional
-        ]
-    ]
-]
-
 // TODO: this need to be completly refactored
 [discriminatedType BACnetError
     [discriminator uint 8 serviceChoice]
@@ -1333,11 +1291,13 @@
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"]
             [simple BACnetTagPayloadOctetString('header.actualLength')
                                 payload                                        
                                         ]
+            [virtual vstring     value             'payload.value'             
                                         ]
         ]
         ['CHARACTER_STRING' BACnetContextTagCharacterString(bit 
isNotOpeningOrClosingTag, BACnetTagHeader header)
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"                ]
             [simple BACnetTagPayloadCharacterString('header.actualLength')
                                 payload                                        
                                         ]
+            [virtual vstring     value             'payload.value'             
                                         ]
         ]
         ['BIT_STRING' BACnetContextTagBitString(bit isNotOpeningOrClosingTag, 
BACnetTagHeader header)
             [validation 'isNotOpeningOrClosingTag' "length 6 and 7 reserved 
for opening and closing tag"                ]
@@ -1596,9 +1556,9 @@
                                 
'STATIC_CALL("isBACnetConstructedDataClosingTag", readBuffer, false, 
tagNumber)']
             [virtual  bit   hasData                 'COUNT(data) != 0']
             [optional       BACnetContextTagPropertyIdentifier('0', 
'BACnetDataType.BACNET_PROPERTY_IDENTIFIER')
-                            propertyIdentifier      'hasData'                  
                                 ]
+                            propertyIdentifier      '!hasData'                 
                                  ]
             [optional       BACnetApplicationTag
-                            content                 'hasData'                  
                                 ]
+                            content                 '!hasData'                 
                                  ]
         ]
     ]
     [simple       BACnetClosingTag('tagNumber', 'BACnetDataType.CLOSING_TAG')

Reply via email to