You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by gi...@apache.org on 2018/03/01 09:39:35 UTC

[incubator-plc4x] branch asf-site updated: Site checkin for project PLC4X

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

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new d9901fb  Site checkin for project PLC4X
d9901fb is described below

commit d9901fbb739282d6ca32d267b25a084b66cb82a8
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Mar 1 09:39:33 2018 +0000

    Site checkin for project PLC4X
---
 changelog.html                                     |  16 +-
 examples/changelog.html                            |   4 +-
 examples/dummy-driver/changelog.html               |   4 +-
 examples/dummy-driver/dependencies.html            |   2 +-
 examples/dummy-driver/file-activity.html           |   4 +-
 examples/file-activity.html                        |   4 +-
 examples/iotree/changelog.html                     |   4 +-
 examples/iotree/dependencies.html                  |   4 +-
 examples/iotree/file-activity.html                 |   4 +-
 examples/kafka-bridge/changelog.html               |   4 +-
 examples/kafka-bridge/dependencies.html            |   2 +-
 examples/kafka-bridge/file-activity.html           |   4 +-
 examples/plclogger/changelog.html                  |   4 +-
 examples/plclogger/dependencies.html               |   2 +-
 examples/plclogger/file-activity.html              |   4 +-
 file-activity.html                                 | 312 ++++++-------
 integrations/apache-brooklyn/changelog.html        |   4 +-
 integrations/apache-brooklyn/file-activity.html    |   4 +-
 integrations/apache-camel/changelog.html           |   4 +-
 integrations/apache-camel/dependencies.html        |   2 +-
 integrations/apache-camel/file-activity.html       |   4 +-
 .../apache-camel/jacoco/jacoco-sessions.html       |   2 +-
 integrations/apache-camel/jacoco/jacoco.xml        |   2 +-
 integrations/apache-camel/surefire-report.html     |  30 +-
 integrations/apache-edgent/changelog.html          |   4 +-
 integrations/apache-edgent/dependencies.html       |   4 +-
 integrations/apache-edgent/file-activity.html      |   4 +-
 .../apache-edgent/jacoco/jacoco-sessions.html      |   2 +-
 integrations/apache-edgent/jacoco/jacoco.xml       |   2 +-
 integrations/apache-edgent/license.html            | 206 +--------
 integrations/apache-edgent/surefire-report.html    |  22 +-
 integrations/apache-mynewt/changelog.html          |   4 +-
 integrations/apache-mynewt/file-activity.html      |   4 +-
 integrations/changelog.html                        |   4 +-
 integrations/file-activity.html                    |   4 +-
 license.html                                       | 206 +--------
 plc4c/changelog.html                               |   4 +-
 plc4c/file-activity.html                           |   4 +-
 plc4j/changelog.html                               |  16 +-
 plc4j/file-activity.html                           | 280 ++++++------
 plc4j/plc4j-api/apidocs/index-all.html             |   4 +-
 .../api/messages/class-use/PlcReadResponse.html    |   3 +-
 .../java/api/messages/items/ReadResponseItem.html  |  21 +-
 .../messages/items/class-use/ReadRequestItem.html  |   5 +
 .../messages/specific/TypeSafePlcReadResponse.html |   8 +-
 .../class-use/TypeSafePlcReadResponse.html         |   3 +-
 .../java/api/types/class-use/ResponseCode.html     |   7 +-
 plc4j/plc4j-api/changelog.html                     |  16 +-
 plc4j/plc4j-api/file-activity.html                 |  44 +-
 plc4j/plc4j-api/jacoco/index.html                  |   2 +-
 plc4j/plc4j-api/jacoco/jacoco-sessions.html        |   2 +-
 plc4j/plc4j-api/jacoco/jacoco.csv                  |   6 +-
 plc4j/plc4j-api/jacoco/jacoco.xml                  |   2 +-
 .../PlcReader.html                                 |   2 +-
 .../PlcReader.java.html                            |   3 +-
 .../index.html                                     |   2 +-
 .../index.source.html                              |   2 +-
 .../ReadResponseItem.html                          |   2 +-
 .../ReadResponseItem.java.html                     |  21 +-
 .../index.html                                     |   2 +-
 .../index.source.html                              |   2 +-
 .../TypeSafePlcReadResponse.html                   |   2 +-
 .../TypeSafePlcReadResponse.java.html              |  63 +--
 .../index.html                                     |   2 +-
 .../index.source.html                              |   2 +-
 plc4j/plc4j-api/surefire-report.html               | 112 ++---
 plc4j/plc4j-api/testapidocs/index-all.html         |   4 +
 .../plc4x/java/api/connection/PlcReaderTest.html   |  22 +-
 .../specific/TypeSafePlcReadResponseTest.html      |  23 +-
 .../plc4x/java/api/connection/PlcReaderTest.html   |  54 ++-
 .../plc4x/java/api/messages/APIMessageTests.html   | 483 ++++++++++-----------
 .../specific/TypeSafePlcReadResponseTest.html      | 128 +++---
 .../plc4x/java/api/connection/PlcReader.html       |   9 +-
 .../java/api/messages/items/ReadResponseItem.html  |  47 +-
 .../messages/specific/TypeSafePlcReadResponse.html |  79 ++--
 plc4j/plc4j-core/changelog.html                    |   4 +-
 plc4j/plc4j-core/dependencies.html                 |   4 +-
 plc4j/plc4j-core/file-activity.html                |   4 +-
 plc4j/plc4j-core/jacoco/jacoco-sessions.html       |   2 +-
 plc4j/plc4j-core/jacoco/jacoco.xml                 |   2 +-
 plc4j/plc4j-core/surefire-report.html              |  10 +-
 plc4j/plc4j-protocols/changelog.html               | 235 +++++-----
 plc4j/plc4j-protocols/file-activity.html           |  30 +-
 .../plc4j-protocol-ads/changelog.html              |   4 +-
 .../plc4j-protocol-ads/dependencies.html           |   2 +-
 .../plc4j-protocol-ads/file-activity.html          |   4 +-
 .../plc4j-protocol-ads/jacoco/jacoco-sessions.html |   2 +-
 .../plc4j-protocol-ads/jacoco/jacoco.xml           |   2 +-
 .../plc4j-protocol-ads/surefire-report.html        | 226 +++++-----
 .../plc4j-protocol-driver-base/changelog.html      |   4 +-
 .../plc4j-protocol-driver-base/dependencies.html   |   2 +-
 .../plc4j-protocol-driver-base/file-activity.html  |   4 +-
 .../jacoco/jacoco-sessions.html                    |   2 +-
 .../plc4j-protocol-driver-base/jacoco/jacoco.xml   |   2 +-
 .../plc4j-protocol-s7/changelog.html               |  45 +-
 .../plc4j-protocol-s7/dependencies.html            |   2 +-
 .../plc4j-protocol-s7/file-activity.html           |  22 +-
 .../img/s7-netty-setup-communication.png           | Bin 273506 -> 273758 bytes
 .../plc4j-protocol-s7/jacoco/index.html            |   2 +-
 .../plc4j-protocol-s7/jacoco/jacoco-sessions.html  |   2 +-
 .../plc4j-protocol-s7/jacoco/jacoco.csv            |   2 +-
 .../plc4j-protocol-s7/jacoco/jacoco.xml            |   2 +-
 .../Plc4XS7Protocol$1.html                         |   2 +-
 .../Plc4XS7Protocol.html                           |   2 +-
 .../Plc4XS7Protocol.java.html                      | 199 +++++----
 .../org.apache.plc4x.java.s7.netty/index.html      |   2 +-
 .../index.source.html                              |   2 +-
 .../plc4j-protocol-s7/surefire-report.html         | 164 +++----
 .../plc4x/java/s7/netty/Plc4XS7Protocol.html       | 371 ++++++++--------
 plc4j/plc4j-utils/changelog.html                   |   4 +-
 plc4j/plc4j-utils/file-activity.html               |   4 +-
 .../plc4j-utils-raw-sockets/changelog.html         |   4 +-
 .../plc4j-utils-raw-sockets/file-activity.html     |   4 +-
 .../jacoco/jacoco-sessions.html                    |   2 +-
 .../plc4j-utils-raw-sockets/jacoco/jacoco.xml      |   2 +-
 .../plc4j-utils-raw-sockets/surefire-report.html   |   6 +-
 .../plc4j-utils-test-utils/changelog.html          |   4 +-
 .../plc4j-utils-test-utils/file-activity.html      |   4 +-
 .../plc4j-utils-wireshark-utils/changelog.html     |   4 +-
 .../plc4j-utils-wireshark-utils/file-activity.html |   4 +-
 plc4s/changelog.html                               |   4 +-
 plc4s/file-activity.html                           |   4 +-
 .../plc4x/java/api/connection/PlcReaderTest.html   |  54 ++-
 .../plc4x/java/api/messages/APIMessageTests.html   | 483 ++++++++++-----------
 .../specific/TypeSafePlcReadResponseTest.html      | 128 +++---
 .../plc4x/java/api/connection/PlcReader.html       |   9 +-
 .../java/api/messages/items/ReadResponseItem.html  |  47 +-
 .../messages/specific/TypeSafePlcReadResponse.html |  79 ++--
 .../plc4x/java/s7/netty/Plc4XS7Protocol.html       | 371 ++++++++--------
 129 files changed, 2411 insertions(+), 2563 deletions(-)

diff --git a/changelog.html b/changelog.html
index c4ab0a1..7cbfa61 100644
--- a/changelog.html
+++ b/changelog.html
@@ -176,7 +176,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -194,8 +194,8 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 167<br />Total number of files changed: 279</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 169<br />Total number of files changed: 282</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -206,6 +206,16 @@
    </thead> 
    <tbody> 
     <tr class="b"> 
+     <td>2018-03-01 10:34:06</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java?rev=f01125e3dcb6db298e1c83a8d0e492261667f411&amp;content-type=text/vnd.viewcvs-markup">v f01125e3dc [...]
+    </tr> 
+    <tr class="a"> 
+     <td>2018-03-01 09:38:01</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java?rev=ea6c83d93dabf3f30a5c710590758ff598f54f0d&amp;content-type=text/vnd.viewcvs-markup"> [...]
+    </tr> 
+    <tr class="b"> 
      <td>2018-02-28 11:51:34</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/Jenkinsfile"><b>Jenkinsfile</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/Jenkinsfile?rev=54f2ff7d61cc91b5608d3f7ed1744b6ea31f21ff&amp;content-type=text/vnd.viewcvs-markup">v 54f2ff7d61cc91b5608d3f7ed1744b6ea31f21ff</a><br /><br />Made the deploy build skip all sorts of goals normally executed prior to deployment</td> 
diff --git a/examples/changelog.html b/examples/changelog.html
index 2134d60..6662ed1 100644
--- a/examples/changelog.html
+++ b/examples/changelog.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -156,7 +156,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 10<br />Total number of files changed: 15</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/dummy-driver/changelog.html b/examples/dummy-driver/changelog.html
index 7b04530..19f07c8 100644
--- a/examples/dummy-driver/changelog.html
+++ b/examples/dummy-driver/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 3</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/dummy-driver/dependencies.html b/examples/dummy-driver/dependencies.html
index ae49ef0..aa5717c 100644
--- a/examples/dummy-driver/dependencies.html
+++ b/examples/dummy-driver/dependencies.html
@@ -955,7 +955,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/examples/dummy-driver/file-activity.html b/examples/dummy-driver/file-activity.html
index 73f3f4e..0112f20 100644
--- a/examples/dummy-driver/file-activity.html
+++ b/examples/dummy-driver/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 3</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/file-activity.html b/examples/file-activity.html
index 1a614ac..0c08732 100644
--- a/examples/file-activity.html
+++ b/examples/file-activity.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -155,7 +155,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 10<br />Total number of files changed: 15</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/iotree/changelog.html b/examples/iotree/changelog.html
index d046495..c29fe0b 100644
--- a/examples/iotree/changelog.html
+++ b/examples/iotree/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/iotree/dependencies.html b/examples/iotree/dependencies.html
index 1eccd55..01a4049 100644
--- a/examples/iotree/dependencies.html
+++ b/examples/iotree/dependencies.html
@@ -1414,7 +1414,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
@@ -1504,7 +1504,7 @@
    </tr> 
    <tr class="a"> 
     <td>compile: 18</td> 
-    <td>compile: 746.5 kB</td> 
+    <td>compile: 747.3 kB</td> 
     <td>compile: 794</td> 
     <td>compile: 498</td> 
     <td>compile: 53</td> 
diff --git a/examples/iotree/file-activity.html b/examples/iotree/file-activity.html
index 1c1e770..2eb4141 100644
--- a/examples/iotree/file-activity.html
+++ b/examples/iotree/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/kafka-bridge/changelog.html b/examples/kafka-bridge/changelog.html
index 168d271..286f886 100644
--- a/examples/kafka-bridge/changelog.html
+++ b/examples/kafka-bridge/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 6<br />Total number of files changed: 9</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/kafka-bridge/dependencies.html b/examples/kafka-bridge/dependencies.html
index a9ad944..128979d 100644
--- a/examples/kafka-bridge/dependencies.html
+++ b/examples/kafka-bridge/dependencies.html
@@ -1798,7 +1798,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/examples/kafka-bridge/file-activity.html b/examples/kafka-bridge/file-activity.html
index c4620cc..8067d72 100644
--- a/examples/kafka-bridge/file-activity.html
+++ b/examples/kafka-bridge/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 6<br />Total number of files changed: 9</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/plclogger/changelog.html b/examples/plclogger/changelog.html
index 91c0010..90c534b 100644
--- a/examples/plclogger/changelog.html
+++ b/examples/plclogger/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 1<br />Total number of files changed: 2</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/examples/plclogger/dependencies.html b/examples/plclogger/dependencies.html
index ae23bf6..6982331 100644
--- a/examples/plclogger/dependencies.html
+++ b/examples/plclogger/dependencies.html
@@ -1414,7 +1414,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/examples/plclogger/file-activity.html b/examples/plclogger/file-activity.html
index 6b56b34..da12f7f 100644
--- a/examples/plclogger/file-activity.html
+++ b/examples/plclogger/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 1<br />Total number of files changed: 2</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/file-activity.html b/file-activity.html
index 60a88c4..f33bc73 100644
--- a/file-activity.html
+++ b/file-activity.html
@@ -176,7 +176,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -193,8 +193,8 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 167<br />Total number of files changed: 279</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 169<br />Total number of files changed: 282</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -560,33 +560,41 @@
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>APIMessageTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/<b>CalculatedAMSTCPHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/<b>IsotpTypeTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/<b>CalculatedAMSTCPHeader.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/<b>IsotpTypeTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/CommandTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/<b>CommandTypesFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/CommandTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/<b>CommandTypesFactoryMethodTest.java</b></a> </td> 
+     <td>4</td> 
+    </tr> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>GenericTypesFactoryMethodTest.java</b></a> </td> 
      <td>4</td> 
     </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
+     <td>3</td> 
+    </tr> 
     <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocket.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocket.java</b></a> </td> 
      <td>3</td> 
@@ -604,7 +612,7 @@
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>APIMessageTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
@@ -612,60 +620,60 @@
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java">plc4j/core/src/test/java/org/apache/plc4x/java/<b>PlcDriverManagerTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java">plc4j/core/src/test/java/org/apache/plc4x/java/<b>PlcDriverManagerTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/site.xml">src/site/<b>site.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/kafka-bridge/server.sh">examples/kafka-bridge/<b>server.sh</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/site.xml">src/site/<b>site.xml</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/kafka-bridge/src/main/java/org/apache/plc4x/java/examples/kafkabridge/KafkaBridge.java">examples/kafka-bridge/src/main/java/org/apache/plc4x/java/examples/kafkabridge/<b>KafkaBridge.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/kafka-bridge/server.sh">examples/kafka-bridge/<b>server.sh</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/kafka-bridge/src/main/java/org/apache/plc4x/java/examples/kafkabridge/KafkaBridge.java">examples/kafka-bridge/src/main/java/org/apache/plc4x/java/examples/kafkabridge/<b>KafkaBridge.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
-     <td>2</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td>3</td> 
     </tr> 
     <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSCommandType.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSCommandType.java</b></a> </td> 
@@ -716,475 +724,467 @@
      <td>2</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
-     <td>2</td> 
-    </tr> 
-    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequestTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteRequestTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/<b>IsoTPMessageTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/<b>ParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/<b>TsapParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/<b>S7StateTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/<b>S7AddressTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/Plc4XS7ProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7ProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/<b>S7ProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/<b>S7MessageTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/<b>S7ParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/<b>S7PayloadTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/pom.xml">plc4j/utils/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/test-utils/pom.xml">plc4j/utils/test-utils/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/resources/css/site.css">src/site/resources/css/<b>site.css</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/asciidoc/protocols/s7/s7comm-plus.adoc">src/site/asciidoc/protocols/s7/<b>s7comm-plus.adoc</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/asciidoc/protocols/s7/s7comm.adoc">src/site/asciidoc/protocols/s7/<b>s7comm.adoc</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/kafka-bridge/pom.xml">examples/kafka-bridge/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml">plc4j/protocols/driver-base/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/AbstractPlcConnection.java">plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/<b>AbstractPlcConnection.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/TcpSocketChannelFactory.java">plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/<b>TcpSocketChannelFactory.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/LengthSupplier.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>LengthSupplier.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSErrorTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSNetIdTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSNetIdTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/CommandTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>CommandTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/StateTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>StateTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/model/ADSAddressTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/model/<b>ADSAddressTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/S7PlcDriver.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/<b>S7PlcDriver.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/examples/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/connection/DummyConnection.java">examples/dummy-driver/src/main/java/org/apache/plc4x/java/examples/dummydriver/connection/<b>DummyConnection.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockConnection.java">integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/<b>MockConnection.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianEncoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianEncoder.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java">integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/<b>MockDriver.java</b></a> </td> 
-     <td>1</td> 
-    </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianDecoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianDecoder.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/MockDriver.java">integrations/apache-edgent/src/test/java/org/apache/plc4x/edgent/mock/<b>MockDriver.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianEncoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianEncoder.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianDecoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianDecoder.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianEncoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianEncoder.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcTestConsole.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocketException.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocketException.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcTestConsole.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketAddress.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketAddress.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocketException.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocketException.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/wireshark-utils/pom.xml">plc4j/utils/wireshark-utils/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketAddress.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketAddress.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/wireshark-utils/pom.xml">plc4j/utils/wireshark-utils/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>ParameterError.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>ParameterError.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannel.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelConfig.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelConfig.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannel.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelOption.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelOption.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelConfig.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelConfig.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/asciidoc/protocols/features.adoc">src/site/asciidoc/protocols/<b>features.adoc</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelOption.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelOption.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>Junit5Backport.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/asciidoc/protocols/features.adoc">src/site/asciidoc/protocols/<b>features.adoc</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/<b>ADSData.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>Junit5Backport.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/<b>ADSData.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ADSState.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsNotificationSample.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsNotificationSample.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ADSState.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsStampHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsStampHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsNotificationSample.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsNotificationSample.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/CycleTime.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>CycleTime.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsStampHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsStampHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Data.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/CycleTime.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>CycleTime.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Device.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Data.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/DeviceState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>DeviceState.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Device.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexGroup.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexGroup.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/DeviceState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>DeviceState.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexOffset.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexOffset.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexGroup.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexGroup.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/InvalidationNotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>InvalidationNotificationHandle.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexOffset.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexOffset.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Length.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/InvalidationNotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>InvalidationNotificationHandle.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MajorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MajorVersion.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Length.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MaxDelay.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MaxDelay.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MajorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MajorVersion.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MinorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MinorVersion.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MaxDelay.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MaxDelay.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/NotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>NotificationHandle.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MinorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MinorVersion.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ReadLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ReadLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/NotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>NotificationHandle.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Result.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Result.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ReadLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ReadLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/SampleSize.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>SampleSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Result.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Result.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Samples.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Samples.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/SampleSize.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>SampleSize.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Stamps.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Stamps.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Samples.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Samples.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TimeStamp.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Stamps.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Stamps.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TransmissionMode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TransmissionMode.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TimeStamp.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Version.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Version.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TransmissionMode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TransmissionMode.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/WriteLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>WriteLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Version.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Version.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>ADSData.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/WriteLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>WriteLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>ADSData.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPPaket.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPPaket.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSError.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSError.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPPaket.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPPaket.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSNetId.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSNetId.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSError.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSError.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSPort.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSNetId.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSNetId.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Command.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Command.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSPort.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Data.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Command.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Command.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/DataLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>DataLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Data.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Invoke.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Invoke.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/DataLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>DataLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Length.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Invoke.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Invoke.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/State.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>State.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Length.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteReadable.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteReadable.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/State.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>State.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteValue.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteReadable.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteReadable.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/iso-tp-connect-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>iso-tp-connect-response.pcap</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteValue.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-setup-communication-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>s7-setup-communication-response.pcap</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/iso-tp-connect-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>iso-tp-connect-response.pcap</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/template/maven-site.vm">src/site/template/<b>maven-site.vm</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-setup-communication-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>s7-setup-communication-response.pcap</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver">plc4j/protocols/ads/src/main/resources/META-INF/services/<b>org.apache.plc4x.java.api.PlcDriver</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/src/site/template/maven-site.vm">src/site/template/<b>maven-site.vm</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/PLC4XComponentTest.java">integrations/apache-camel/src/test/java/org/apache/plc4x/camel/<b>PLC4XComponentTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver">plc4j/protocols/ads/src/main/resources/META-INF/services/<b>org.apache.plc4x.java.api.PlcDriver</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/PLC4XProducerTest.java">integrations/apache-camel/src/test/java/org/apache/plc4x/camel/<b>PLC4XProducerTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/PLC4XComponentTest.java">integrations/apache-camel/src/test/java/org/apache/plc4x/camel/<b>PLC4XComponentTest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/pom.xml">integrations/apache-edgent/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-camel/src/test/java/org/apache/plc4x/camel/PLC4XProducerTest.java">integrations/apache-camel/src/test/java/org/apache/plc4x/camel/<b>PLC4XProducerTest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/pom.xml">integrations/apache-edgent/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
@@ -1308,14 +1308,26 @@
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcFunctions.java">integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/<b>PlcFunctions.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/<b>ReadResponseItem.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponse.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/PlcFunctions.java">integrations/apache-edgent/src/main/java/org/apache/plc4x/edgent/<b>PlcFunctions.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLength.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLengthTest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
diff --git a/integrations/apache-brooklyn/changelog.html b/integrations/apache-brooklyn/changelog.html
index 5b67b0d..944be09 100644
--- a/integrations/apache-brooklyn/changelog.html
+++ b/integrations/apache-brooklyn/changelog.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -146,7 +146,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-brooklyn/file-activity.html b/integrations/apache-brooklyn/file-activity.html
index 9831900..48d8e7b 100644
--- a/integrations/apache-brooklyn/file-activity.html
+++ b/integrations/apache-brooklyn/file-activity.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -145,7 +145,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-camel/changelog.html b/integrations/apache-camel/changelog.html
index 5c27cf9..2229f49 100644
--- a/integrations/apache-camel/changelog.html
+++ b/integrations/apache-camel/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 2<br />Total number of files changed: 4</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-camel/dependencies.html b/integrations/apache-camel/dependencies.html
index b0752c7..3d07b03 100644
--- a/integrations/apache-camel/dependencies.html
+++ b/integrations/apache-camel/dependencies.html
@@ -795,7 +795,7 @@
    </tr> 
    <tr class="a"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/integrations/apache-camel/file-activity.html b/integrations/apache-camel/file-activity.html
index aaf21d4..48c20fc 100644
--- a/integrations/apache-camel/file-activity.html
+++ b/integrations/apache-camel/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 2<br />Total number of files changed: 4</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-camel/jacoco/jacoco-sessions.html b/integrations/apache-camel/jacoco/jacoco-sessions.html
index aaeb5b2..11a4693 100644
--- a/integrations/apache-camel/jacoco/jacoco-sessions.html
+++ b/integrations/apache-camel/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/integrations/apache-camel/jacoco/jacoco.xml b/integrations/apache-camel/jacoco/jacoco.xml
index 12dde02..e46f22c 100644
--- a/integrations/apache-camel/jacoco/jacoco.xml
+++ b/integrations/apache-camel/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Integrations: Apache Camel"><sessioninfo id="asf919.gq1.ygridcore.net-371272b" start="1519815285408" dump="1519815288859"/><package name="org/apache/plc4x/camel"><class name="org/apache/plc4x/camel/PLC4XEndpoint"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lorg/apache/camel/Component;)V" line="53"><counter type="INSTRUCTION" missed="0" covered [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Integrations: Apache Camel"><sessioninfo id="asf919.gq1.ygridcore.net-a14519b4" start="1519897045325" dump="1519897049001"/><package name="org/apache/plc4x/camel"><class name="org/apache/plc4x/camel/PLC4XEndpoint"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Lorg/apache/camel/Component;)V" line="53"><counter type="INSTRUCTION" missed="0" covere [...]
\ No newline at end of file
diff --git a/integrations/apache-camel/surefire-report.html b/integrations/apache-camel/surefire-report.html
index cb59757..e25ec9d 100644
--- a/integrations/apache-camel/surefire-report.html
+++ b/integrations/apache-camel/surefire-report.html
@@ -217,7 +217,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>2.989</td> 
+    <td>3.176</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -250,7 +250,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>2.989</td> 
+    <td>3.176</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -281,7 +281,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>1.052</td> 
+     <td>1.196</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.camelConstantsTest"><i class="icon-ok"></i></a></td> 
@@ -291,7 +291,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.051</td> 
+     <td>0.062</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.camelPLC4XProducerTest"><i class="icon-ok"></i></a></td> 
@@ -301,7 +301,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.902</td> 
+     <td>0.894</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.camelPLC4XEndpointTest"><i class="icon-ok"></i></a></td> 
@@ -311,7 +311,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.984</td> 
+     <td>1.024</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -330,7 +330,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XComponentTest.testSimpleRouting"></a>testSimpleRouting</td> 
-     <td>1.025</td> 
+     <td>1.169</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -343,7 +343,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.ConstantsTest.testConstantsNotInstanceable"></a>testConstantsNotInstanceable</td> 
-     <td>0.002</td> 
+     <td>0.004</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -356,27 +356,27 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XProducerTest.doStopBadConnection"></a>doStopBadConnection</td> 
-     <td>0.595</td> 
+     <td>0.571</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XProducerTest.doStop"></a>doStop</td> 
-     <td>0.002</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XProducerTest.process"></a>process</td> 
-     <td>0.292</td> 
+     <td>0.307</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XProducerTest.doStopOpenRequest"></a>doStopOpenRequest</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XProducerTest.process_Async"></a>process_Async</td> 
-     <td>0.01</td> 
+     <td>0.011</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -389,12 +389,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XEndpointTest.isSingleton"></a>isSingleton</td> 
-     <td>0.882</td> 
+     <td>0.926</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.camel.PLC4XEndpointTest.createProducer"></a>createProducer</td> 
-     <td>0.101</td> 
+     <td>0.097</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
diff --git a/integrations/apache-edgent/changelog.html b/integrations/apache-edgent/changelog.html
index eb036f7..ecb61ac 100644
--- a/integrations/apache-edgent/changelog.html
+++ b/integrations/apache-edgent/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 9<br />Total number of files changed: 7</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-edgent/dependencies.html b/integrations/apache-edgent/dependencies.html
index 3f7e419..618d6b0 100644
--- a/integrations/apache-edgent/dependencies.html
+++ b/integrations/apache-edgent/dependencies.html
@@ -787,7 +787,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
@@ -868,7 +868,7 @@
    </tr> 
    <tr class="b"> 
     <td>compile: 6</td> 
-    <td>compile: 457.8 kB</td> 
+    <td>compile: 458.7 kB</td> 
     <td>compile: 453</td> 
     <td>compile: 361</td> 
     <td>compile: 23</td> 
diff --git a/integrations/apache-edgent/file-activity.html b/integrations/apache-edgent/file-activity.html
index 96f570f..50be41f 100644
--- a/integrations/apache-edgent/file-activity.html
+++ b/integrations/apache-edgent/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 9<br />Total number of files changed: 7</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-edgent/jacoco/jacoco-sessions.html b/integrations/apache-edgent/jacoco/jacoco-sessions.html
index 109ac36..7953b9a 100644
--- a/integrations/apache-edgent/jacoco/jacoco-sessions.html
+++ b/integrations/apache-edgent/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/integrations/apache-edgent/jacoco/jacoco.xml b/integrations/apache-edgent/jacoco/jacoco.xml
index cba437f..c3928d9 100644
--- a/integrations/apache-edgent/jacoco/jacoco.xml
+++ b/integrations/apache-edgent/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Integrations: Apache Edgent"><sessioninfo id="asf919.gq1.ygridcore.net-b97981eb" start="1519815309987" dump="1519815310858"/><package name="org/apache/plc4x/edgent"><class name="org/apache/plc4x/edgent/PlcConnectionAdapter$3"><method name="&lt;init&gt;" desc="(Lorg/apache/plc4x/edgent/PlcConnectionAdapter;Lorg/apache/edgent/function/Function;Lorg/apach [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Integrations: Apache Edgent"><sessioninfo id="asf919.gq1.ygridcore.net-f0d2761d" start="1519897076305" dump="1519897077184"/><package name="org/apache/plc4x/edgent"><class name="org/apache/plc4x/edgent/PlcConnectionAdapter$3"><method name="&lt;init&gt;" desc="(Lorg/apache/plc4x/edgent/PlcConnectionAdapter;Lorg/apache/edgent/function/Function;Lorg/apach [...]
\ No newline at end of file
diff --git a/integrations/apache-edgent/license.html b/integrations/apache-edgent/license.html
index b3f9ddb..c4bbd92 100644
--- a/integrations/apache-edgent/license.html
+++ b/integrations/apache-edgent/license.html
@@ -161,211 +161,7 @@
  <div class="section"> 
   <h3 id="Apache_License_Version_20">Apache License, Version 2.0</h3> 
   <a name="Apache_License_Version_2.0"></a> 
-  <div class="source"> 
-   <pre>
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      &quot;control&quot; means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      &quot;Source&quot; form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      &quot;Object&quot; form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      &quot;Work&quot; shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      &quot;Contribution&quot; shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
-
-      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same &quot;printed page&quot; as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
-   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 &quot;AS IS&quot; 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.
-</pre> 
-  </div> 
+  <p>Can't read the url [https://www.apache.org/licenses/LICENSE-2.0.txt] : Read timed out</p> 
  </div> 
 </div>
         </div>
diff --git a/integrations/apache-edgent/surefire-report.html b/integrations/apache-edgent/surefire-report.html
index ad1316d..14a97fb 100644
--- a/integrations/apache-edgent/surefire-report.html
+++ b/integrations/apache-edgent/surefire-report.html
@@ -215,7 +215,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.43</td> 
+    <td>0.435</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -248,7 +248,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.43</td> 
+    <td>0.435</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -279,7 +279,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.38</td> 
+     <td>0.391</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.edgentPlcConnectionAdapterTest"><i class="icon-ok"></i></a></td> 
@@ -289,7 +289,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.05</td> 
+     <td>0.044</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -308,17 +308,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcFunctionsTest.testSupplier"></a>testSupplier</td> 
-     <td>0.284</td> 
+     <td>0.282</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcFunctionsTest.testNewConsumer1"></a>testNewConsumer1</td> 
-     <td>0.005</td> 
+     <td>0.006</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcFunctionsTest.testNewConsumer2"></a>testNewConsumer2</td> 
-     <td>0.02</td> 
+     <td>0.017</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -331,7 +331,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcConnectionAdapterTest.testNewPlcReadRequest"></a>testNewPlcReadRequest</td> 
-     <td>0.005</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -341,7 +341,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcConnectionAdapterTest.testNewSupplierNeg"></a>testNewSupplierNeg</td> 
-     <td>0.017</td> 
+     <td>0.016</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -381,7 +381,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcConnectionAdapterTest.testNewConsumer2Neg"></a>testNewConsumer2Neg</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -391,7 +391,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.edgent.PlcConnectionAdapterTest.testDoubleDataTypeIsInvalid"></a>testDoubleDataTypeIsInvalid</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
diff --git a/integrations/apache-mynewt/changelog.html b/integrations/apache-mynewt/changelog.html
index e866d20..9bf73c2 100644
--- a/integrations/apache-mynewt/changelog.html
+++ b/integrations/apache-mynewt/changelog.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -146,7 +146,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/apache-mynewt/file-activity.html b/integrations/apache-mynewt/file-activity.html
index 5fa702b..8ad82e3 100644
--- a/integrations/apache-mynewt/file-activity.html
+++ b/integrations/apache-mynewt/file-activity.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -145,7 +145,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/changelog.html b/integrations/changelog.html
index 840cb94..1ef549a 100644
--- a/integrations/changelog.html
+++ b/integrations/changelog.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -156,7 +156,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 9<br />Total number of files changed: 11</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/integrations/file-activity.html b/integrations/file-activity.html
index 02e79aa..90c4f58 100644
--- a/integrations/file-activity.html
+++ b/integrations/file-activity.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -155,7 +155,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 9<br />Total number of files changed: 11</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/license.html b/license.html
index 532bac3..24890a1 100644
--- a/license.html
+++ b/license.html
@@ -203,211 +203,7 @@
  <div class="section"> 
   <h3 id="Apache_License_Version_20">Apache License, Version 2.0</h3> 
   <a name="Apache_License_Version_2.0"></a> 
-  <div class="source"> 
-   <pre>
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      &quot;control&quot; means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      &quot;Source&quot; form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      &quot;Object&quot; form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      &quot;Work&quot; shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      &quot;Contribution&quot; shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
-
-      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same &quot;printed page&quot; as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
-   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 &quot;AS IS&quot; 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.
-</pre> 
-  </div> 
+  <p>Can't read the url [https://www.apache.org/licenses/LICENSE-2.0.txt] : Read timed out</p> 
  </div> 
 </div>
         </div>
diff --git a/plc4c/changelog.html b/plc4c/changelog.html
index 9b5911e..d2dbb2c 100644
--- a/plc4c/changelog.html
+++ b/plc4c/changelog.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -146,7 +146,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4c/file-activity.html b/plc4c/file-activity.html
index f56c601..f982b28 100644
--- a/plc4c/file-activity.html
+++ b/plc4c/file-activity.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -145,7 +145,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/changelog.html b/plc4j/changelog.html
index 1ec8888..67ac6ef 100644
--- a/plc4j/changelog.html
+++ b/plc4j/changelog.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -156,8 +156,8 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 122<br />Total number of files changed: 241</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 124<br />Total number of files changed: 244</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -168,6 +168,16 @@
    </thead> 
    <tbody> 
     <tr class="b"> 
+     <td>2018-03-01 10:34:06</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java?rev=f01125e3dcb6db298e1c83a8d0e492261667f411&amp;content-type=text/vnd.viewcvs-markup">v f01125e3dc [...]
+    </tr> 
+    <tr class="a"> 
+     <td>2018-03-01 09:38:01</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java?rev=ea6c83d93dabf3f30a5c710590758ff598f54f0d&amp;content-type=text/vnd.viewcvs-markup"> [...]
+    </tr> 
+    <tr class="b"> 
      <td>2018-02-28 11:27:25</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java">plc4j/core/src/test/java/org/apache/plc4x/java/<b>PlcDriverManagerTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java?rev=3d3a7565e3eab7df540f6a3e5e53413e2a11de19&amp;content-type=text/vnd.viewcvs-markup">v 3d3a7565e3eab7df540 [...]
diff --git a/plc4j/file-activity.html b/plc4j/file-activity.html
index 00a01fd..54abdb3 100644
--- a/plc4j/file-activity.html
+++ b/plc4j/file-activity.html
@@ -138,7 +138,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -155,8 +155,8 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 122<br />Total number of files changed: 241</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 124<br />Total number of files changed: 244</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -510,33 +510,41 @@
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>APIMessageTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/<b>CalculatedAMSTCPHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/<b>IsotpTypeTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/<b>CalculatedAMSTCPHeader.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/IsotpTypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/types/<b>IsotpTypeTests.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/CommandTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/<b>CommandTypesFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> </td> 
      <td>4</td> 
     </tr> 
     <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/CommandTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/<b>CommandTypesFactoryMethodTest.java</b></a> </td> 
+     <td>4</td> 
+    </tr> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/GenericTypesFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>GenericTypesFactoryMethodTest.java</b></a> </td> 
      <td>4</td> 
     </tr> 
+    <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
+     <td>3</td> 
+    </tr> 
     <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocket.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocket.java</b></a> </td> 
      <td>3</td> 
@@ -550,7 +558,7 @@
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>APIMessageTests.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
@@ -558,48 +566,48 @@
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java">plc4j/core/src/test/java/org/apache/plc4x/java/<b>PlcDriverManagerTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/core/src/test/java/org/apache/plc4x/java/PlcDriverManagerTest.java">plc4j/core/src/test/java/org/apache/plc4x/java/<b>PlcDriverManagerTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
-     <td>2</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td>3</td> 
     </tr> 
     <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSCommandType.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSCommandType.java</b></a> </td> 
@@ -638,427 +646,419 @@
      <td>2</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
-     <td>2</td> 
-    </tr> 
-    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequestTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteRequestTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/IsoTPMessageTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/<b>IsoTPMessageTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/ParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/<b>ParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/TsapParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/params/<b>TsapParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/S7StateTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/netty/events/<b>S7StateTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/S7AddressTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/model/<b>S7AddressTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/Plc4XS7ProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7ProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/S7ProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/<b>S7ProtocolTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/S7MessageTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/messages/<b>S7MessageTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/S7ParameterTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/params/<b>S7ParameterTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/S7PayloadTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/payloads/<b>S7PayloadTests.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/pom.xml">plc4j/utils/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/test-utils/pom.xml">plc4j/utils/test-utils/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml">plc4j/protocols/driver-base/<b>pom.xml</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/AbstractPlcConnection.java">plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/<b>AbstractPlcConnection.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/TcpSocketChannelFactory.java">plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/<b>TcpSocketChannelFactory.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/LengthSupplier.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>LengthSupplier.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSErrorTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSNetIdTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSNetIdTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/CommandTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>CommandTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/StateTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>StateTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/model/ADSAddressTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/model/<b>ADSAddressTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/S7PlcDriver.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/<b>S7PlcDriver.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianEncoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianEncoder.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianDecoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianDecoder.java</b></a> </td> 
-     <td>1</td> 
-    </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianEncoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianEncoder.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianDecoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianDecoder.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/BigEndianEncoder.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/util/<b>BigEndianEncoder.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcTestConsole.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocketException.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocketException.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcTestConsole.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketAddress.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketAddress.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/RawSocketException.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/<b>RawSocketException.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/wireshark-utils/pom.xml">plc4j/utils/wireshark-utils/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketAddress.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketAddress.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/wireshark-utils/pom.xml">plc4j/utils/wireshark-utils/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>ParameterError.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/ParameterError.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>ParameterError.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannel.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelConfig.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelConfig.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannel.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelOption.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelOption.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelConfig.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelConfig.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>Junit5Backport.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannelOption.java">plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/<b>RawSocketChannelOption.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/<b>ADSData.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/Junit5Backport.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>Junit5Backport.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/<b>ADSData.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSAddDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSAddDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeleteDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeleteDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSDeviceNotificationResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadDeviceInfoResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadDeviceInfoResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadStateResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadStateResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSReadWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSReadWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteRequest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteControlResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteControlResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ADSState.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/ADSWriteResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/<b>ADSWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsNotificationSample.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsNotificationSample.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ADSState.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsStampHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsStampHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsNotificationSample.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsNotificationSample.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/CycleTime.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>CycleTime.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/AdsStampHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>AdsStampHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Data.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/CycleTime.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>CycleTime.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Device.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Data.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/DeviceState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>DeviceState.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Device.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexGroup.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexGroup.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/DeviceState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>DeviceState.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexOffset.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexOffset.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexGroup.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexGroup.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/InvalidationNotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>InvalidationNotificationHandle.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/IndexOffset.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>IndexOffset.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Length.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/InvalidationNotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>InvalidationNotificationHandle.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MajorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MajorVersion.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Length.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MaxDelay.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MaxDelay.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MajorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MajorVersion.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MinorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MinorVersion.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MaxDelay.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MaxDelay.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/NotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>NotificationHandle.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/MinorVersion.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>MinorVersion.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ReadLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ReadLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/NotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>NotificationHandle.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Result.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Result.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/ReadLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>ReadLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/SampleSize.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>SampleSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Result.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Result.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Samples.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Samples.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/SampleSize.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>SampleSize.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Stamps.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Stamps.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Samples.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Samples.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TimeStamp.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Stamps.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Stamps.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TransmissionMode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TransmissionMode.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TimeStamp.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Version.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Version.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/TransmissionMode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>TransmissionMode.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/WriteLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>WriteLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/Version.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>Version.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>ADSData.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/WriteLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/commands/types/<b>WriteLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/ADSData.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>ADSData.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPHeader.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPPaket.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPPaket.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPHeader.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSError.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSError.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/AMSTCPPaket.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/<b>AMSTCPPaket.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSNetId.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSNetId.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSError.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSError.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSPort.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSNetId.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSNetId.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Command.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Command.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>AMSPort.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Data.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Command.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Command.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/DataLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>DataLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Data.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Invoke.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Invoke.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/DataLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>DataLength.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Length.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Invoke.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Invoke.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/State.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>State.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>Length.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteReadable.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteReadable.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/State.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/generic/types/<b>State.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteValue.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteReadable.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteReadable.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/iso-tp-connect-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>iso-tp-connect-response.pcap</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/util/<b>ByteValue.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-setup-communication-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>s7-setup-communication-response.pcap</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/iso-tp-connect-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>iso-tp-connect-response.pcap</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver">plc4j/protocols/ads/src/main/resources/META-INF/services/<b>org.apache.plc4x.java.api.PlcDriver</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/s7-setup-communication-response.pcap">plc4j/protocols/s7/src/test/resources/org/apache/plc4x/java/s7/connection/<b>s7-setup-communication-response.pcap</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver">plc4j/protocols/ads/src/main/resources/META-INF/services/<b>org.apache.plc4x.java.api.PlcDriver</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
@@ -1122,10 +1122,22 @@
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLength.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/<b>ReadResponseItem.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/TcpLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLength.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/TcpLengthTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>TcpLengthTest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
diff --git a/plc4j/plc4j-api/apidocs/index-all.html b/plc4j/plc4j-api/apidocs/index-all.html
index 9b56730..6cba4e5 100644
--- a/plc4j/plc4j-api/apidocs/index-all.html
+++ b/plc4j/plc4j-api/apidocs/index-all.html
@@ -258,7 +258,7 @@
 </a>
 <h2 class="title">O</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-">of(PlcReadResponse)</a></span> - Static method in class org.apache.plc4x.java.api.messages.specific.<a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-java.lang.Class-">of(PlcReadResponse, Class&lt;T&gt;)</a></span> - Static method in class org.apache.plc4x.java.api.messages.specific.<a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.html#of-org.apache.plc4x.java.api.messages.PlcWriteResponse-">of(PlcWriteResponse)</a></span> - Static method in class org.apache.plc4x.java.api.messages.specific.<a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcWriteResponse</a></dt>
 <dd>&nbsp;</dd>
@@ -449,6 +449,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/items/ReadResponseItem.html#ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-java.util.List-">ReadResponseItem(ReadRequestItem&lt;T&gt;, ResponseCode, List&lt;T&gt;)</a></span> - Constructor for class org.apache.plc4x.java.api.messages.items.<a href="org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="class in org.apache.plc [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/items/ReadResponseItem.html#ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-T...-">ReadResponseItem(ReadRequestItem&lt;T&gt;, ResponseCode, T...)</a></span> - Constructor for class org.apache.plc4x.java.api.messages.items.<a href="org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="class in org.apache.plc4x.java.api.message [...]
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/plc4x/java/api/messages/items/RequestItem.html" title="class in org.apache.plc4x.java.api.messages.items"><span class="typeNameLink">RequestItem</span></a>&lt;<a href="org/apache/plc4x/java/api/messages/items/RequestItem.html" title="type parameter in RequestItem">DATA_TYPE</a>&gt; - Class in <a href="org/apache/plc4x/java/api/messages/items/package-summary.html">org.apache.plc4x.java.api.messages.items</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/items/RequestItem.html#RequestItem-java.lang.Class-org.apache.plc4x.java.api.model.Address-">RequestItem(Class&lt;DATA_TYPE&gt;, Address)</a></span> - Constructor for class org.apache.plc4x.java.api.messages.items.<a href="org/apache/plc4x/java/api/messages/items/RequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">RequestItem</a></dt>
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/class-use/PlcReadResponse.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/class-use/PlcReadResponse.html
index 11b1181..1414569 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/class-use/PlcReadResponse.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/class-use/PlcReadResponse.html
@@ -141,7 +141,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TypeSafePlcReadResponse.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-">of</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TypeSafePlcReadResponse.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-java.lang.Class-">of</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse,
+  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
index d99f76c..08f5c0d 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
@@ -138,6 +138,11 @@ extends <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/R
                 <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;values)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html#ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-T...-">ReadResponseItem</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">ReadRequestItem</a>&lt;<a href="../../.. [...]
+                <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
+                <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>...&nbsp;values)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -189,7 +194,7 @@ extends <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/R
 <a name="ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-java.util.List-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>ReadResponseItem</h4>
 <pre>public&nbsp;ReadResponseItem(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">ReadRequestItem</a>&lt;<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;requestItem,
@@ -197,6 +202,20 @@ extends <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/R
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;values)</pre>
 </li>
 </ul>
+<a name="ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-java.lang.Object:A-">
+<!--   -->
+</a><a name="ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-T...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReadResponseItem</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html?is-external=true" title="class or interface in java.lang">@SafeVarargs</a>
+public&nbsp;ReadResponseItem(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">ReadRequestItem</a>&lt;<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;requestItem,
+                                     <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
+                                     <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>...&nbsp;values)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/class-use/ReadRequestItem.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/class-use/ReadRequestItem.html
index de3a17c..8791dd3 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/class-use/ReadRequestItem.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/items/class-use/ReadRequestItem.html
@@ -158,6 +158,11 @@
                 <a href="../../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;values)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html#ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-T...-">ReadResponseItem</a></span>(<a href="../../../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">ReadRequestItem</a>&lt;<a href=". [...]
+                <a href="../../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
+                <a href="../../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>...&nbsp;values)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
index 04f10af..6015d5a 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
@@ -179,7 +179,8 @@ extends <a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcRead
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-">of</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-java.lang.Class-">of</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse,
+  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -284,13 +285,14 @@ extends <a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcRead
 </dl>
 </li>
 </ul>
-<a name="of-org.apache.plc4x.java.api.messages.PlcReadResponse-">
+<a name="of-org.apache.plc4x.java.api.messages.PlcReadResponse-java.lang.Class-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>of</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a>&lt;T&gt;&nbsp;of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse)</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a>&lt;T&gt;&nbsp;of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse,
+                                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</pre>
 </li>
 </ul>
 </li>
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/class-use/TypeSafePlcReadResponse.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/class-use/TypeSafePlcReadResponse.html
index 6891f2f..14ef636 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/class-use/TypeSafePlcReadResponse.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/messages/specific/class-use/TypeSafePlcReadResponse.html
@@ -128,7 +128,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponse</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TypeSafePlcReadResponse.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-">of</a></span>(<a href="../../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TypeSafePlcReadResponse.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html#of-org.apache.plc4x.java.api.messages.PlcReadResponse-java.lang.Class-">of</a></span>(<a href="../../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html" title="class in org.apache.plc4x.java.api.messages">PlcReadResponse</a>&nbsp;plcReadResponse,
+  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/types/class-use/ResponseCode.html b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/types/class-use/ResponseCode.html
index f6568a7..ce7df20 100644
--- a/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/types/class-use/ResponseCode.html
+++ b/plc4j/plc4j-api/apidocs/org/apache/plc4x/java/api/types/class-use/ResponseCode.html
@@ -124,10 +124,15 @@
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>&gt;&nbsp;values)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html#ReadResponseItem-org.apache.plc4x.java.api.messages.items.ReadRequestItem-org.apache.plc4x.java.api.types.ResponseCode-T...-">ReadResponseItem</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">ReadRequestItem</a>&lt;<a href="../../. [...]
+                <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode,
+                <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html" title="type parameter in ReadResponseItem">T</a>...&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ResponseItem.html#ResponseItem-REQUEST_ITEM-org.apache.plc4x.java.api.types.ResponseCode-">ResponseItem</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ResponseItem.html" title="type parameter in ResponseItem">REQUEST_ITEM</a>&nbsp;requestItem,
             <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/items/WriteResponseItem.html#WriteResponseItem-org.apache.plc4x.java.api.messages.items.WriteRequestItem-org.apache.plc4x.java.api.types.ResponseCode-">WriteResponseItem</a></span>(<a href="../../../../../../../org/apache/plc4x/java/api/messages/items/WriteRequestItem.html" title="class in org.apache.plc4x.java.api.messages.items">WriteRequestItem</a>&lt;<a href="../../ [...]
                  <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html" title="enum in org.apache.plc4x.java.api.types">ResponseCode</a>&nbsp;responseCode)</code>&nbsp;</td>
 </tr>
diff --git a/plc4j/plc4j-api/changelog.html b/plc4j/plc4j-api/changelog.html
index 8a4e80a..0e30f85 100644
--- a/plc4j/plc4j-api/changelog.html
+++ b/plc4j/plc4j-api/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,8 +152,8 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 6<br />Total number of files changed: 19</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 8<br />Total number of files changed: 22</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -164,6 +164,16 @@
    </thead> 
    <tbody> 
     <tr class="b"> 
+     <td>2018-03-01 10:34:06</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java?rev=f01125e3dcb6db298e1c83a8d0e492261667f411&amp;content-type=text/vnd.viewcvs-markup">v f01125e3dc [...]
+    </tr> 
+    <tr class="a"> 
+     <td>2018-03-01 09:38:01</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java?rev=ea6c83d93dabf3f30a5c710590758ff598f54f0d&amp;content-type=text/vnd.viewcvs-markup"> [...]
+    </tr> 
+    <tr class="b"> 
      <td>2018-02-26 17:18:47</td> 
      <td>Dale LaBossiere &lt;dlaboss@us.ibm.com&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java?rev=1d983949010427e28aa583ad30af2dbcef6d5f03&amp;content-type=text/vnd.viewcvs-markup">v 1d98394901042 [...]
diff --git a/plc4j/plc4j-api/file-activity.html b/plc4j/plc4j-api/file-activity.html
index 965c15c..b078b70 100644
--- a/plc4j/plc4j-api/file-activity.html
+++ b/plc4j/plc4j-api/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,8 +151,8 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 6<br />Total number of files changed: 19</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 8<br />Total number of files changed: 22</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -163,12 +163,20 @@
    <tbody> 
     <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/APIMessageTests.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>APIMessageTests.java</b></a> </td> 
-     <td>3</td> 
+     <td>4</td> 
     </tr> 
     <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
+     <td>3</td> 
+    </tr> 
+    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/PlcResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/<b>PlcResponseTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
+     <td>3</td> 
+    </tr> 
     <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/authentication/PlcUsernamePasswordAuthenticationTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/authentication/<b>PlcUsernamePasswordAuthenticationTest.java</b></a> </td> 
      <td>2</td> 
@@ -190,31 +198,23 @@
      <td>2</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponseTest.java</b></a> </td> 
-     <td>2</td> 
-    </tr> 
-    <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteRequestTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteRequestTest.java</b></a> </td> 
      <td>2</td> 
     </tr> 
-    <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
-     <td>1</td> 
-    </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcRequest.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcRequest.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/<b>PlcResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcWriteResponse.java</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/PlcReaderTest.java">plc4j/api/src/test/java/org/apache/plc4x/java/api/connection/<b>PlcReaderTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/pom.xml">plc4j/api/<b>pom.xml</b></a> </td> 
      <td>1</td> 
     </tr> 
     <tr class="b"> 
@@ -237,6 +237,18 @@
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcConnection.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcConnection.java</b></a> </td> 
      <td>1</td> 
     </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/PlcReader.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/connection/<b>PlcReader.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="b"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/ReadResponseItem.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/items/<b>ReadResponseItem.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
+    <tr class="a"> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.java">plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/specific/<b>TypeSafePlcReadResponse.java</b></a> </td> 
+     <td>1</td> 
+    </tr> 
    </tbody> 
   </table> 
  </div> 
diff --git a/plc4j/plc4j-api/jacoco/index.html b/plc4j/plc4j-api/jacoco/index.html
index b33a97f..f5c7037 100644
--- a/plc4j/plc4j-api/jacoco/index.html
+++ b/plc4j/plc4j-api/jacoco/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>PLC4J: API</title><script type="text/javascript" src="jaco [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>PLC4J: API</title><script type="text/javascript" src="jaco [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/jacoco-sessions.html b/plc4j/plc4j-api/jacoco/jacoco-sessions.html
index d76ef3a..a7cdc2e 100644
--- a/plc4j/plc4j-api/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-api/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/jacoco.csv b/plc4j/plc4j-api/jacoco/jacoco.csv
index 717d08a..847d3d2 100644
--- a/plc4j/plc4j-api/jacoco/jacoco.csv
+++ b/plc4j/plc4j-api/jacoco/jacoco.csv
@@ -1,11 +1,11 @@
 GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
-PLC4J: API,org.apache.plc4x.java.api.connection,PlcReader,0,10,0,0,0,2,0,1,0,1
+PLC4J: API,org.apache.plc4x.java.api.connection,PlcReader,0,16,0,0,0,3,0,2,0,2
 PLC4J: API,org.apache.plc4x.java.api.connection,AbstractPlcConnection,30,0,6,0,10,0,7,0,4,0
 PLC4J: API,org.apache.plc4x.java.api.connection,PlcWriter,0,10,0,0,0,2,0,1,0,1
 PLC4J: API,org.apache.plc4x.java.api.messages.specific,TypeSafePlcWriteRequest,0,127,0,6,0,28,0,11,0,8
 PLC4J: API,org.apache.plc4x.java.api.messages.specific,TypeSafePlcWriteResponse,16,82,3,9,1,21,3,9,0,6
 PLC4J: API,org.apache.plc4x.java.api.messages.specific,TypeSafePlcReadRequest,0,145,0,6,0,32,0,12,0,9
-PLC4J: API,org.apache.plc4x.java.api.messages.specific,TypeSafePlcReadResponse,4,187,2,18,2,37,2,15,0,7
+PLC4J: API,org.apache.plc4x.java.api.messages.specific,TypeSafePlcReadResponse,44,175,4,12,6,35,3,12,0,7
 PLC4J: API,org.apache.plc4x.java.api.messages,PlcRequestContainer,23,0,0,0,8,0,3,0,3,0
 PLC4J: API,org.apache.plc4x.java.api.messages,PlcResponse,0,87,0,8,0,20,0,14,0,10
 PLC4J: API,org.apache.plc4x.java.api.messages,PlcRequest.Builder,0,25,0,4,0,8,0,4,0,2
@@ -25,6 +25,6 @@ PLC4J: API,org.apache.plc4x.java.api.messages.items,WriteRequestItem,0,26,0,0,0,
 PLC4J: API,org.apache.plc4x.java.api.messages.items,ReadRequestItem,0,19,0,0,0,7,0,3,0,3
 PLC4J: API,org.apache.plc4x.java.api.messages.items,RequestItem,0,23,0,0,0,8,0,3,0,3
 PLC4J: API,org.apache.plc4x.java.api.messages.items,WriteResponseItem,0,5,0,0,0,2,0,1,0,1
-PLC4J: API,org.apache.plc4x.java.api.messages.items,ReadResponseItem,0,15,0,0,0,5,0,2,0,2
+PLC4J: API,org.apache.plc4x.java.api.messages.items,ReadResponseItem,0,55,0,4,0,11,0,5,0,3
 PLC4J: API,org.apache.plc4x.java.api.messages.items,ResponseItem,0,23,0,0,0,8,0,3,0,3
 PLC4J: API,org.apache.plc4x.java.api.types,ResponseCode,0,49,0,0,0,5,0,2,0,2
diff --git a/plc4j/plc4j-api/jacoco/jacoco.xml b/plc4j/plc4j-api/jacoco/jacoco.xml
index 234e6da..f78df14 100644
--- a/plc4j/plc4j-api/jacoco/jacoco.xml
+++ b/plc4j/plc4j-api/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: API"><sessioninfo id="asf919.gq1.ygridcore.net-2c46fc69" start="1519815173650" dump="1519815175727"/><package name="org/apache/plc4x/java/api/connection"><class name="org/apache/plc4x/java/api/connection/PlcReader"><method name="read" desc="(Lorg/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest;)Ljava/util/concurrent/CompletableFut [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: API"><sessioninfo id="asf919.gq1.ygridcore.net-2f9a3cfa" start="1519896932432" dump="1519896934528"/><package name="org/apache/plc4x/java/api/connection"><class name="org/apache/plc4x/java/api/connection/PlcReader"><method name="read" desc="(Lorg/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest;)Ljava/util/concurrent/CompletableFut [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.html
index b4888cb..b34d0dd 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PlcReader</title><script type="text/javascript" src= [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PlcReader</title><script type="text/javascript" src= [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.java.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.java.html
index bf93147..5130aa5 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.java.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/PlcReader.java.html
@@ -49,7 +49,8 @@ public interface PlcReader {
      */
     default &lt;T&gt; CompletableFuture&lt;TypeSafePlcReadResponse&lt;T&gt;&gt; read(TypeSafePlcReadRequest&lt;T&gt; readRequest) {
 <span class="fc" id="L51">        Objects.requireNonNull(readRequest, &quot;Read request must not be null&quot;);</span>
-<span class="fc" id="L52">        return read((PlcReadRequest) readRequest).thenApply(TypeSafePlcReadResponse::of);</span>
+<span class="fc" id="L52">        return read((PlcReadRequest) readRequest)</span>
+<span class="fc" id="L53">            .thenApply(readResponse -&gt; TypeSafePlcReadResponse.of(readResponse, readRequest.getDataType()));</span>
     }
 
 }
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.html
index bc8fe00..507756b 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.connection</title><script  [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.connection</title><script  [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.source.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.source.html
index be50801..80fa399 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.source.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.connection/index.source.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.connection</title><script  [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.connection</title><script  [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.html
index b668ca3..a5ff198 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReadResponseItem</title><script type="text/javascrip [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ReadResponseItem</title><script type="text/javascrip [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.java.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.java.html
index da815d7..5556460 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.java.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/ReadResponseItem.java.html
@@ -20,6 +20,7 @@ package org.apache.plc4x.java.api.messages.items;
 
 import org.apache.plc4x.java.api.types.ResponseCode;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
@@ -28,13 +29,23 @@ public class ReadResponseItem&lt;T&gt; extends ResponseItem&lt;ReadRequestItem&l
     private final List&lt;T&gt; values;
 
     public ReadResponseItem(ReadRequestItem&lt;T&gt; requestItem, ResponseCode responseCode, List&lt;T&gt; values) {
-<span class="fc" id="L31">        super(requestItem, responseCode);</span>
-<span class="fc" id="L32">        Objects.requireNonNull(values, &quot;Values must not be null&quot;);</span>
-<span class="fc" id="L33">        this.values = values;</span>
-<span class="fc" id="L34">    }</span>
+<span class="fc" id="L32">        super(requestItem, responseCode);</span>
+<span class="fc" id="L33">        Objects.requireNonNull(values, &quot;Values must not be null&quot;);</span>
+<span class="fc bfc" id="L34" title="All 2 branches covered.">        for (T value : values) {</span>
+<span class="fc bfc" id="L35" title="All 2 branches covered.">            if (!requestItem.getDatatype().isAssignableFrom(value.getClass())) {</span>
+<span class="fc" id="L36">                throw new IllegalArgumentException(&quot;Datatype of &quot; + value + &quot; doesn't macht required datatype of &quot; + requestItem.getDatatype());</span>
+            }
+<span class="fc" id="L38">        }</span>
+<span class="fc" id="L39">        this.values = values;</span>
+<span class="fc" id="L40">    }</span>
+
+    @SafeVarargs
+    public ReadResponseItem(ReadRequestItem&lt;T&gt; requestItem, ResponseCode responseCode, T... values) {
+<span class="fc" id="L44">        this(requestItem, responseCode, Arrays.asList(values));</span>
+<span class="fc" id="L45">    }</span>
 
     public List&lt;T&gt; getValues() {
-<span class="fc" id="L37">        return values;</span>
+<span class="fc" id="L48">        return values;</span>
     }
 
 }
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.html
index c31d7cf..afc9029 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.items</title><scr [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.items</title><scr [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.source.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.source.html
index 6f4b027..365c59a 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.source.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.items/index.source.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.items</title><scr [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.items</title><scr [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.html
index b1a26d7..bb1433a 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>TypeSafePlcReadResponse</title><script type="text/ja [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>TypeSafePlcReadResponse</title><script type="text/ja [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.java.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.java.html
index 950d2db..b5c2a08 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.java.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/TypeSafePlcReadResponse.java.html
@@ -59,42 +59,45 @@ public class TypeSafePlcReadResponse&lt;T&gt; extends PlcReadResponse {
 <span class="fc" id="L59">        return (Optional&lt;ReadResponseItem&lt;T&gt;&gt;) super.getResponseItem();</span>
     }
 
-    @SuppressWarnings(&quot;unchecked&quot;)
-    public static &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(PlcReadResponse plcReadResponse) {
-<span class="pc bpc" id="L64" title="1 of 2 branches missed.">        if (plcReadResponse instanceof TypeSafePlcReadResponse) {</span>
-<span class="nc" id="L65">            return (TypeSafePlcReadResponse) plcReadResponse;</span>
-        }
-<span class="fc bfc" id="L67" title="All 2 branches covered.">        if (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {</span>
-<span class="fc" id="L68">            return new TypeSafePlcReadResponse((TypeSafePlcReadRequest) plcReadResponse.getRequest(), plcReadResponse.getResponseItems());</span>
-        }
-<span class="fc" id="L70">        List&lt;? extends ReadResponseItem&lt;?&gt;&gt; responseItems = plcReadResponse.getResponseItems();</span>
-<span class="fc" id="L71">        Objects.requireNonNull(responseItems, &quot;Response items on &quot; + plcReadResponse + &quot; must not be null&quot;);</span>
-<span class="fc" id="L72">        Class type = null;</span>
-<span class="fc bfc" id="L73" title="All 2 branches covered.">        for (ReadResponseItem&lt;?&gt; responseItem : responseItems) {</span>
-<span class="pc bpc" id="L74" title="1 of 2 branches missed.">            if (!responseItem.getValues().isEmpty()) {</span>
-<span class="fc" id="L75">                type = responseItem.getValues().get(0).getClass();</span>
-<span class="fc" id="L76">                break;</span>
+    public static &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(PlcReadResponse plcReadResponse, Class&lt;T&gt; clazz) {
+<span class="fc" id="L63">        Objects.requireNonNull(plcReadResponse, &quot;PlcReadResponse must not be null&quot;);</span>
+<span class="fc" id="L64">        Objects.requireNonNull(clazz, &quot;Class must not be null&quot;);</span>
+<span class="pc bpc" id="L65" title="1 of 2 branches missed.">        if (plcReadResponse instanceof TypeSafePlcReadResponse) {</span>
+            @SuppressWarnings(&quot;unchecked&quot;)
+<span class="nc" id="L67">            TypeSafePlcReadResponse&lt;T&gt; typeSafePlcReadResponse = (TypeSafePlcReadResponse&lt;T&gt;) plcReadResponse;</span>
+<span class="nc" id="L68">            Class type = typeSafePlcReadResponse.getRequest().getDataType();</span>
+<span class="nc bnc" id="L69" title="All 2 branches missed.">            if (type != clazz) {</span>
+<span class="nc" id="L70">                throw new IllegalArgumentException(&quot;Expected type &quot; + clazz + &quot; doesn't match found type &quot; + type);</span>
             }
-<span class="nc" id="L78">        }</span>
-<span class="fc bfc" id="L79" title="All 2 branches covered.">        if (type != null) {</span>
-<span class="fc bfc" id="L80" title="All 2 branches covered.">            for (ReadResponseItem&lt;?&gt; responseItem : responseItems) {</span>
-<span class="fc" id="L81">                checkList(responseItem.getValues(), type);</span>
-<span class="fc" id="L82">            }</span>
+<span class="nc" id="L72">            return typeSafePlcReadResponse;</span>
         }
-<span class="fc bfc" id="L84" title="All 2 branches covered.">        if (type == null) {</span>
-<span class="fc" id="L85">            type = Object.class;</span>
+        @SuppressWarnings(&quot;unchecked&quot;)
+<span class="fc" id="L75">        List&lt;ReadResponseItem&lt;T&gt;&gt; responseItems = (List&lt;ReadResponseItem&lt;T&gt;&gt;) plcReadResponse.getResponseItems();</span>
+<span class="fc" id="L76">        Objects.requireNonNull(responseItems, &quot;Response items on &quot; + plcReadResponse + &quot; must not be null&quot;);</span>
+<span class="fc bfc" id="L77" title="All 2 branches covered.">        if (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {</span>
+            @SuppressWarnings(&quot;unchecked&quot;)
+<span class="fc" id="L79">            TypeSafePlcReadRequest&lt;T&gt; typeSafePlcReadRequest = (TypeSafePlcReadRequest&lt;T&gt;) plcReadResponse.getRequest();</span>
+<span class="fc" id="L80">            Class type = typeSafePlcReadRequest.getDataType();</span>
+<span class="pc bpc" id="L81" title="1 of 2 branches missed.">            if (type != clazz) {</span>
+<span class="nc" id="L82">                throw new IllegalArgumentException(&quot;Expected type &quot; + clazz + &quot; doesn't match found type &quot; + type);</span>
+            }
+<span class="fc" id="L84">            return new TypeSafePlcReadResponse&lt;&gt;(typeSafePlcReadRequest, responseItems);</span>
         }
-<span class="fc" id="L87">        return new TypeSafePlcReadResponse(new TypeSafePlcReadRequest(type, plcReadResponse.getRequest()), responseItems);</span>
+<span class="fc bfc" id="L86" title="All 2 branches covered.">        for (ReadResponseItem&lt;?&gt; responseItem : responseItems) {</span>
+<span class="fc" id="L87">            checkList(responseItem.getValues(), clazz);</span>
+<span class="fc" id="L88">        }</span>
+<span class="fc" id="L89">        TypeSafePlcReadRequest&lt;T&gt; request = new TypeSafePlcReadRequest&lt;&gt;(clazz, plcReadResponse.getRequest());</span>
+<span class="fc" id="L90">        return new TypeSafePlcReadResponse&lt;&gt;(request, responseItems);</span>
     }
 
     private static void checkList(List&lt;?&gt; list, Class&lt;?&gt; type) {
-<span class="fc" id="L91">        Objects.requireNonNull(list, &quot;List must not be null&quot;);</span>
-<span class="fc" id="L92">        Objects.requireNonNull(type, &quot;Type must not be null&quot;);</span>
-<span class="fc bfc" id="L93" title="All 2 branches covered.">        for (Object o : list) {</span>
-<span class="fc bfc" id="L94" title="All 2 branches covered.">            if (!type.isAssignableFrom(o.getClass())) {</span>
-<span class="fc" id="L95">                throw new IllegalArgumentException(&quot;Unexpected data type &quot; + o.getClass() + &quot; on readRequestItem. Expected &quot; + type);</span>
+<span class="fc" id="L94">        Objects.requireNonNull(list, &quot;List must not be null&quot;);</span>
+<span class="fc" id="L95">        Objects.requireNonNull(type, &quot;Type must not be null&quot;);</span>
+<span class="fc bfc" id="L96" title="All 2 branches covered.">        for (Object o : list) {</span>
+<span class="fc bfc" id="L97" title="All 2 branches covered.">            if (!type.isAssignableFrom(o.getClass())) {</span>
+<span class="fc" id="L98">                throw new IllegalArgumentException(&quot;Unexpected data type &quot; + o.getClass() + &quot; on readRequestItem. Expected &quot; + type);</span>
             }
-<span class="fc" id="L97">        }</span>
-<span class="fc" id="L98">    }</span>
+<span class="fc" id="L100">        }</span>
+<span class="fc" id="L101">    }</span>
 }
 </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.0.201801022044</span></div></body></html>
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.html
index 016dc13..ee0a05d 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.specific</title>< [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.specific</title>< [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.source.html b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.source.html
index 905103c..f3bc182 100644
--- a/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.source.html
+++ b/plc4j/plc4j-api/jacoco/org.apache.plc4x.java.api.messages.specific/index.source.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.specific</title>< [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.api.messages.specific</title>< [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-api/surefire-report.html b/plc4j/plc4j-api/surefire-report.html
index a41bba2..af9f157 100644
--- a/plc4j/plc4j-api/surefire-report.html
+++ b/plc4j/plc4j-api/surefire-report.html
@@ -225,12 +225,12 @@ function toggleDisplay(elementId) {
   </thead> 
   <tbody> 
    <tr class="b"> 
-    <td>64</td> 
+    <td>66</td> 
     <td>0</td> 
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>1.607</td> 
+    <td>1.671</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -258,21 +258,21 @@ function toggleDisplay(elementId) {
   <tbody> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.api.connection">org.apache.plc4x.java.api.connection</a></td> 
-    <td>2</td> 
+    <td>3</td> 
     <td>0</td> 
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.008</td> 
+    <td>0.013</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.api.messages.specific">org.apache.plc4x.java.api.messages.specific</a></td> 
-    <td>20</td> 
+    <td>21</td> 
     <td>0</td> 
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.351</td> 
+    <td>0.373</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.api.authentication">org.apache.plc4x.java.api.authentication</a></td> 
@@ -281,7 +281,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0</td> 
+    <td>0.001</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.api.messages">org.apache.plc4x.java.api.messages</a></td> 
@@ -290,7 +290,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>1.248</td> 
+    <td>1.284</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -326,12 +326,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.connectionPlcReaderTest"><i class="icon-ok"></i></a></td> 
      <td><a href="#org.apache.plc4x.java.api.connectionPlcReaderTest">PlcReaderTest</a></td> 
-     <td>1</td> 
+     <td>2</td> 
      <td>0</td> 
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.006</td> 
+     <td>0.011</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -361,7 +361,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.003</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.messages.specificTypeSafePlcReadRequestTest"><i class="icon-ok"></i></a></td> 
@@ -381,17 +381,17 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.222</td> 
+     <td>0.229</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.messages.specificTypeSafePlcReadResponseTest"><i class="icon-ok"></i></a></td> 
      <td><a href="#org.apache.plc4x.java.api.messages.specificTypeSafePlcReadResponseTest">TypeSafePlcReadResponseTest</a></td> 
-     <td>5</td> 
+     <td>6</td> 
      <td>0</td> 
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.124</td> 
+     <td>0.138</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -421,7 +421,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -451,7 +451,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.021</td> 
+     <td>0.024</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.messagesPlcWriteRequestTest"><i class="icon-ok"></i></a></td> 
@@ -461,7 +461,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.api.messagesPlcReadRequestTest"><i class="icon-ok"></i></a></td> 
@@ -471,7 +471,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.76</td> 
+     <td>0.778</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.messagesPlcReadResponseTest"><i class="icon-ok"></i></a></td> 
@@ -481,7 +481,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.136</td> 
+     <td>0.12</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.api.messagesAPIMessageTests"><i class="icon-ok"></i></a></td> 
@@ -491,7 +491,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.016</td> 
+     <td>0.018</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.api.messagesPlcWriteResponseTest"><i class="icon-ok"></i></a></td> 
@@ -501,7 +501,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.245</td> 
+     <td>0.267</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.api.messagesPlcResponseTest"><i class="icon-ok"></i></a></td> 
@@ -511,7 +511,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.07</td> 
+     <td>0.076</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -543,7 +543,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteRequestTest.addItem"></a>addItem</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -563,7 +563,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteRequestTest.getRequestItem"></a>getRequestItem</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -581,7 +581,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcRequestTest.setRequestItem"></a>setRequestItem</td> 
-     <td>0.019</td> 
+     <td>0.022</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -606,7 +606,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcRequestTest.isEmpty"></a>isEmpty</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -652,22 +652,22 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteResponseTest.getResponseItem"></a>getResponseItem</td> 
-     <td>0.05</td> 
+     <td>0.054</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteResponseTest.constuctor"></a>constuctor</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteResponseTest.of"></a>of</td> 
-     <td>0.171</td> 
+     <td>0.173</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcWriteResponseTest.getResponseItems"></a>getResponseItems</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -685,7 +685,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.connection.PlcReaderTest.read"></a>read</td> 
-     <td>0.006</td> 
+     <td>0.007</td> 
+    </tr> 
+    <tr class="b"> 
+     <td><i class="icon-ok"></i></td> 
+     <td><a name="TC_org.apache.plc4x.java.api.connection.PlcReaderTest.readWrongType"></a>readWrongType</td> 
+     <td>0.004</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -703,7 +708,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcWriteRequestTest.builder"></a>builder</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -716,12 +721,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcReadRequestTest.constuctor"></a>constuctor</td> 
-     <td>0.696</td> 
+     <td>0.724</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcReadRequestTest.builder"></a>builder</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -734,7 +739,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.authentication.PlcUsernamePasswordAuthenticationTest.authenication"></a>authenication</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -747,12 +752,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcReadResponseTest.constuctor"></a>constuctor</td> 
-     <td>0.1</td> 
+     <td>0.091</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcReadResponseTest.getValue"></a>getValue</td> 
-     <td>0.036</td> 
+     <td>0.029</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -770,7 +775,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.APIMessageTests.writeRequestItems"></a>writeRequestItems</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -790,7 +795,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.APIMessageTests.bulkPlcWriteResponseGetValue"></a>bulkPlcWriteResponseGetValue</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -850,7 +855,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.APIMessageTests.plcReadResponse"></a>plcReadResponse</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -868,28 +873,33 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.getResponseItem"></a>getResponseItem</td> 
-     <td>0.05</td> 
+     <td>0.056</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
-     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.constuctor"></a>constuctor</td> 
+     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.constuctorWrong"></a>constuctorWrong</td> 
      <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
-     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.of"></a>of</td> 
-     <td>0.072</td> 
+     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.constuctor"></a>constuctor</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
-     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.getResponseItems"></a>getResponseItems</td> 
-     <td>0.001</td> 
+     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.of"></a>of</td> 
+     <td>0.078</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
-     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.getRequest"></a>getRequest</td> 
+     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.getResponseItems"></a>getResponseItems</td> 
      <td>0</td> 
     </tr> 
+    <tr class="b"> 
+     <td><i class="icon-ok"></i></td> 
+     <td><a name="TC_org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadResponseTest.getRequest"></a>getRequest</td> 
+     <td>0.001</td> 
+    </tr> 
    </tbody> 
   </table> 
  </div> 
@@ -901,12 +911,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcWriteResponseTest.constuctor"></a>constuctor</td> 
-     <td>0.181</td> 
+     <td>0.201</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcWriteResponseTest.getValue"></a>getValue</td> 
-     <td>0.064</td> 
+     <td>0.066</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -919,7 +929,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcResponseTest.getResponseItem"></a>getResponseItem</td> 
-     <td>0.065</td> 
+     <td>0.071</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -929,7 +939,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.api.messages.PlcResponseTest.getResponseItems"></a>getResponseItems</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
diff --git a/plc4j/plc4j-api/testapidocs/index-all.html b/plc4j/plc4j-api/testapidocs/index-all.html
index 65839e6..efc3938 100644
--- a/plc4j/plc4j-api/testapidocs/index-all.html
+++ b/plc4j/plc4j-api/testapidocs/index-all.html
@@ -122,6 +122,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponseTest.html#constuctor--">constuctor()</a></span> - Method in class org.apache.plc4x.java.api.messages.specific.<a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponseTest.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcWriteResponseTest</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#constuctorWrong--">constuctorWrong()</a></span> - Method in class org.apache.plc4x.java.api.messages.specific.<a href="org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html" title="class in org.apache.plc4x.java.api.messages.specific">TypeSafePlcReadResponseTest</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:E">
 <!--   -->
@@ -318,6 +320,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/messages/APIMessageTests.html#readResponseItem--">readResponseItem()</a></span> - Method in class org.apache.plc4x.java.api.messages.<a href="org/apache/plc4x/java/api/messages/APIMessageTests.html" title="class in org.apache.plc4x.java.api.messages">APIMessageTests</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/plc4x/java/api/connection/PlcReaderTest.html#readWrongType--">readWrongType()</a></span> - Method in class org.apache.plc4x.java.api.connection.<a href="org/apache/plc4x/java/api/connection/PlcReaderTest.html" title="class in org.apache.plc4x.java.api.connection">PlcReaderTest</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:S">
 <!--   -->
diff --git a/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/connection/PlcReaderTest.html b/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/connection/PlcReaderTest.html
index e842836..c2f1b7e 100644
--- a/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/connection/PlcReaderTest.html
+++ b/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/connection/PlcReaderTest.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -150,6 +150,10 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html#read--">read</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html#readWrongType--">readWrongType</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -192,7 +196,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="read--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>read</h4>
 <pre>public&nbsp;void&nbsp;read()
@@ -203,6 +207,20 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="readWrongType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readWrongType</h4>
+<pre>public&nbsp;void&nbsp;readWrongType()
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html b/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
index d76e0e0..e8dd190 100644
--- a/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
+++ b/plc4j/plc4j-api/testapidocs/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -152,22 +152,26 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getRequest--">getRequest</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#constuctorWrong--">constuctorWrong</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getResponseItem--">getResponseItem</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getRequest--">getRequest</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getResponseItems--">getResponseItems</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getResponseItem--">getResponseItem</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#of--">of</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#getResponseItems--">getResponseItems</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#of--">of</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -227,6 +231,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <pre>public&nbsp;void&nbsp;constuctor()</pre>
 </li>
 </ul>
+<a name="constuctorWrong--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>constuctorWrong</h4>
+<pre>public&nbsp;void&nbsp;constuctorWrong()</pre>
+</li>
+</ul>
 <a name="of--">
 <!--   -->
 </a>
diff --git a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
index fa7fb83..9dde1a5 100644
--- a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
+++ b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
@@ -27,24 +27,46 @@
 <a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.plc4x.java.api.connection;
 <a class="jxr_linenumber" name="L20" href="#L20">20</a>  
 <a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.PlcReadResponse;
-<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadRequest;
-<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.model.Address;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a>  
-<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.CompletableFuture;
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.mock;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html">PlcReaderTest</a> {
+<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.items.ReadResponseItem;
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadRequest;
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.model.Address;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.types.ResponseCode;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>  
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.CompletableFuture;
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ExecutionException;
 <a class="jxr_linenumber" name="L32" href="#L32">32</a>  
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>      @Test
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> read() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>          ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, Collections.emptyList())))
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>              .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>      }
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.Matchers.equalTo;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.Matchers.instanceOf;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.mock;
 <a class="jxr_linenumber" name="L38" href="#L38">38</a>  
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  }
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html">PlcReaderTest</a> {
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>  
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>      @Test
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> read() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>          ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, Collections.emptyList())))
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>              .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      }
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      @Test
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readWrongType() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>          <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>              ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, (List) Collections.singletonList(<strong class="jxr_keyword">new</strong> ReadResponseItem(readRequest.getRequestItem().get(), ResponseCode.OK, 1)))))
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>                  .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>              fail(<span class="jxr_string">"Should throw an exception"</span>);
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>          } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>              assertThat(e.getMessage(), equalTo(<span class="jxr_string">"Datatype of 1 doesn't macht required datatype of class java.lang.String"</span>));
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>          } <strong class="jxr_keyword">catch</strong> (ExecutionException e) {
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>              assertThat(e.getCause(), instanceOf(IllegalArgumentException.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>              assertThat(e.getCause().getMessage(), equalTo(<span class="jxr_string">"Unexpected data type class java.lang.Integer on readRequestItem. Expected class java.lang.String"</span>));
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>          }
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      }
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
index 90c6004..8e87595 100644
--- a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
+++ b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
@@ -40,249 +40,248 @@
 <a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.junit.experimental.categories.Category;
 <a class="jxr_linenumber" name="L33" href="#L33">33</a>  
 <a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> java.util.Optional;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>  
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsCollectionWithSize.hasSize;
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsEmptyCollection.empty;
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsIterableContainingInOrder.contains;
-<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.core.IsEqual.equalTo;
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Optional;
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsCollectionWithSize.hasSize;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsEmptyCollection.empty;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsIterableContainingInOrder.contains;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.core.IsEqual.equalTo;
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
 <a class="jxr_linenumber" name="L44" href="#L44">44</a>  
-<a class="jxr_linenumber" name="L45" href="#L45">45</a>  
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/APIMessageTests.html">APIMessageTests</a> {
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>  
-<a class="jxr_linenumber" name="L48" href="#L48">48</a>      @Test
-<a class="jxr_linenumber" name="L49" href="#L49">49</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItemSize() {
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
-<a class="jxr_linenumber" name="L56" href="#L56">56</a>      }
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>  
-<a class="jxr_linenumber" name="L58" href="#L58">58</a>      @Test
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L60" href="#L60">60</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItem() {
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>      }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>  
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>      @Test
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readResponseItem() {
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>          ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>          assertThat(<span class="jxr_string">"Unexpected response code"</span>, readResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>          assertThat(readResponseItem.getValues(), empty());
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>          assertThat(<span class="jxr_string">"Unexpected read request item"</span>, readResponseItem.getRequestItem(), equalTo(readRequestItem));
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>      }
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>      @Test
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItem() {
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x45);
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x45));
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
-<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Test
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItems() {
-<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>          Byte data[] = {(byte) 0x23, (byte) 0x84};
-<a class="jxr_linenumber" name="L95" href="#L95">95</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x23));
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(1), equalTo((byte) 0x84));
-<a class="jxr_linenumber" name="L100" href="#L100">100</a>     }
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> 
-<a class="jxr_linenumber" name="L102" href="#L102">102</a>     @Test
-<a class="jxr_linenumber" name="L103" href="#L103">103</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L104" href="#L104">104</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeResponseItem() {
-<a class="jxr_linenumber" name="L105" href="#L105">105</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L106" href="#L106">106</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x3B);
-<a class="jxr_linenumber" name="L107" href="#L107">107</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a>         assertThat(<span class="jxr_string">"Unexpected response code"</span>, writeResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
-<a class="jxr_linenumber" name="L109" href="#L109">109</a>         assertThat(<span class="jxr_string">"Unexpected response item"</span>, writeResponseItem.getRequestItem(), equalTo(writeRequestItem));
-<a class="jxr_linenumber" name="L110" href="#L110">110</a>     }
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> 
-<a class="jxr_linenumber" name="L112" href="#L112">112</a>     @Test
-<a class="jxr_linenumber" name="L113" href="#L113">113</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L114" href="#L114">114</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestEmpty() {
-<a class="jxr_linenumber" name="L115" href="#L115">115</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L116" href="#L116">116</a>         assertThat(plcReadRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L117" href="#L117">117</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L118" href="#L118">118</a>     }
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> 
-<a class="jxr_linenumber" name="L120" href="#L120">120</a>     @Test
-<a class="jxr_linenumber" name="L121" href="#L121">121</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L122" href="#L122">122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddress() {
-<a class="jxr_linenumber" name="L123" href="#L123">123</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L124" href="#L124">124</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
-<a class="jxr_linenumber" name="L125" href="#L125">125</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L126" href="#L126">126</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L127" href="#L127">127</a>     }
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> 
-<a class="jxr_linenumber" name="L129" href="#L129">129</a>     @Test
-<a class="jxr_linenumber" name="L130" href="#L130">130</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L131" href="#L131">131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestSize() {
-<a class="jxr_linenumber" name="L132" href="#L132">132</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L133" href="#L133">133</a>         PlcReadRequest plcReadRequest = PlcReadRequest.builder().addItem(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1).build(Byte.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L134" href="#L134">134</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L135" href="#L135">135</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L136" href="#L136">136</a>     }
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> 
-<a class="jxr_linenumber" name="L138" href="#L138">138</a>     @Test
-<a class="jxr_linenumber" name="L139" href="#L139">139</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L140" href="#L140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddItem() {
-<a class="jxr_linenumber" name="L141" href="#L141">141</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L142" href="#L142">142</a>         assertThat(plcReadRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L143" href="#L143">143</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L144" href="#L144">144</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L145" href="#L145">145</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L146" href="#L146">146</a>         plcReadRequest.addItem(readRequestItem);
-<a class="jxr_linenumber" name="L147" href="#L147">147</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L148" href="#L148">148</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L149" href="#L149">149</a>     }
-<a class="jxr_linenumber" name="L150" href="#L150">150</a> 
-<a class="jxr_linenumber" name="L151" href="#L151">151</a>     @Test
-<a class="jxr_linenumber" name="L152" href="#L152">152</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L153" href="#L153">153</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadResponse() {
-<a class="jxr_linenumber" name="L154" href="#L154">154</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L155" href="#L155">155</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L156" href="#L156">156</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L157" href="#L157">157</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L158" href="#L158">158</a>         ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L159" href="#L159">159</a>         responseItems.add(readResponseItem);
-<a class="jxr_linenumber" name="L160" href="#L160">160</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L161" href="#L161">161</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L162" href="#L162">162</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcReadRequest));
-<a class="jxr_linenumber" name="L163" href="#L163">163</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
-<a class="jxr_linenumber" name="L164" href="#L164">164</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(readResponseItem));
-<a class="jxr_linenumber" name="L165" href="#L165">165</a>     }
-<a class="jxr_linenumber" name="L166" href="#L166">166</a> 
-<a class="jxr_linenumber" name="L167" href="#L167">167</a>     @Test
-<a class="jxr_linenumber" name="L168" href="#L168">168</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestEmpty() {
-<a class="jxr_linenumber" name="L170" href="#L170">170</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L171" href="#L171">171</a>         assertThat(plcWriteRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L172" href="#L172">172</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcWriteRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L173" href="#L173">173</a>     }
-<a class="jxr_linenumber" name="L174" href="#L174">174</a> 
-<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @Test
-<a class="jxr_linenumber" name="L176" href="#L176">176</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObject() {
-<a class="jxr_linenumber" name="L178" href="#L178">178</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L179" href="#L179">179</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x33);
-<a class="jxr_linenumber" name="L180" href="#L180">180</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L181" href="#L181">181</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L182" href="#L182">182</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
-<a class="jxr_linenumber" name="L183" href="#L183">183</a>         assertThat(values.get(0), equalTo((byte) 0x33));
-<a class="jxr_linenumber" name="L184" href="#L184">184</a>     }
-<a class="jxr_linenumber" name="L185" href="#L185">185</a> 
-<a class="jxr_linenumber" name="L186" href="#L186">186</a>     @Test
-<a class="jxr_linenumber" name="L187" href="#L187">187</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L188" href="#L188">188</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObjects() {
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L190" href="#L190">190</a>         Byte[] data = {(byte) 0x22, (byte) 0x66};
-<a class="jxr_linenumber" name="L191" href="#L191">191</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
-<a class="jxr_linenumber" name="L192" href="#L192">192</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L193" href="#L193">193</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L194" href="#L194">194</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
-<a class="jxr_linenumber" name="L195" href="#L195">195</a>         assertThat(values.get(0), equalTo((byte) 0x22));
-<a class="jxr_linenumber" name="L196" href="#L196">196</a>         assertThat(values.get(1), equalTo((byte) 0x66));
-<a class="jxr_linenumber" name="L197" href="#L197">197</a>     }
-<a class="jxr_linenumber" name="L198" href="#L198">198</a> 
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>     @Test
-<a class="jxr_linenumber" name="L200" href="#L200">200</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L201" href="#L201">201</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteResponse() {
-<a class="jxr_linenumber" name="L202" href="#L202">202</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L204" href="#L204">204</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L206" href="#L206">206</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
-<a class="jxr_linenumber" name="L207" href="#L207">207</a>         responseItems.add(writeResponseItem);
-<a class="jxr_linenumber" name="L208" href="#L208">208</a>         PlcWriteResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L209" href="#L209">209</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L210" href="#L210">210</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcWriteRequest));
-<a class="jxr_linenumber" name="L211" href="#L211">211</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
-<a class="jxr_linenumber" name="L212" href="#L212">212</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(writeResponseItem));
-<a class="jxr_linenumber" name="L213" href="#L213">213</a>     }
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> 
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>     @Test
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L217" href="#L217">217</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcWriteResponseGetValue() {
-<a class="jxr_linenumber" name="L218" href="#L218">218</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem1 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem2 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L223" href="#L223">223</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem1 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem1, ResponseCode.OK);
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem2 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem2, ResponseCode.OK);
-<a class="jxr_linenumber" name="L225" href="#L225">225</a>         responseItems.add(writeResponseItem1);
-<a class="jxr_linenumber" name="L226" href="#L226">226</a>         responseItems.add(writeResponseItem2);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L228" href="#L228">228</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(writeRequestItem1);
-<a class="jxr_linenumber" name="L229" href="#L229">229</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue2 = plcWriteResponse.getValue(writeRequestItem2);
-<a class="jxr_linenumber" name="L230" href="#L230">230</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(writeResponseItem1)));
-<a class="jxr_linenumber" name="L231" href="#L231">231</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(writeResponseItem2)));
-<a class="jxr_linenumber" name="L232" href="#L232">232</a>     }
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> 
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>     @Test
-<a class="jxr_linenumber" name="L235" href="#L235">235</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L236" href="#L236">236</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcWriteResponseGetValue() {
-<a class="jxr_linenumber" name="L237" href="#L237">237</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L238" href="#L238">238</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L239" href="#L239">239</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L240" href="#L240">240</a>         WriteRequestItem&lt;Byte&gt; nonExistingWriteRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L241" href="#L241">241</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L242" href="#L242">242</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(nonExistingWriteRequestItem);
-<a class="jxr_linenumber" name="L243" href="#L243">243</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
-<a class="jxr_linenumber" name="L244" href="#L244">244</a>     }
-<a class="jxr_linenumber" name="L245" href="#L245">245</a> 
-<a class="jxr_linenumber" name="L246" href="#L246">246</a>     @Test
-<a class="jxr_linenumber" name="L247" href="#L247">247</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L248" href="#L248">248</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcReadResponseGetValue() {
-<a class="jxr_linenumber" name="L249" href="#L249">249</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L250" href="#L250">250</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L251" href="#L251">251</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L252" href="#L252">252</a>         ReadRequestItem&lt;Byte&gt; readRequestItem1 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L253" href="#L253">253</a>         ReadRequestItem&lt;Byte&gt; readRequestItem2 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L254" href="#L254">254</a>         ReadResponseItem&lt;Byte&gt; readResponseItem1 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem1, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L255" href="#L255">255</a>         ReadResponseItem&lt;Byte&gt; readResponseItem2 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem2, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L256" href="#L256">256</a>         responseItems.add(readResponseItem1);
-<a class="jxr_linenumber" name="L257" href="#L257">257</a>         responseItems.add(readResponseItem2);
-<a class="jxr_linenumber" name="L258" href="#L258">258</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L259" href="#L259">259</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(readRequestItem1);
-<a class="jxr_linenumber" name="L260" href="#L260">260</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue2 = plcReadResponse.getValue(readRequestItem2);
-<a class="jxr_linenumber" name="L261" href="#L261">261</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(readResponseItem1)));
-<a class="jxr_linenumber" name="L262" href="#L262">262</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(readResponseItem2)));
-<a class="jxr_linenumber" name="L263" href="#L263">263</a>     }
-<a class="jxr_linenumber" name="L264" href="#L264">264</a> 
-<a class="jxr_linenumber" name="L265" href="#L265">265</a>     @Test
-<a class="jxr_linenumber" name="L266" href="#L266">266</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L267" href="#L267">267</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcReadResponseGetValue() {
-<a class="jxr_linenumber" name="L268" href="#L268">268</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L269" href="#L269">269</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L270" href="#L270">270</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L271" href="#L271">271</a>         ReadRequestItem&lt;Byte&gt; nonExistingReadRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L272" href="#L272">272</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L273" href="#L273">273</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(nonExistingReadRequestItem);
-<a class="jxr_linenumber" name="L274" href="#L274">274</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
-<a class="jxr_linenumber" name="L275" href="#L275">275</a>     }
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> 
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> }
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/APIMessageTests.html">APIMessageTests</a> {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      @Test
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItemSize() {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>      }
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>      @Test
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItem() {
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>      }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>      @Test
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readResponseItem() {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>          ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          assertThat(<span class="jxr_string">"Unexpected response code"</span>, readResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>          assertThat(readResponseItem.getValues(), empty());
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>          assertThat(<span class="jxr_string">"Unexpected read request item"</span>, readResponseItem.getRequestItem(), equalTo(readRequestItem));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>      }
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>  
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>      @Test
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItem() {
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x45);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>  
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x45));
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>      }
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>      @Test
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItems() {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>          Byte data[] = {(byte) 0x23, (byte) 0x84};
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x23));
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(1), equalTo((byte) 0x84));
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>      }
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> 
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>     @Test
+<a class="jxr_linenumber" name="L102" href="#L102">102</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L103" href="#L103">103</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeResponseItem() {
+<a class="jxr_linenumber" name="L104" href="#L104">104</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L105" href="#L105">105</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x3B);
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L107" href="#L107">107</a>         assertThat(<span class="jxr_string">"Unexpected response code"</span>, writeResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
+<a class="jxr_linenumber" name="L108" href="#L108">108</a>         assertThat(<span class="jxr_string">"Unexpected response item"</span>, writeResponseItem.getRequestItem(), equalTo(writeRequestItem));
+<a class="jxr_linenumber" name="L109" href="#L109">109</a>     }
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> 
+<a class="jxr_linenumber" name="L111" href="#L111">111</a>     @Test
+<a class="jxr_linenumber" name="L112" href="#L112">112</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestEmpty() {
+<a class="jxr_linenumber" name="L114" href="#L114">114</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L115" href="#L115">115</a>         assertThat(plcReadRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L116" href="#L116">116</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L117" href="#L117">117</a>     }
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> 
+<a class="jxr_linenumber" name="L119" href="#L119">119</a>     @Test
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L121" href="#L121">121</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddress() {
+<a class="jxr_linenumber" name="L122" href="#L122">122</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L123" href="#L123">123</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
+<a class="jxr_linenumber" name="L124" href="#L124">124</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L125" href="#L125">125</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L126" href="#L126">126</a>     }
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> 
+<a class="jxr_linenumber" name="L128" href="#L128">128</a>     @Test
+<a class="jxr_linenumber" name="L129" href="#L129">129</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L130" href="#L130">130</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestSize() {
+<a class="jxr_linenumber" name="L131" href="#L131">131</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a>         PlcReadRequest plcReadRequest = PlcReadRequest.builder().addItem(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1).build(Byte.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L133" href="#L133">133</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L134" href="#L134">134</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L135" href="#L135">135</a>     }
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> 
+<a class="jxr_linenumber" name="L137" href="#L137">137</a>     @Test
+<a class="jxr_linenumber" name="L138" href="#L138">138</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L139" href="#L139">139</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddItem() {
+<a class="jxr_linenumber" name="L140" href="#L140">140</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L141" href="#L141">141</a>         assertThat(plcReadRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L142" href="#L142">142</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L143" href="#L143">143</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L144" href="#L144">144</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L145" href="#L145">145</a>         plcReadRequest.addItem(readRequestItem);
+<a class="jxr_linenumber" name="L146" href="#L146">146</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L147" href="#L147">147</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L148" href="#L148">148</a>     }
+<a class="jxr_linenumber" name="L149" href="#L149">149</a> 
+<a class="jxr_linenumber" name="L150" href="#L150">150</a>     @Test
+<a class="jxr_linenumber" name="L151" href="#L151">151</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L152" href="#L152">152</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadResponse() {
+<a class="jxr_linenumber" name="L153" href="#L153">153</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L154" href="#L154">154</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L155" href="#L155">155</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L156" href="#L156">156</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L157" href="#L157">157</a>         ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L158" href="#L158">158</a>         responseItems.add(readResponseItem);
+<a class="jxr_linenumber" name="L159" href="#L159">159</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L160" href="#L160">160</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L161" href="#L161">161</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcReadRequest));
+<a class="jxr_linenumber" name="L162" href="#L162">162</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
+<a class="jxr_linenumber" name="L163" href="#L163">163</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(readResponseItem));
+<a class="jxr_linenumber" name="L164" href="#L164">164</a>     }
+<a class="jxr_linenumber" name="L165" href="#L165">165</a> 
+<a class="jxr_linenumber" name="L166" href="#L166">166</a>     @Test
+<a class="jxr_linenumber" name="L167" href="#L167">167</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L168" href="#L168">168</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestEmpty() {
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L170" href="#L170">170</a>         assertThat(plcWriteRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L171" href="#L171">171</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcWriteRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L172" href="#L172">172</a>     }
+<a class="jxr_linenumber" name="L173" href="#L173">173</a> 
+<a class="jxr_linenumber" name="L174" href="#L174">174</a>     @Test
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObject() {
+<a class="jxr_linenumber" name="L177" href="#L177">177</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L178" href="#L178">178</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x33);
+<a class="jxr_linenumber" name="L179" href="#L179">179</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L181" href="#L181">181</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
+<a class="jxr_linenumber" name="L182" href="#L182">182</a>         assertThat(values.get(0), equalTo((byte) 0x33));
+<a class="jxr_linenumber" name="L183" href="#L183">183</a>     }
+<a class="jxr_linenumber" name="L184" href="#L184">184</a> 
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>     @Test
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L187" href="#L187">187</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObjects() {
+<a class="jxr_linenumber" name="L188" href="#L188">188</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>         Byte[] data = {(byte) 0x22, (byte) 0x66};
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L192" href="#L192">192</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L193" href="#L193">193</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>         assertThat(values.get(0), equalTo((byte) 0x22));
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>         assertThat(values.get(1), equalTo((byte) 0x66));
+<a class="jxr_linenumber" name="L196" href="#L196">196</a>     }
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>     @Test
+<a class="jxr_linenumber" name="L199" href="#L199">199</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteResponse() {
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L203" href="#L203">203</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>         responseItems.add(writeResponseItem);
+<a class="jxr_linenumber" name="L207" href="#L207">207</a>         PlcWriteResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcWriteRequest));
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
+<a class="jxr_linenumber" name="L211" href="#L211">211</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(writeResponseItem));
+<a class="jxr_linenumber" name="L212" href="#L212">212</a>     }
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> 
+<a class="jxr_linenumber" name="L214" href="#L214">214</a>     @Test
+<a class="jxr_linenumber" name="L215" href="#L215">215</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L216" href="#L216">216</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcWriteResponseGetValue() {
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem1 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem2 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem1 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem1, ResponseCode.OK);
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem2 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem2, ResponseCode.OK);
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>         responseItems.add(writeResponseItem1);
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>         responseItems.add(writeResponseItem2);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(writeRequestItem1);
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue2 = plcWriteResponse.getValue(writeRequestItem2);
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(writeResponseItem1)));
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(writeResponseItem2)));
+<a class="jxr_linenumber" name="L231" href="#L231">231</a>     }
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>     @Test
+<a class="jxr_linenumber" name="L234" href="#L234">234</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcWriteResponseGetValue() {
+<a class="jxr_linenumber" name="L236" href="#L236">236</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L238" href="#L238">238</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L239" href="#L239">239</a>         WriteRequestItem&lt;Byte&gt; nonExistingWriteRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L240" href="#L240">240</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L241" href="#L241">241</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(nonExistingWriteRequestItem);
+<a class="jxr_linenumber" name="L242" href="#L242">242</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
+<a class="jxr_linenumber" name="L243" href="#L243">243</a>     }
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> 
+<a class="jxr_linenumber" name="L245" href="#L245">245</a>     @Test
+<a class="jxr_linenumber" name="L246" href="#L246">246</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L247" href="#L247">247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcReadResponseGetValue() {
+<a class="jxr_linenumber" name="L248" href="#L248">248</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L249" href="#L249">249</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L250" href="#L250">250</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L251" href="#L251">251</a>         ReadRequestItem&lt;Byte&gt; readRequestItem1 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L252" href="#L252">252</a>         ReadRequestItem&lt;Byte&gt; readRequestItem2 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L253" href="#L253">253</a>         ReadResponseItem&lt;Byte&gt; readResponseItem1 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem1, ResponseCode.OK);
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>         ReadResponseItem&lt;Byte&gt; readResponseItem2 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem2, ResponseCode.OK);
+<a class="jxr_linenumber" name="L255" href="#L255">255</a>         responseItems.add(readResponseItem1);
+<a class="jxr_linenumber" name="L256" href="#L256">256</a>         responseItems.add(readResponseItem2);
+<a class="jxr_linenumber" name="L257" href="#L257">257</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L258" href="#L258">258</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(readRequestItem1);
+<a class="jxr_linenumber" name="L259" href="#L259">259</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue2 = plcReadResponse.getValue(readRequestItem2);
+<a class="jxr_linenumber" name="L260" href="#L260">260</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(readResponseItem1)));
+<a class="jxr_linenumber" name="L261" href="#L261">261</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(readResponseItem2)));
+<a class="jxr_linenumber" name="L262" href="#L262">262</a>     }
+<a class="jxr_linenumber" name="L263" href="#L263">263</a> 
+<a class="jxr_linenumber" name="L264" href="#L264">264</a>     @Test
+<a class="jxr_linenumber" name="L265" href="#L265">265</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L266" href="#L266">266</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcReadResponseGetValue() {
+<a class="jxr_linenumber" name="L267" href="#L267">267</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L268" href="#L268">268</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L270" href="#L270">270</a>         ReadRequestItem&lt;Byte&gt; nonExistingReadRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L271" href="#L271">271</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L272" href="#L272">272</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(nonExistingReadRequestItem);
+<a class="jxr_linenumber" name="L273" href="#L273">273</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
+<a class="jxr_linenumber" name="L274" href="#L274">274</a>     }
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> 
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
index e1c6d0d..5669468 100644
--- a/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
+++ b/plc4j/plc4j-api/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
@@ -33,66 +33,74 @@
 <a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
 <a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
 <a class="jxr_linenumber" name="L27" href="#L27">27</a>  
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>  
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.*;
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>  
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html">TypeSafePlcReadResponseTest</a> {
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>      ReadResponseItem&lt;String&gt; readResponseItemString;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>      @Before
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>          readResponseItemString = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(mock(ReadRequestItem.<strong class="jxr_keyword">class</strong>), ResponseCode.OK, Arrays.asList(<span class="jxr_string">""</span>, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>      }
-<a class="jxr_linenumber" name="L42" href="#L42">42</a>  
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>      @Test(expected = IllegalArgumentException.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L44" href="#L44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctor() {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a>          TypeSafePlcReadRequest mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>          when(mock.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
-<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, Collections.singletonList(readResponseItemString));
-<a class="jxr_linenumber" name="L49" href="#L49">49</a>          when(mock.getDataType()).thenReturn(Byte.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>          <em class="jxr_comment">// expects an exception</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>      }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>  
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>      @Test
-<a class="jxr_linenumber" name="L56" href="#L56">56</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> of() {
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>          {
-<a class="jxr_linenumber" name="L58" href="#L58">58</a>              TypeSafePlcReadResponse.of(mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS));
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>          }
-<a class="jxr_linenumber" name="L60" href="#L60">60</a>          {
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>              when(response.getRequest()).thenReturn(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS));
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>              TypeSafePlcReadResponse.of(response);
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          }
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>          {
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>              when(response.getResponseItems()).thenReturn((List) Collections.singletonList(readResponseItemString));
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>              TypeSafePlcReadResponse.of(response);
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>          }
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>      }
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>  
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>      @Test
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getRequest() {
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getRequest();
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>      }
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>      @Test
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItems() {
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItems();
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>      }
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>  
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>      @Test
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItem() {
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItem();
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>      }
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>  
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>  }
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.*;
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>  
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html">TypeSafePlcReadResponseTest</a> {
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>  
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>      ReadResponseItem&lt;String&gt; readResponseItemString;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>      @Before
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>          ReadRequestItem&lt;String&gt; mock = mock(ReadRequestItem.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>          when(mock.getDatatype()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>          readResponseItemString = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(mock, ResponseCode.OK, <span class="jxr_string">""</span>, <span class="jxr_string">""</span>);
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      }
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>      @Test
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctor() {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>          TypeSafePlcReadRequest&lt;String&gt; mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>          when(mock.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, Collections.singletonList(readResponseItemString));
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>      }
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>  
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>      @Test(expected = IllegalArgumentException.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctorWrong() {
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>          TypeSafePlcReadRequest&lt;Byte&gt; mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>          when(mock.getDataType()).thenReturn(Byte.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>          <em class="jxr_comment">// expects an exception</em>
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse(mock, readResponseItemString);
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      }
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>      @Test
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> of() {
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>              TypeSafePlcReadResponse.of(mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS), String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>          }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>          {
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>              TypeSafePlcReadRequest typeSafePlcReadRequest = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>              when(typeSafePlcReadRequest.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>              when(response.getRequest()).thenReturn(typeSafePlcReadRequest);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>              TypeSafePlcReadResponse.of(response, String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>          }
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          {
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>              when(response.getResponseItems()).thenReturn((List) Collections.singletonList(readResponseItemString));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>              TypeSafePlcReadResponse.of(response, String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>          }
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>      }
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>  
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>      @Test
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getRequest() {
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getRequest();
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>      }
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>      @Test
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItems() {
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItems();
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Test
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItem() {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItem();
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>      }
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>  
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/connection/PlcReader.html b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/connection/PlcReader.html
index cab151d..77bc3ff 100644
--- a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/connection/PlcReader.html
+++ b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/connection/PlcReader.html
@@ -57,10 +57,11 @@
 <a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment">     */</em>
 <a class="jxr_linenumber" name="L50" href="#L50">50</a>      <strong class="jxr_keyword">default</strong> &lt;T&gt; CompletableFuture&lt;TypeSafePlcReadResponse&lt;T&gt;&gt; read(TypeSafePlcReadRequest&lt;T&gt; readRequest) {
 <a class="jxr_linenumber" name="L51" href="#L51">51</a>          Objects.requireNonNull(readRequest, <span class="jxr_string">"Read request must not be null"</span>);
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">return</strong> read((PlcReadRequest) readRequest).thenApply(TypeSafePlcReadResponse::of);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>      }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>  
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>  }
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">return</strong> read((PlcReadRequest) readRequest)
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>              .thenApply(readResponse -&gt; TypeSafePlcReadResponse.of(readResponse, readRequest.getDataType()));
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>      }
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>  
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
index 2d69773..d1aecb5 100644
--- a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
+++ b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
@@ -28,24 +28,35 @@
 <a class="jxr_linenumber" name="L20" href="#L20">20</a>  
 <a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.types.ResponseCode;
 <a class="jxr_linenumber" name="L22" href="#L22">22</a>  
-<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Objects;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a>  
-<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ReadResponseItem&lt;T&gt; <strong class="jxr_keyword">extends</strong> ResponseItem&lt;ReadRequestItem&lt;T&gt;&gt; {
-<a class="jxr_linenumber" name="L27" href="#L27">27</a>  
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;T&gt; values;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, List&lt;T&gt; values) {
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>          <strong class="jxr_keyword">super</strong>(requestItem, responseCode);
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>          Objects.requireNonNull(values, <span class="jxr_string">"Values must not be null"</span>);
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>          <strong class="jxr_keyword">this</strong>.values = values;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>      }
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>      <strong class="jxr_keyword">public</strong> List&lt;T&gt; getValues() {
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>          <strong class="jxr_keyword">return</strong> values;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>      }
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>  }
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Objects;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ReadResponseItem&lt;T&gt; <strong class="jxr_keyword">extends</strong> ResponseItem&lt;ReadRequestItem&lt;T&gt;&gt; {
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;T&gt; values;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, List&lt;T&gt; values) {
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>          <strong class="jxr_keyword">super</strong>(requestItem, responseCode);
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>          Objects.requireNonNull(values, <span class="jxr_string">"Values must not be null"</span>);
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>          <strong class="jxr_keyword">for</strong> (T value : values) {
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>              <strong class="jxr_keyword">if</strong> (!requestItem.getDatatype().isAssignableFrom(value.getClass())) {
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Datatype of "</span> + value + <span class="jxr_string">" doesn't macht required datatype of "</span> + requestItem.getDatatype());
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>              }
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>          }
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>          <strong class="jxr_keyword">this</strong>.values = values;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>      }
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>  
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      @SafeVarargs
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, T... values) {
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>          <strong class="jxr_keyword">this</strong>(requestItem, responseCode, Arrays.asList(values));
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      }
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      <strong class="jxr_keyword">public</strong> List&lt;T&gt; getValues() {
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">return</strong> values;
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>      }
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
index 3d094b6..29641cd 100644
--- a/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
+++ b/plc4j/plc4j-api/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
@@ -67,44 +67,47 @@
 <a class="jxr_linenumber" name="L59" href="#L59">59</a>          <strong class="jxr_keyword">return</strong> (Optional&lt;ReadResponseItem&lt;T&gt;&gt;) <strong class="jxr_keyword">super</strong>.getResponseItem();
 <a class="jxr_linenumber" name="L60" href="#L60">60</a>      }
 <a class="jxr_linenumber" name="L61" href="#L61">61</a>  
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>      @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html">PlcReadResponse</a> plcReadResponse) {
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse instanceof TypeSafePlcReadResponse) {
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>              <strong class="jxr_keyword">return</strong> (TypeSafePlcReadResponse) plcReadResponse;
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>          }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html">TypeSafePlcReadResponse</a>((TypeSafePlcReadRequest) plcReadResponse.getRequest(), plcReadResponse.getResponseItems());
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>          }
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>          List&lt;? <strong class="jxr_keyword">extends</strong> ReadResponseItem&lt;?&gt;&gt; responseItems = plcReadResponse.getResponseItems();
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>          Objects.requireNonNull(responseItems, <span class="jxr_string">"Response items on "</span> + plcReadResponse + <span class="jxr_string">" must not be null"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>          Class type = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>          <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>              <strong class="jxr_keyword">if</strong> (!responseItem.getValues().isEmpty()) {
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>                  type = responseItem.getValues().get(0).getClass();
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>                  <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>              }
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>          }
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>              <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>                  checkList(responseItem.getValues(), type);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>              }
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>          }
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">if</strong> (type == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>              type = Object.<strong class="jxr_keyword">class</strong>;
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>          }
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html">TypeSafePlcReadResponse</a>(<strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.html">TypeSafePlcReadRequest</a>(type, plcReadResponse.getRequest()), re [...]
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
-<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkList(List&lt;?&gt; list, Class&lt;?&gt; type) {
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>          Objects.requireNonNull(list, <span class="jxr_string">"List must not be null"</span>);
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>          Objects.requireNonNull(type, <span class="jxr_string">"Type must not be null"</span>);
-<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <strong class="jxr_keyword">for</strong> (Object o : list) {
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>              <strong class="jxr_keyword">if</strong> (!type.isAssignableFrom(o.getClass())) {
-<a class="jxr_linenumber" name="L95" href="#L95">95</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unexpected data type "</span> + o.getClass() + <span class="jxr_string">" on readRequestItem. Expected "</span> + type);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>              }
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>          }
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>      }
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>  }
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html">PlcReadResponse</a> plcReadResponse, Class&lt;T&gt; clazz) {
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          Objects.requireNonNull(plcReadResponse, <span class="jxr_string">"PlcReadResponse must not be null"</span>);
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>          Objects.requireNonNull(clazz, <span class="jxr_string">"Class must not be null"</span>);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse instanceof TypeSafePlcReadResponse) {
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>              @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>              TypeSafePlcReadResponse&lt;T&gt; typeSafePlcReadResponse = (TypeSafePlcReadResponse&lt;T&gt;) plcReadResponse;
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>              Class type = typeSafePlcReadResponse.getRequest().getDataType();
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>              <strong class="jxr_keyword">if</strong> (type != clazz) {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Expected type "</span> + clazz + <span class="jxr_string">" doesn't match found type "</span> + type);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>              }
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>              <strong class="jxr_keyword">return</strong> typeSafePlcReadResponse;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          }
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>          @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>          List&lt;ReadResponseItem&lt;T&gt;&gt; responseItems = (List&lt;ReadResponseItem&lt;T&gt;&gt;) plcReadResponse.getResponseItems();
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>          Objects.requireNonNull(responseItems, <span class="jxr_string">"Response items on "</span> + plcReadResponse + <span class="jxr_string">" must not be null"</span>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>              @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>              TypeSafePlcReadRequest&lt;T&gt; typeSafePlcReadRequest = (TypeSafePlcReadRequest&lt;T&gt;) plcReadResponse.getRequest();
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>              Class type = typeSafePlcReadRequest.getDataType();
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>              <strong class="jxr_keyword">if</strong> (type != clazz) {
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Expected type "</span> + clazz + <span class="jxr_string">" doesn't match found type "</span> + type);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>              }
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(typeSafePlcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>          }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>              checkList(responseItem.getValues(), clazz);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>          }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>          TypeSafePlcReadRequest&lt;T&gt; request = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(clazz, plcReadResponse.getRequest());
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(request, responseItems);
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>  
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkList(List&lt;?&gt; list, Class&lt;?&gt; type) {
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>          Objects.requireNonNull(list, <span class="jxr_string">"List must not be null"</span>);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          Objects.requireNonNull(type, <span class="jxr_string">"Type must not be null"</span>);
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>          <strong class="jxr_keyword">for</strong> (Object o : list) {
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>              <strong class="jxr_keyword">if</strong> (!type.isAssignableFrom(o.getClass())) {
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unexpected data type "</span> + o.getClass() + <span class="jxr_string">" on readRequestItem. Expected "</span> + type);
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>              }
+<a class="jxr_linenumber" name="L100" href="#L100">100</a>         }
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>     }
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-core/changelog.html b/plc4j/plc4j-core/changelog.html
index 31c0aa9..c33c436 100644
--- a/plc4j/plc4j-core/changelog.html
+++ b/plc4j/plc4j-core/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 2</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-core/dependencies.html b/plc4j/plc4j-core/dependencies.html
index 25c780d..cb60b8a 100644
--- a/plc4j/plc4j-core/dependencies.html
+++ b/plc4j/plc4j-core/dependencies.html
@@ -649,7 +649,7 @@
    </tr> 
    <tr class="a"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
@@ -721,7 +721,7 @@
    </tr> 
    <tr class="b"> 
     <td>compile: 2</td> 
-    <td>compile: 84.1 kB</td> 
+    <td>compile: 85 kB</td> 
     <td>compile: 105</td> 
     <td>compile: 69</td> 
     <td>compile: 13</td> 
diff --git a/plc4j/plc4j-core/file-activity.html b/plc4j/plc4j-core/file-activity.html
index a459086..75eaa48 100644
--- a/plc4j/plc4j-core/file-activity.html
+++ b/plc4j/plc4j-core/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 2</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-core/jacoco/jacoco-sessions.html b/plc4j/plc4j-core/jacoco/jacoco-sessions.html
index e3213c8..e5d931e 100644
--- a/plc4j/plc4j-core/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-core/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-core/jacoco/jacoco.xml b/plc4j/plc4j-core/jacoco/jacoco.xml
index dc7b4db..439d479 100644
--- a/plc4j/plc4j-core/jacoco/jacoco.xml
+++ b/plc4j/plc4j-core/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Core"><sessioninfo id="asf919.gq1.ygridcore.net-4e8b8218" start="1519815188936" dump="1519815189479"/><package name="org/apache/plc4x/java"><class name="org/apache/plc4x/java/PlcDriverManager"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Core"><sessioninfo id="asf919.gq1.ygridcore.net-36ed9292" start="1519896948225" dump="1519896948678"/><package name="org/apache/plc4x/java"><class name="org/apache/plc4x/java/PlcDriverManager"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-core/surefire-report.html b/plc4j/plc4j-core/surefire-report.html
index c9e06d7..aca914b 100644
--- a/plc4j/plc4j-core/surefire-report.html
+++ b/plc4j/plc4j-core/surefire-report.html
@@ -214,7 +214,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.115</td> 
+    <td>0.098</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -247,7 +247,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.115</td> 
+    <td>0.098</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -278,7 +278,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.115</td> 
+     <td>0.098</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -297,7 +297,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.PlcDriverManagerTest.getNotExistingDriverTest"></a>getNotExistingDriverTest</td> 
-     <td>0.009</td> 
+     <td>0.007</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -307,7 +307,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.PlcDriverManagerTest.getDuplicateDriver"></a>getDuplicateDriver</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
diff --git a/plc4j/plc4j-protocols/changelog.html b/plc4j/plc4j-protocols/changelog.html
index e6b3c56..74070b6 100644
--- a/plc4j/plc4j-protocols/changelog.html
+++ b/plc4j/plc4j-protocols/changelog.html
@@ -137,7 +137,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -155,8 +155,8 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 113<br />Total number of files changed: 207</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 114<br />Total number of files changed: 207</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -167,566 +167,571 @@
    </thead> 
    <tbody> 
     <tr class="b"> 
+     <td>2018-03-01 10:34:06</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java?rev=f01125e3dcb6db298e1c83a8d0e492261667f411&amp;content-type=text/vnd.v [...]
+    </tr> 
+    <tr class="a"> 
      <td>2018-02-27 18:35:57</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/<b>ADSPlcDriverTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java?rev=2a6426f3674ad1f7e4759b228e00db75433dbe94&amp;content-type=text/vnd.viewcvs-ma [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-27 17:53:43</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java?rev=a0a4ef6197707c80cb13b21705939163e56 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-27 17:31:13</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java?rev=0863a31979916d2c2771c5a2a36ffe161c2 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-26 19:10:38</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSErrorTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java?rev=5dd2fb9aa1c3d04932a3ac682c8d3c5a6f3 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-26 17:18:47</td> 
      <td>Dale LaBossiere &lt;dlaboss@us.ibm.com&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=1d983949010427e28aa583ad30af2dbcef6d5f03&amp;content-type=text/vnd.viewcvs-markup">v 1d983949010427e28aa583ad30af2dbcef6d5f03</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-25 14:05:05</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>DataLengthTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/DataLengthTest.java?rev=63c8064acc6867046bae1144cf7d6 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-25 14:04:48</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSPortTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSPortTest.java?rev=e833764bb7adfbfcb859de2e6e5cab76586feb [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-25 14:04:22</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSErrorTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/types/AMSErrorTest.java?rev=bef900c3d035b9170d57d35ba12a5a82f60 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-25 14:03:19</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianEncoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianEncoder.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianEncoder.java?rev=d95e2e9bb878246c40b601ac370d3d0ec02 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-25 14:02:52</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSNetId.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSNetId.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSNetId.java?rev=bd6105489f6d46a57c5b6962d76427a354e88982&amp;co [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-22 19:51:24</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocolTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/<b>Plc4XADSProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocolTest.java?rev=bd1c69f87f31cf266bd2995c3473ea61d338b50d&amp;co [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-22 19:46:02</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/<b>LittleEndianDecoder.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/util/LittleEndianDecoder.java?rev=9320032defc868263b3048b0880f1104297 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-22 19:07:39</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>TimeStamp.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/TimeStamp.java?rev=e1450378230a167e2565b16dc5dca41d046452d9& [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-22 16:08:39</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java?rev=03b3c219ca4b59709f6e07b530761b652c77e3b1&amp;content-type=text/vnd.v [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-22 12:13:11</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/<b>ByteValueTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java?rev=c45513e0e6be5b00dbfa6cdfb91b5bce0b5ebe6e&amp;content-type=t [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-22 11:53:36</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/<b>ByteValueTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java?rev=787abb6956c4f40f778280d3259ebbca9adff56a&amp;content-type=t [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-22 10:24:06</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>ByteValue.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java?rev=183b51d36ef3073c04388ab6eb58ca472df14185&amp;content-type=text/vnd.view [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-21 16:00:28</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/<b>ByteValueTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java?rev=9b03c3d79147a5e8c97135e787f5f5f37bac5f7f&amp;content-type=t [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-21 15:55:09</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/<b>ByteValueTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java?rev=418677dc4ae9d9fb25c7f249587d07711578fc26&amp;content-type=t [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-20 13:29:28</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/<b>ByteValueTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/util/ByteValueTest.java?rev=13395537ed8ac16b0f4fb5420e47e398fccc1a6e&amp;content-type=t [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-20 11:51:31</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java?rev=fb29bf19121afc81ebb7b8d9598d83bfb4a [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-20 11:42:04</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-20 10:57:40</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationResponse.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationResponse [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-19 11:02:21</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java?rev=2679bd6ff49134335eb11f5475ae7969fbfeed9f&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 19:18:48</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSCommandType.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSCommandType.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSCommandType.java?rev=48a305c48de3b2da726125114416d91f787fe9b2&amp [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 18:53:00</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 17:22:49</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/<b>ADSProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java?rev=d296b14f3c6836649fad9cdc9fa4fb4edfb97475&amp;content-type=text [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 17:18:50</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/<b>AMSTCPHeader.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/AMSTCPHeader.java?rev=fae5915f9c08effd9a6df55839562311304a0087&amp;content- [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 16:07:21</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Data.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java?rev=cbd4579acee04723421e3305479a5fede703022f&amp;content-typ [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 16:04:30</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Device.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java?rev=eedeea2bbe0d72e8b131760a5e50e5a1aef02b47&amp;conte [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 16:01:31</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>AdsReturnCode.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java?rev=89ee18c66db546eff76351c581f43 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 15:45:24</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 11:14:25</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 10:39:11</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/site/asciidoc/index.adoc">plc4j/protocols/ads/src/site/asciidoc/<b>index.adoc</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/site/asciidoc/index.adoc?rev=f41a255236dc38f709335726d825f90b194045c9&amp;content-type=text/vnd.viewcvs-markup">v f41a255236dc38f709335726d825f90b194045c9</a><br /><br />update documentation</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 10:22:10</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/<b>ADSProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java?rev=606b952e066e2488288ea1d6142d4b08abb61cef&amp;content-type=text [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 10:07:48</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>ByteValue.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java?rev=e8b0b482a9d883349341b8953e06b66e84718ba1&amp;content-type=text/vnd.view [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 10:02:48</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Data.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java?rev=0a4ed9204e473277ffe9895a75613bc8170690e6&amp;content-typ [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 09:39:34</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Data.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java?rev=0740b303469cc22ae396970f96e4cb934710e371&amp;content-typ [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 09:34:53</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocol.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/<b>ADSProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/ADSProtocol.java?rev=52a88997ec16fd056471e734af86027f04f2136a&amp;content-type=text/vnd.viewcvs [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 02:28:54</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Data.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java?rev=5d18f531f051b8c5477e1f1188de197394bd65d2&amp;content-typ [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 02:25:46</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Data.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Data.java?rev=a567a697479c7ceb75c2f3af1025ce01a239a16b&amp;content-typ [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 01:39:27</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>UnknownCommand.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/UnknownCommand.java?rev=e056bb822b497c5f9bf6c411505b4ed0d859c36b&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 01:08:40</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Device.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java?rev=d9ea5afd5d41a1ceb6fb364e1d185eac0c3aaf14&amp;conte [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-17 00:52:13</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Device.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Device.java?rev=fb2d3a8e5d71f5188574bde80209eaa625bfff51&amp;conte [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-17 00:21:06</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAbstractRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java?rev=5911a9487f083046acd348a65b89a050 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 23:36:28</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/UnsignedIntLEByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>UnsignedIntLEByteValue.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/UnsignedIntLEByteValue.java?rev=b5038ae2bc8a101833770c92a0d79cc2 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 23:33:37</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/<b>ByteValue.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/util/ByteValue.java?rev=c742acb871de115c09c55841fb2a950c6a742e77&amp;content-type=text/vnd.view [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 23:31:02</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAbstractRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java?rev=976d15f371d673d873ea85436fc7cd65 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 22:49:47</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/TimeStamp.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>TimeStamp.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/TimeStamp.java?rev=496da153a18b38200efaef53166e9b5167618972& [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 22:42:22</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>ADSState.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java?rev=08bb02006980a0b5eeab29a87d68bd645282de86&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 21:12:40</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAbstractRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java?rev=4e904bab0d7d134b852228dd705c9946 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 20:19:53</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>AdsReturnCode.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/AdsReturnCode.java?rev=961641201d74082978a1b0f0e09aa [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 19:51:59</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/<b>ADSProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/netty/ADSProtocolTest.java?rev=59316d3ab8dca68baa73e873da40f90fb40386f4&amp;content-type=text [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 19:50:21</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java?rev=98c1a422c120dff3d972ef18ed2f936a8c4b7245&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 19:43:42</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=f61c74018a1f2670c57aa50c3fb4ad7045636be6&amp;content-type=text/vnd.viewcvs-markup">v f61c74018a1f2670c57aa50c3fb4ad7045636be6</a><br /><br />manage commons-codec from parent-pom</td> 
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 18:57:14</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/<b>Plc4XADSProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java?rev=911135eb10bbef5fc8e49c182e1ed22c17224d20&amp;content-type=t [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 18:32:25</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 16:58:08</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAbstractRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java?rev=9b812751cc90a015b55b4501484c2a16 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 15:55:54</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java?rev=3124e57c489e853d42ff7a3e008504816ead926f&amp;content-type=text/vn [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 14:49:04</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAbstractRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAbstractRequest.java?rev=83a4a0c89d95597fd0c4a7091362ccde [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 09:55:51</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/<b>ADSPlcDriverTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java?rev=87c4def9883c6bac895985cce1261e56502257db&amp;content-type=text/vnd.viewcvs-ma [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 09:46:59</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=ad93bf0aee91c79ef3a2f68165b002907a27d41a&amp;content-type=text/vnd.viewcvs-markup">v ad93bf0aee91c79ef3a2f68165b002907a27d41a</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/jav [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 09:19:32</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=2a582d0304937230bdcb672866cde862b2a6733f&amp;content-type=text/vnd.viewcvs-markup">v 2a582d0304937230bdcb672866cde862b2a6733f</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/jav [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-15 17:46:25</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/<b>ADSPlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java?rev=6635fa77b43a10c44a9fa3c5eb50684a2c52aca3&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-13 09:49:09</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java?rev=1eae1c9c094f8d14195aa238276ca [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-12 15:01:33</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java?rev=6f76878e7233867b5ebb696dd1e474d70046e66c& [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-12 12:08:16</td> 
      <td>niclas &lt;niclas@hedhman.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java?rev=2080c40c02249db5f5ec0cf0b37b0ea0524 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-10 20:19:46</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/TcpSocketChannelFactory.java">plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/<b>TcpSocketChannelFactory.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/src/main/java/org/apache/plc4x/java/base/connection/TcpSocketChannelFactory.java? [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-10 19:46:29</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml">plc4j/protocols/driver-base/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml?rev=d260f0d659e6b92a59de2a7a2bd394b5c7b426da&amp;content-type=text/vnd.viewcvs-markup">v d260f0d659e6b92a59de2a7a2bd394b5c7b426da</a><br /><br />PLC4X-3 - Implement a testing framework for protocols<br /><br />- Removed [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-10 19:12:27</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml">plc4j/protocols/driver-base/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/driver-base/pom.xml?rev=acd9f40f23a0a649e399b3c82d5bd19cd09a5cb9&amp;content-type=text/vnd.viewcvs-markup">v acd9f40f23a0a649e399b3c82d5bd19cd09a5cb9</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/pr [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-09 15:51:07</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java?rev=d1c1e63da3eebdae580388ffc6442c629bb5f64f&amp;content- [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-09 09:18:31</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java?rev=98c06652682d67aff287955 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-08 14:02:19</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml?rev=86da20c173ad291e5f3d5fe4c56f37d7f3c2c538&amp;content-type=text/vnd.viewcvs-markup">v 86da20c173ad291e5f3d5fe4c56f37d7f3c2c538</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/or [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-08 09:22:12</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java?rev=a69e14e383449a291b81126cea6ef84b1c7ea6c9&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 22:42:59</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSReadResponse.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSReadResponse.java?rev=1833df73d4b59da430b2bfe27f956b262f92460d& [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 21:14:47</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>TcpHexDumper.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java?rev=e01a7b5197071720e29a2cdeae60d0fe554d8df8&amp;content-type=text/vnd.viewcvs [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 21:11:42</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSHeader.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/<b>CalculatedAMSHeader.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/calculated/CalculatedAMSHeader.java?rev [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 21:10:15</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 18:31:25</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>ADSState.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java?rev=5bfbcff0566c728426865f65d0fb2fe831098108&amp [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 17:28:09</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/<b>ADSPlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java?rev=daafbcdf55ca789034e2b9491a925d142e07c3fb&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 17:19:20</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/<b>Plc4XADSProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java?rev=3ab89ffa383f94f26ef700f183788dc66af4a07b&amp;content-type=t [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 17:07:58</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/<b>Plc4XADSProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/netty/Plc4XADSProtocol.java?rev=594ec254c1ba9c4801993dfe1c9907ebd489ccd3&amp;content-type=t [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 17:01:52</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>State.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/State.java?rev=2fb37fdfc046c1c0ea6ea1c710688c36ba79bcdc&amp;content-typ [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 16:55:45</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>ADSState.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ADSState.java?rev=444e16a8be7e32e2d88542e58ccc5b19b8dc55c8&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 16:37:57</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml?rev=c97330a4dfc8df4a2355225fb3fce46a292ef24b&amp;content-type=text/vnd.viewcvs-markup">v c97330a4dfc8df4a2355225fb3fce46a292ef24b</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/or [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 15:51:01</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/InvalidationNotificationHandle.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>InvalidationNotificationHandle.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/InvalidationNotifi [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 15:09:58</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSDumper.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/<b>ADSDumper.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSDumper.java?rev=b4f5570f15535db9dd3210a0afd42028f154e66d&amp;content-type=text/vnd.viewcvs-markup">v b4f5570f15535 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 14:54:50</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 13:50:54</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java?rev=4bd1219c07982c1373a212c8d0c1d86e9e7fc47d&amp;content-type=text/vnd.viewcvs-marku [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 12:56:15</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 12:22:14</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Length.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Length.java?rev=944cebf35cfaf74b43f23f0f55bd981febc5d597&amp;conte [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 12:21:42</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>TcpHexDumper.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/TcpHexDumper.java?rev=ff07d14c113fec25c3a96c832ceeca4afea2b4e3&amp;content-type=text/vnd.viewcvs [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 10:51:52</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 17:31:21</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=2a2d181d6409447008b8b024047508c649f68ff3&amp;content-type=text/vnd.viewcvs-markup">v 2a2d181d6409447008b8b024047508c649f68ff3</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/jav [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 17:16:47</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>Command.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/Command.java?rev=6cd273a16980518de87527717e42326d427b147b&amp;conte [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 16:47:32</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSWriteRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSWriteRequest.java?rev=f6092400a91c6b43bbd10a74a2fe3dc9855fe13a& [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 14:19:17</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/<b>ADSPlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/ADSPlcConnection.java?rev=eb4482f51e439271f92fd6c8b9bac46fee6f26e1&amp [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 14:16:32</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/<b>ADSPlcDriver.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java?rev=b1824a53fd0eb52f4678c53188ef07e59fa4701e&amp;content-type=text/vnd.viewcvs-markup">v b182 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 14:01:59</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/ExtendWithTcpHexDumper.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/<b>ExtendWithTcpHexDumper.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/util/ExtendWithTcpHexDumper.java?rev=4ff60289d292c0dfd0c737eb93ade501cd46ac28&amp [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 13:57:46</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/<b>ADSPlcDriverTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/ADSPlcDriverTest.java?rev=fe4f3d9b0be44a9d591f2a54cc2228582adf88f4&amp;content-type=text/vnd.viewcvs-ma [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 13:29:33</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=5be4ac88d6ec57c08ebc14af718405f48fcadf30&amp;content-type=text/vnd.viewcvs-markup">v 5be4ac88d6ec57c08ebc14af718405f48fcadf30</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/jav [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 11:43:40</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/<b>LengthTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/types/LengthTest.java?rev=90ecd7ccf8b50163706c69f7d976420d4907c9 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 11:39:52</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/SampleSize.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>SampleSize.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/SampleSize.java?rev=8e0e8e633c3c60ce2c99c062e0cf136da93edd [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 11:24:39</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=7805d0c1c89d12598250ea4a1677dec26ef6ffdd&amp;content-type=text/vnd.viewcvs-markup">v 7805d0c1c89d12598250ea4a1677dec26ef6ffdd</a><br /><br />fixed failing build</td> 
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 11:21:46</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ReadLength.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>ReadLength.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/ReadLength.java?rev=d0e34452450a8b76bf033aa85e8cd30746d4aa [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 11:17:22</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Length.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/<b>Length.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/types/Length.java?rev=46fa6504226d71010fe834ab9cfa9c8919e97860&amp;conte [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 10:45:08</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=5d3ecb85fa0afe392e335cdd10ffd393dfd58619&amp;content-type=text/vnd.viewcvs-markup">v 5d3ecb85fa0afe392e335cdd10ffd393dfd58619</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/jav [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 10:13:58</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSPort.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSPort.java?rev=013421c050cb145e7082d611a1c1168a9f14c1fa&amp;conte [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 10:09:55</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSPort.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/<b>AMSPort.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/generic/types/AMSPort.java?rev=5bf610ce2f52a2fbe162ceaaa26f26e6d3e5976c&amp;conte [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 10:07:11</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml">plc4j/protocols/ads/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/pom.xml?rev=813415f32f73124b7b54fc2f7a87e7bf92e3acc6&amp;content-type=text/vnd.viewcvs-markup">v 813415f32f73124b7b54fc2f7a87e7bf92e3acc6</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/jav [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 09:08:37</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/<b>ADSPlcDriver.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java?rev=bba1470b70012e7194aaef59c2585247d97b1878&amp;content-type=text/vnd.viewcvs-markup">v bba1 [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-02 08:54:47</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/<b>ADSPlcDriver.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/ADSPlcDriver.java?rev=1427280fa3893801a232fb74d8ea9f485b3ae3fd&amp;content-type=text/vnd.viewcvs-markup">v 1427 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-02 08:08:59</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSAddDeviceNotificationRequest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSAddDeviceNotificationRequest.ja [...]
diff --git a/plc4j/plc4j-protocols/file-activity.html b/plc4j/plc4j-protocols/file-activity.html
index 84d5f23..cc1b551 100644
--- a/plc4j/plc4j-protocols/file-activity.html
+++ b/plc4j/plc4j-protocols/file-activity.html
@@ -137,7 +137,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -154,8 +154,8 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 113<br />Total number of files changed: 207</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 114<br />Total number of files changed: 207</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -533,48 +533,48 @@
      <td>4</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/site/asciidoc/index.adoc">plc4j/protocols/ads/src/site/asciidoc/<b>index.adoc</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/site/asciidoc/index.adoc">plc4j/protocols/ads/src/site/asciidoc/<b>index.adoc</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/ADSAddress.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/model/<b>ADSAddress.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/CommandFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/commands/<b>CommandFactoryMethodTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
-     <td>2</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/GenericFactoryMethodTest.java">plc4j/protocols/ads/src/test/java/org/apache/plc4x/java/ads/api/generic/<b>GenericFactoryMethodTest.java</b></a> </td> 
+     <td>3</td> 
     </tr> 
     <tr class="a"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/ADSCommandType.java">plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/commands/<b>ADSCommandType.java</b></a> </td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/changelog.html b/plc4j/plc4j-protocols/plc4j-protocol-ads/changelog.html
index 161b27c..c5b083c 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/changelog.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 96<br />Total number of files changed: 167</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/dependencies.html b/plc4j/plc4j-protocols/plc4j-protocol-ads/dependencies.html
index a1ab77f..e9e1b21 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/dependencies.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/dependencies.html
@@ -1018,7 +1018,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/file-activity.html b/plc4j/plc4j-protocols/plc4j-protocol-ads/file-activity.html
index 1f3cb0c..4e8f4e8 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/file-activity.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 96<br />Total number of files changed: 167</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco-sessions.html b/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco-sessions.html
index e2e35c2..d815052 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco.xml b/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco.xml
index 2403bfc..3ec1a57 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco.xml
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: ADS"><sessioninfo id="asf919.gq1.ygridcore.net-4c967d82" start="1519815207759" dump="1519815223976"/><package name="org/apache/plc4x/java/ads/connection"><class name="org/apache/plc4x/java/ads/connection/ADSPlcConnection"><method name="&lt;init&gt;" desc="(Ljava/net/InetAddress;Lorg/apache/plc4x/java/ads/api/generic/types/AMSNetId;Lorg [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: ADS"><sessioninfo id="asf919.gq1.ygridcore.net-9f651b4a" start="1519896966781" dump="1519896983100"/><package name="org/apache/plc4x/java/ads/connection"><class name="org/apache/plc4x/java/ads/connection/ADSPlcConnection"><method name="&lt;init&gt;" desc="(Ljava/net/InetAddress;Lorg/apache/plc4x/java/ads/api/generic/types/AMSNetId;Lorg [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-ads/surefire-report.html b/plc4j/plc4j-protocols/plc4j-protocol-ads/surefire-report.html
index 9428dd2..2bcad4d 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-ads/surefire-report.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-ads/surefire-report.html
@@ -245,7 +245,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>103</td> 
     <td>72.606%</td> 
-    <td>15.708</td> 
+    <td>15.818</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -278,7 +278,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.008</td> 
+    <td>0.006</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.ads.api.generic">org.apache.plc4x.java.ads.api.generic</a></td> 
@@ -287,7 +287,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>1.593</td> 
+    <td>1.65</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.ads.connection">org.apache.plc4x.java.ads.connection</a></td> 
@@ -296,7 +296,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.005</td> 
+    <td>0.006</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.ads">org.apache.plc4x.java.ads</a></td> 
@@ -305,7 +305,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>12.332</td> 
+    <td>12.366</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.ads.api.commands.types">org.apache.plc4x.java.ads.api.commands.types</a></td> 
@@ -323,7 +323,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.772</td> 
+    <td>0.749</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.ads.model">org.apache.plc4x.java.ads.model</a></td> 
@@ -341,7 +341,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.881</td> 
+    <td>0.925</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.ads.api.generic.types">org.apache.plc4x.java.ads.api.generic.types</a></td> 
@@ -350,7 +350,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>16</td> 
     <td>76.812%</td> 
-    <td>0.071</td> 
+    <td>0.07</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -381,7 +381,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.008</td> 
+     <td>0.006</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -411,7 +411,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>1.593</td> 
+     <td>1.65</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -441,7 +441,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.005</td> 
+     <td>0.006</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -471,7 +471,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>12.332</td> 
+     <td>12.366</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -501,7 +501,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.typesSampleSizeTest"><i class="icon-ok"></i></a></td> 
@@ -511,7 +511,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.typesLengthTest"><i class="icon-ok"></i></a></td> 
@@ -581,7 +581,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.772</td> 
+     <td>0.749</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -641,7 +641,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.796</td> 
+     <td>0.832</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.nettyPlc4XADSProtocolTest"><i class="icon-ok"></i></a></td> 
@@ -651,7 +651,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.085</td> 
+     <td>0.093</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -681,7 +681,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesTcpLengthTest"><i class="icon-ok"></i></a></td> 
@@ -691,7 +691,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesStateTest"><i class="icon-ok"></i></a></td> 
@@ -701,7 +701,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesGenericTypesFactoryMethodTest"><i class="icon-warning-sign"></i></a></td> 
@@ -711,7 +711,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>16</td> 
      <td>50%</td> 
-     <td>0.016</td> 
+     <td>0.022</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesCommandTest"><i class="icon-ok"></i></a></td> 
@@ -721,7 +721,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.038</td> 
+     <td>0.029</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesDataLengthTest"><i class="icon-ok"></i></a></td> 
@@ -741,7 +741,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.001</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.typesAMSErrorTest"><i class="icon-ok"></i></a></td> 
@@ -751,7 +751,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0</td> 
+     <td>0.003</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -775,7 +775,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.AMSNetIdTest.netIdStringTooLong"></a>netIdStringTooLong</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -818,7 +818,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.TcpLengthTest.ofLong"></a>ofLong</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -836,7 +836,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.StateTest.equals"></a>equals</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -849,12 +849,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.util.ByteValueTest.checkUnsignedBoundsBig"></a>checkUnsignedBoundsBig</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.util.ByteValueTest.checkUnsignedBoundsLong"></a>checkUnsignedBoundsLong</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -932,7 +932,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfBytes0_class_org.apache.plc4x.java.ads.api.generic.types.AMSError"></a>testOfBytes[0 class org.apache.plc4x.java.ads.api.generic.types.AMSError]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfInt0_class_org.apache.plc4x.java.ads.api.generic.types.AMSError"><i class="icon-warning-sign"></i></a></td> 
@@ -968,7 +968,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfBytes1_class_org.apache.plc4x.java.ads.api.generic.types.AMSNetId"></a>testOfBytes[1 class org.apache.plc4x.java.ads.api.generic.types.AMSNetId]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfInt1_class_org.apache.plc4x.java.ads.api.generic.types.AMSNetId"><i class="icon-warning-sign"></i></a></td> 
@@ -1040,7 +1040,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfBytes3_class_org.apache.plc4x.java.ads.api.generic.types.Command"></a>testOfBytes[3 class org.apache.plc4x.java.ads.api.generic.types.Command]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfInt3_class_org.apache.plc4x.java.ads.api.generic.types.Command"><i class="icon-warning-sign"></i></a></td> 
@@ -1112,7 +1112,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfBytes5_class_org.apache.plc4x.java.ads.api.generic.types.Invoke"></a>testOfBytes[5 class org.apache.plc4x.java.ads.api.generic.types.Invoke]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfInt5_class_org.apache.plc4x.java.ads.api.generic.types.Invoke"><i class="icon-warning-sign"></i></a></td> 
@@ -1130,7 +1130,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfString5_class_org.apache.plc4x.java.ads.api.generic.types.Invoke"></a>testOfString[5 class org.apache.plc4x.java.ads.api.generic.types.Invoke]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.generic.types.GenericTypesFactoryMethodTest.testOfLong5_class_org.apache.plc4x.java.ads.api.generic.types.Invoke"><i class="icon-warning-sign"></i></a></td> 
@@ -1228,7 +1228,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf0_class_org.apache.plc4x.java.ads.api.commands.ADSAbstractRequest"></a>testOf[0 class org.apache.plc4x.java.ads.api.commands.ADSAbstractRequest]</td> 
-     <td>0.069</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1238,17 +1238,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf2_class_org.apache.plc4x.java.ads.api.commands.ADSAddDeviceNotificationRequest"></a>testOf[2 class org.apache.plc4x.java.ads.api.commands.ADSAddDeviceNotificationRequest]</td> 
-     <td>0.274</td> 
+     <td>0.282</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf3_class_org.apache.plc4x.java.ads.api.commands.ADSAddDeviceNotificationResponse"></a>testOf[3 class org.apache.plc4x.java.ads.api.commands.ADSAddDeviceNotificationResponse]</td> 
-     <td>0.062</td> 
+     <td>0.06</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf4_class_org.apache.plc4x.java.ads.api.commands.ADSDeleteDeviceNotificationRequest"></a>testOf[4 class org.apache.plc4x.java.ads.api.commands.ADSDeleteDeviceNotificationRequest]</td> 
-     <td>0.006</td> 
+     <td>0.007</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1273,27 +1273,27 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf9_class_org.apache.plc4x.java.ads.api.commands.ADSReadDeviceInfoResponse"></a>testOf[9 class org.apache.plc4x.java.ads.api.commands.ADSReadDeviceInfoResponse]</td> 
-     <td>0.093</td> 
+     <td>0.097</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf10_class_org.apache.plc4x.java.ads.api.commands.ADSReadRequest"></a>testOf[10 class org.apache.plc4x.java.ads.api.commands.ADSReadRequest]</td> 
-     <td>0.011</td> 
+     <td>0.01</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf11_class_org.apache.plc4x.java.ads.api.commands.ADSReadResponse"></a>testOf[11 class org.apache.plc4x.java.ads.api.commands.ADSReadResponse]</td> 
-     <td>0.029</td> 
+     <td>0.027</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf12_class_org.apache.plc4x.java.ads.api.commands.ADSReadStateRequest"></a>testOf[12 class org.apache.plc4x.java.ads.api.commands.ADSReadStateRequest]</td> 
-     <td>0.003</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf13_class_org.apache.plc4x.java.ads.api.commands.ADSReadStateResponse"></a>testOf[13 class org.apache.plc4x.java.ads.api.commands.ADSReadStateResponse]</td> 
-     <td>0.004</td> 
+     <td>0.006</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1303,22 +1303,22 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf15_class_org.apache.plc4x.java.ads.api.commands.ADSReadWriteResponse"></a>testOf[15 class org.apache.plc4x.java.ads.api.commands.ADSReadWriteResponse]</td> 
-     <td>0.007</td> 
+     <td>0.006</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf16_class_org.apache.plc4x.java.ads.api.commands.ADSWriteControlRequest"></a>testOf[16 class org.apache.plc4x.java.ads.api.commands.ADSWriteControlRequest]</td> 
-     <td>0.073</td> 
+     <td>0.057</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf17_class_org.apache.plc4x.java.ads.api.commands.ADSWriteControlResponse"></a>testOf[17 class org.apache.plc4x.java.ads.api.commands.ADSWriteControlResponse]</td> 
-     <td>0.006</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf18_class_org.apache.plc4x.java.ads.api.commands.ADSWriteRequest"></a>testOf[18 class org.apache.plc4x.java.ads.api.commands.ADSWriteRequest]</td> 
-     <td>0.01</td> 
+     <td>0.008</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1328,7 +1328,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.CommandFactoryMethodTest.testOf20_class_org.apache.plc4x.java.ads.api.commands.UnknownCommand"></a>testOf[20 class org.apache.plc4x.java.ads.api.commands.UnknownCommand]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1351,12 +1351,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.CommandTest.getByteBuf"></a>getByteBuf</td> 
-     <td>0.037</td> 
+     <td>0.029</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.CommandTest.getBytes"></a>getBytes</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1384,7 +1384,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.ReadLengthTest.ofLong"></a>ofLong</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1397,7 +1397,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.DataLengthTest.ofString"></a>ofString</td> 
-     <td>0.005</td> 
+     <td>0.006</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1412,7 +1412,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.DataLengthTest.ofBytesTooFew"></a>ofBytesTooFew</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1427,7 +1427,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.DataLengthTest.ofBytesJustRight"></a>ofBytesJustRight</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1440,7 +1440,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode0_ADSAddDeviceNotificationRequest"></a>decode[0 ADSAddDeviceNotificationRequest]</td> 
-     <td>0.209</td> 
+     <td>0.262</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1450,27 +1450,27 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip0_ADSAddDeviceNotificationRequest"></a>roundTrip[0 ADSAddDeviceNotificationRequest]</td> 
-     <td>0.006</td> 
+     <td>0.005</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode1_ADSAddDeviceNotificationResponse"></a>decode[1 ADSAddDeviceNotificationResponse]</td> 
-     <td>0.005</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode1_ADSAddDeviceNotificationResponse"></a>encode[1 ADSAddDeviceNotificationResponse]</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip1_ADSAddDeviceNotificationResponse"></a>roundTrip[1 ADSAddDeviceNotificationResponse]</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode2_ADSDeleteDeviceNotificationRequest"></a>decode[2 ADSDeleteDeviceNotificationRequest]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1485,7 +1485,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode3_ADSDeleteDeviceNotificationResponse"></a>decode[3 ADSDeleteDeviceNotificationResponse]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1505,17 +1505,17 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode4_ADSDeviceNotificationRequest"></a>encode[4 ADSDeviceNotificationRequest]</td> 
-     <td>0.002</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip4_ADSDeviceNotificationRequest"></a>roundTrip[4 ADSDeviceNotificationRequest]</td> 
-     <td>0.004</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode5_ADSReadDeviceInfoRequest"></a>decode[5 ADSReadDeviceInfoRequest]</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1535,7 +1535,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode6_ADSReadDeviceInfoResponse"></a>encode[6 ADSReadDeviceInfoResponse]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1565,12 +1565,12 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode8_ADSReadResponse"></a>encode[8 ADSReadResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip8_ADSReadResponse"></a>roundTrip[8 ADSReadResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1580,7 +1580,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode9_ADSReadStateRequest"></a>encode[9 ADSReadStateRequest]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1590,7 +1590,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode10_ADSReadStateResponse"></a>decode[10 ADSReadStateResponse]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1600,17 +1600,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip10_ADSReadStateResponse"></a>roundTrip[10 ADSReadStateResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode11_ADSReadWriteRequest"></a>decode[11 ADSReadWriteRequest]</td> 
-     <td>0.003</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode11_ADSReadWriteRequest"></a>encode[11 ADSReadWriteRequest]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1635,7 +1635,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode13_ADSWriteControlRequest"></a>decode[13 ADSWriteControlRequest]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1650,12 +1650,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.decode14_ADSWriteControlResponse"></a>decode[14 ADSWriteControlResponse]</td> 
-     <td>0.001</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode14_ADSWriteControlResponse"></a>encode[14 ADSWriteControlResponse]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1685,12 +1685,12 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.encode16_ADSWriteResponse"></a>encode[16 ADSWriteResponse]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.ADSProtocolTest.roundTrip16_ADSWriteResponse"></a>roundTrip[16 ADSWriteResponse]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1713,7 +1713,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.model.ADSAddressTest.of"></a>of</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1774,12 +1774,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.ADSPlcDriverTest.getConnectionNoAuthSupported"></a>getConnectionNoAuthSupported</td> 
-     <td>2.014</td> 
+     <td>2.011</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.ADSPlcDriverTest.getConnection"></a>getConnection</td> 
-     <td>2.271</td> 
+     <td>2.299</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1789,17 +1789,17 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.ADSPlcDriverTest.getConnectionUnknownHost"></a>getConnectionUnknownHost</td> 
-     <td>2.033</td> 
+     <td>2.034</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.ADSPlcDriverTest.getConnectionUnknownPort"></a>getConnectionUnknownPort</td> 
-     <td>2.004</td> 
+     <td>2.003</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.ADSPlcDriverTest.getProtocol"></a>getProtocol</td> 
-     <td>2.002</td> 
+     <td>2.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1873,12 +1873,12 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.GenericFactoryMethodTest.testOf1_class_org.apache.plc4x.java.ads.api.generic.AMSHeader"></a>testOf[1 class org.apache.plc4x.java.ads.api.generic.AMSHeader]</td> 
-     <td>1.557</td> 
+     <td>1.606</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.GenericFactoryMethodTest.testOf2_class_org.apache.plc4x.java.ads.api.generic.AMSTCPHeader"></a>testOf[2 class org.apache.plc4x.java.ads.api.generic.AMSTCPHeader]</td> 
-     <td>0.033</td> 
+     <td>0.041</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1896,17 +1896,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode0_Type:Boolean_TypeSafePlcWriteRequest_ADSWriteResponse"></a>decode[0 Type:Boolean TypeSafePlcWriteRequest ADSWriteResponse]</td> 
-     <td>0.02</td> 
+     <td>0.019</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.encode0_Type:Boolean_TypeSafePlcWriteRequest_ADSWriteResponse"></a>encode[0 Type:Boolean TypeSafePlcWriteRequest ADSWriteResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode1_Type:Boolean_TypeSafePlcReadRequest_ADSReadResponse"></a>decode[1 Type:Boolean TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0.003</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1926,7 +1926,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode3_Type:Byte_TypeSafePlcReadRequest_ADSReadResponse"></a>decode[3 Type:Byte TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1946,17 +1946,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode5_Type:Short_TypeSafePlcReadRequest_ADSReadResponse"></a>decode[5 Type:Short TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0.01</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.encode5_Type:Short_TypeSafePlcReadRequest_ADSReadResponse"></a>encode[5 Type:Short TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode6_Type:GregorianCalendar_TypeSafePlcWriteRequest_ADSWriteResponse"></a>decode[6 Type:GregorianCalendar TypeSafePlcWriteRequest ADSWriteResponse]</td> 
-     <td>0</td> 
+     <td>0.006</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1966,7 +1966,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode7_Type:GregorianCalendar_TypeSafePlcReadRequest_ADSReadResponse"></a>decode[7 Type:GregorianCalendar TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1976,12 +1976,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode8_Type:Float_TypeSafePlcWriteRequest_ADSWriteResponse"></a>decode[8 Type:Float TypeSafePlcWriteRequest ADSWriteResponse]</td> 
-     <td>0.003</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.encode8_Type:Float_TypeSafePlcWriteRequest_ADSWriteResponse"></a>encode[8 Type:Float TypeSafePlcWriteRequest ADSWriteResponse]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -2006,7 +2006,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.netty.Plc4XADSProtocolTest.decode11_Type:Integer_TypeSafePlcReadRequest_ADSReadResponse"></a>decode[11 Type:Integer TypeSafePlcReadRequest ADSReadResponse]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -2072,7 +2072,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.connection.ADSPlcConnectionTests.emptyParseAddress"></a>emptyParseAddress</td> 
-     <td>0.004</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -2152,7 +2152,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter0_class_org.apache.plc4x.java.ads.api.commands.types.AdsReturnCode"></a>testGetter[0 class org.apache.plc4x.java.ads.api.commands.types.AdsReturnCode]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong0_class_org.apache.plc4x.java.ads.api.commands.types.AdsReturnCode"><i class="icon-warning-sign"></i></a></td> 
@@ -2268,7 +2268,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfString2_class_org.apache.plc4x.java.ads.api.commands.types.CycleTime"></a>testOfString[2 class org.apache.plc4x.java.ads.api.commands.types.CycleTime]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfStringCharset2_class_org.apache.plc4x.java.ads.api.commands.types.CycleTime"><i class="icon-warning-sign"></i></a></td> 
@@ -2412,7 +2412,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter4_class_org.apache.plc4x.java.ads.api.commands.types.Device"></a>testGetter[4 class org.apache.plc4x.java.ads.api.commands.types.Device]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong4_class_org.apache.plc4x.java.ads.api.commands.types.Device"><i class="icon-warning-sign"></i></a></td> 
@@ -2577,7 +2577,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfBytes7_class_org.apache.plc4x.java.ads.api.commands.types.IndexOffset"></a>testOfBytes[7 class org.apache.plc4x.java.ads.api.commands.types.IndexOffset]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfInt7_class_org.apache.plc4x.java.ads.api.commands.types.IndexOffset"><i class="icon-warning-sign"></i></a></td> 
@@ -2680,7 +2680,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter8_class_org.apache.plc4x.java.ads.api.commands.types.Length"></a>testGetter[8 class org.apache.plc4x.java.ads.api.commands.types.Length]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong8_class_org.apache.plc4x.java.ads.api.commands.types.Length"><i class="icon-warning-sign"></i></a></td> 
@@ -2729,7 +2729,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfString9_class_org.apache.plc4x.java.ads.api.commands.types.MajorVersion"></a>testOfString[9 class org.apache.plc4x.java.ads.api.commands.types.MajorVersion]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfStringCharset9_class_org.apache.plc4x.java.ads.api.commands.types.MajorVersion"><i class="icon-warning-sign"></i></a></td> 
@@ -2747,7 +2747,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter9_class_org.apache.plc4x.java.ads.api.commands.types.MajorVersion"></a>testGetter[9 class org.apache.plc4x.java.ads.api.commands.types.MajorVersion]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong9_class_org.apache.plc4x.java.ads.api.commands.types.MajorVersion"><i class="icon-warning-sign"></i></a></td> 
@@ -2778,7 +2778,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfBytes10_class_org.apache.plc4x.java.ads.api.commands.types.MaxDelay"></a>testOfBytes[10 class org.apache.plc4x.java.ads.api.commands.types.MaxDelay]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfInt10_class_org.apache.plc4x.java.ads.api.commands.types.MaxDelay"><i class="icon-warning-sign"></i></a></td> 
@@ -2796,7 +2796,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfString10_class_org.apache.plc4x.java.ads.api.commands.types.MaxDelay"></a>testOfString[10 class org.apache.plc4x.java.ads.api.commands.types.MaxDelay]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfStringCharset10_class_org.apache.plc4x.java.ads.api.commands.types.MaxDelay"><i class="icon-warning-sign"></i></a></td> 
@@ -2997,7 +2997,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfString13_class_org.apache.plc4x.java.ads.api.commands.types.ReadLength"></a>testOfString[13 class org.apache.plc4x.java.ads.api.commands.types.ReadLength]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfStringCharset13_class_org.apache.plc4x.java.ads.api.commands.types.ReadLength"><i class="icon-warning-sign"></i></a></td> 
@@ -3046,7 +3046,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfBytes14_class_org.apache.plc4x.java.ads.api.commands.types.Result"></a>testOfBytes[14 class org.apache.plc4x.java.ads.api.commands.types.Result]</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfInt14_class_org.apache.plc4x.java.ads.api.commands.types.Result"><i class="icon-warning-sign"></i></a></td> 
@@ -3131,7 +3131,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfString15_class_org.apache.plc4x.java.ads.api.commands.types.Samples"></a>testOfString[15 class org.apache.plc4x.java.ads.api.commands.types.Samples]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfStringCharset15_class_org.apache.plc4x.java.ads.api.commands.types.Samples"><i class="icon-warning-sign"></i></a></td> 
@@ -3149,7 +3149,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter15_class_org.apache.plc4x.java.ads.api.commands.types.Samples"></a>testGetter[15 class org.apache.plc4x.java.ads.api.commands.types.Samples]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong15_class_org.apache.plc4x.java.ads.api.commands.types.Samples"><i class="icon-warning-sign"></i></a></td> 
@@ -3342,7 +3342,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testGetter18_class_org.apache.plc4x.java.ads.api.commands.types.TimeStamp"></a>testGetter[18 class org.apache.plc4x.java.ads.api.commands.types.TimeStamp]</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.ads.api.commands.types.CommandTypesFactoryMethodTest.testOfLong18_class_org.apache.plc4x.java.ads.api.commands.types.TimeStamp"><i class="icon-warning-sign"></i></a></td> 
@@ -3627,12 +3627,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.AMSErrorTest.errorByteBuf"></a>errorByteBuf</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.ads.api.generic.types.AMSErrorTest.errorLongTooBig"></a>errorLongTooBig</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/changelog.html b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/changelog.html
index 41234c2..a5c8a5c 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/changelog.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 4<br />Total number of files changed: 5</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/dependencies.html b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/dependencies.html
index d6eb8fd..36ccfd7 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/dependencies.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/dependencies.html
@@ -774,7 +774,7 @@
    </tr> 
    <tr class="a"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/file-activity.html b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/file-activity.html
index 56673ee..a2f3c30 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/file-activity.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 4<br />Total number of files changed: 5</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco-sessions.html b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco-sessions.html
index 325eb3b..5b7cfc1 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco.xml b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco.xml
index afaa907..af54828 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco.xml
+++ b/plc4j/plc4j-protocols/plc4j-protocol-driver-base/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: Driver-Base"><sessioninfo id="asf919.gq1.ygridcore.net-911aff9a" start="1519815198190" dump="1519815198583"/><package name="org/apache/plc4x/java/base/connection"><class name="org/apache/plc4x/java/base/connection/AbstractPlcConnection"><method name="&lt;init&gt;" desc="(Lorg/apache/plc4x/java/base/connection/ChannelFactory;)V" line="4 [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: Driver-Base"><sessioninfo id="asf919.gq1.ygridcore.net-9d0c5ff8" start="1519896957213" dump="1519896957585"/><package name="org/apache/plc4x/java/base/connection"><class name="org/apache/plc4x/java/base/connection/AbstractPlcConnection"><method name="&lt;init&gt;" desc="(Lorg/apache/plc4x/java/base/connection/ChannelFactory;)V" line="4 [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/changelog.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/changelog.html
index 39c9960..f4ada6a 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/changelog.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,8 +152,8 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 18<br />Total number of files changed: 34</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 19<br />Total number of files changed: 34</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -164,91 +164,96 @@
    </thead> 
    <tbody> 
     <tr class="b"> 
+     <td>2018-03-01 10:34:06</td> 
+     <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java?rev=f01125e3dcb6db298e1c83a8d0e492261667f411&amp;content-type=text/vnd.v [...]
+    </tr> 
+    <tr class="a"> 
      <td>2018-02-26 17:18:47</td> 
      <td>Dale LaBossiere &lt;dlaboss@us.ibm.com&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcTestConsole.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcTestConsole.java?rev=1d983949010427e28aa583ad30af2dbcef6d5f03&amp;content-type=text/vnd.viewcvs-markup"> [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-22 16:08:39</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java?rev=03b3c219ca4b59709f6e07b530761b652c77e3b1&amp;content-type=text/vnd.v [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-20 11:51:31</td> 
      <td>Justin Mclean &lt;jmclean@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java?rev=fb29bf19121afc81ebb7b8d9598d83bfb4a [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-19 11:02:21</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java?rev=2679bd6ff49134335eb11f5475ae7969fbfeed9f&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 19:50:21</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/<b>S7TypeTests.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/netty/model/types/S7TypeTests.java?rev=98c1a422c120dff3d972ef18ed2f936a8c4b7245&amp [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-16 15:55:54</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocol.java?rev=3124e57c489e853d42ff7a3e008504816ead926f&amp;content-type=text/vn [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-16 09:19:32</td> 
      <td>Sebastian Ru&Igrave;ˆhl &lt;sruehl@apache.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java?rev=2a582d0304937230bdcb672866cde862b2a6733f&amp;content- [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-13 09:49:09</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/<b>HeaderErrorClass.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/model/types/HeaderErrorClass.java?rev=1eae1c9c094f8d14195aa238276ca [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-12 15:01:33</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java?rev=6f76878e7233867b5ebb696dd1e474d70046e66c& [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-12 12:08:16</td> 
      <td>niclas &lt;niclas@hedhman.org&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java?rev=2080c40c02249db5f5ec0cf0b37b0ea0524 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-10 20:19:46</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java?rev=2912001bc4da67d5cc349356ff3cf61fa9ce4282&amp;content-type=text/vnd.v [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-10 19:12:27</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml?rev=acd9f40f23a0a649e399b3c82d5bd19cd09a5cb9&amp;content-type=text/vnd.viewcvs-markup">v acd9f40f23a0a649e399b3c82d5bd19cd09a5cb9</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/or [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-09 15:51:07</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnection.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java?rev=d1c1e63da3eebdae580388ffc6442c629bb5f64f&amp;content- [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-09 09:18:31</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/<b>IsotpModelTests.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/model/tpdus/IsotpModelTests.java?rev=98c06652682d67aff287955 [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-08 14:02:19</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml?rev=86da20c173ad291e5f3d5fe4c56f37d7f3c2c538&amp;content-type=text/vnd.viewcvs-markup">v 86da20c173ad291e5f3d5fe4c56f37d7f3c2c538</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/or [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-08 09:22:12</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java?rev=a69e14e383449a291b81126cea6ef84b1c7ea6c9&amp [...]
     </tr> 
-    <tr class="b"> 
+    <tr class="a"> 
      <td>2018-02-07 16:37:57</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml?rev=c97330a4dfc8df4a2355225fb3fce46a292ef24b&amp;content-type=text/vnd.viewcvs-markup">v c97330a4dfc8df4a2355225fb3fce46a292ef24b</a><br /><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/or [...]
     </tr> 
-    <tr class="a"> 
+    <tr class="b"> 
      <td>2018-02-07 13:50:54</td> 
      <td>Christofer Dutz &lt;christofer.dutz@c-ware.de&gt;</td> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcReaderSample.java</b></a> <a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcReaderSample.java?rev=4bd1219c07982c1373a212c8d0c1d86e9e7fc47d&amp;content-type=text/vnd.viewcvs-marku [...]
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/dependencies.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/dependencies.html
index d00b85e..ea0d246 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/dependencies.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/dependencies.html
@@ -980,7 +980,7 @@
    </tr> 
    <tr class="b"> 
     <td>plc4j-api-0.0.1-SNAPSHOT.jar</td> 
-    <td>42.9 kB</td> 
+    <td>43.8 kB</td> 
     <td>59</td> 
     <td>35</td> 
     <td>9</td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/file-activity.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/file-activity.html
index aa6494f..bc3cc66 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/file-activity.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,8 +151,8 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
-  <p>Total commits: 18<br />Total number of files changed: 34</p> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
+  <p>Total commits: 19<br />Total number of files changed: 34</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
     <tr class="a"> 
@@ -182,32 +182,32 @@
      <td>4</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/IsoOnTcpProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isoontcp/netty/<b>IsoOnTcpProtocolTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/S7PlcDriverTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/<b>S7PlcDriverTest.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/pom.xml">plc4j/protocols/s7/<b>pom.xml</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/TpduSize.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/isotp/netty/model/types/<b>TpduSize.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="b"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcConnectionIT.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcConnectionIT.java</b></a> </td> 
      <td>3</td> 
     </tr> 
     <tr class="a"> 
-     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.java">plc4j/protocols/s7/src/main/java/org/apache/plc4x/java/s7/netty/<b>Plc4XS7Protocol.java</b></a> </td> 
-     <td>2</td> 
+     <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/S7PlcTestConnection.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/s7/connection/<b>S7PlcTestConnection.java</b></a> </td> 
+     <td>3</td> 
     </tr> 
     <tr class="b"> 
      <td><a class="externalLink" href="https://github.com/apache/incubator-plc4x/plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/IsoTPProtocolTest.java">plc4j/protocols/s7/src/test/java/org/apache/plc4x/java/isotp/netty/<b>IsoTPProtocolTest.java</b></a> </td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/img/s7-netty-setup-communication.png b/plc4j/plc4j-protocols/plc4j-protocol-s7/img/s7-netty-setup-communication.png
index 1036268..eb82b9c 100644
Binary files a/plc4j/plc4j-protocols/plc4j-protocol-s7/img/s7-netty-setup-communication.png and b/plc4j/plc4j-protocols/plc4j-protocol-s7/img/s7-netty-setup-communication.png differ
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/index.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/index.html
index a791bbd..623aecd 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/index.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>PLC4J: Protocol: S7</title><script type="text/javascript"  [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>PLC4J: Protocol: S7</title><script type="text/javascript"  [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco-sessions.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco-sessions.html
index 394df2d..3c520c7 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.csv b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.csv
index 5f14780..a078502 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.csv
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.csv
@@ -47,7 +47,7 @@ PLC4J: Protocol: S7,org.apache.plc4x.java.isotp.netty.model.tpdus,DisconnectConf
 PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty,Plc4XS7Protocol.new Object() {...},3,23,0,0,0,1,0,1,0,1
 PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty,S7Protocol.new Object() {...},4,29,0,0,0,1,0,1,0,1
 PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty,S7Protocol,466,469,68,36,120,115,52,23,6,15
-PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty,Plc4XS7Protocol,101,560,22,56,18,144,24,31,2,13
+PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty,Plc4XS7Protocol,102,560,22,56,18,144,24,31,2,13
 PLC4J: Protocol: S7,org.apache.plc4x.java.isotp.netty,IsoTPProtocol.new Object() {...},11,75,0,0,0,2,0,1,0,1
 PLC4J: Protocol: S7,org.apache.plc4x.java.isotp.netty,IsoTPProtocol,106,682,23,67,23,177,19,55,1,18
 PLC4J: Protocol: S7,org.apache.plc4x.java.s7.netty.model.payloads.items,VarPayloadItem,0,21,0,0,0,8,0,4,0,4
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.xml b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.xml
index 9a9ccd0..6b25d6e 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.xml
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: S7"><sessioninfo id="asf919.gq1.ygridcore.net-95a55e75" start="1519815242880" dump="1519815245867"/><package name="org/apache/plc4x/java/isotp/netty/model/types"><class name="org/apache/plc4x/java/isotp/netty/model/types/ProtocolClass"><method name="&lt;init&gt;" desc="(Ljava/lang/String;IB)V" line="35"><counter type="INSTRUCTION" miss [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Protocol: S7"><sessioninfo id="asf919.gq1.ygridcore.net-fe0fa420" start="1519897002290" dump="1519897005316"/><package name="org/apache/plc4x/java/isotp/netty/model/types"><class name="org/apache/plc4x/java/isotp/netty/model/types/ProtocolClass"><method name="&lt;init&gt;" desc="(Ljava/lang/String;IB)V" line="35"><counter type="INSTRUCTION" miss [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol$1.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol$1.html
index d7342c2..727c1c6 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol$1.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol$1.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Plc4XS7Protocol.new Object() {...}</title><script ty [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Plc4XS7Protocol.new Object() {...}</title><script ty [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.html
index 308ed56..a86d71b 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Plc4XS7Protocol</title><script type="text/javascript [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Plc4XS7Protocol</title><script type="text/javascript [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.java.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.java.html
index 242329e..b8591b4 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.java.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/Plc4XS7Protocol.java.html
@@ -161,100 +161,99 @@ public class Plc4XS7Protocol extends MessageToMessageCodec&lt;S7Message, PlcRequ
             // Handle the response to a read request.
 <span class="fc bfc" id="L162" title="All 2 branches covered.">            if (request instanceof PlcReadRequest) {</span>
 <span class="fc" id="L163">                response = decodeReadRequest(responseMessage, requestContainer);</span>
-            }
-<span class="pc bpc" id="L165" title="1 of 2 branches missed.">            else if (request instanceof PlcWriteRequest) {</span>
-<span class="fc" id="L166">                response = decodeWriteRequest(responseMessage, requestContainer);</span>
+<span class="pc bpc" id="L164" title="1 of 2 branches missed.">            } else if (request instanceof PlcWriteRequest) {</span>
+<span class="fc" id="L165">                response = decodeWriteRequest(responseMessage, requestContainer);</span>
             }
 
             // Confirm the response being handled.
-<span class="pc bpc" id="L170" title="1 of 2 branches missed.">            if (response != null) {</span>
-<span class="fc" id="L171">                requestContainer.getResponseFuture().complete(response);</span>
+<span class="pc bpc" id="L169" title="1 of 2 branches missed.">            if (response != null) {</span>
+<span class="fc" id="L170">                requestContainer.getResponseFuture().complete(response);</span>
             }
         }
-<span class="fc" id="L174">    }</span>
+<span class="fc" id="L173">    }</span>
 
     @SuppressWarnings(&quot;unchecked&quot;)
     private PlcResponse decodeWriteRequest(S7ResponseMessage responseMessage, PlcRequestContainer requestContainer) throws PlcProtocolException {
         PlcResponse response;
-<span class="fc" id="L179">        PlcWriteRequest plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();</span>
-<span class="fc" id="L180">        List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = new LinkedList&lt;&gt;();</span>
-<span class="fc" id="L181">        VarPayload payload = responseMessage.getPayload(VarPayload.class)</span>
-<span class="pc" id="L182">            .orElseThrow(() -&gt; new PlcProtocolException(&quot;No VarPayload supplied&quot;));</span>
+<span class="fc" id="L178">        PlcWriteRequest plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();</span>
+<span class="fc" id="L179">        List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = new LinkedList&lt;&gt;();</span>
+<span class="fc" id="L180">        VarPayload payload = responseMessage.getPayload(VarPayload.class)</span>
+<span class="pc" id="L181">            .orElseThrow(() -&gt; new PlcProtocolException(&quot;No VarPayload supplied&quot;));</span>
         // If the numbers of items don't match, we're in big trouble as the only
         // way to know how to interpret the responses is by aligning them with the
         // items from the request as this information is not returned by the PLC.
-<span class="pc bpc" id="L186" title="1 of 2 branches missed.">        if (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {</span>
-<span class="nc" id="L187">            throw new PlcProtocolException(</span>
+<span class="pc bpc" id="L185" title="1 of 2 branches missed.">        if (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {</span>
+<span class="nc" id="L186">            throw new PlcProtocolException(</span>
                 &quot;The number of requested items doesn't match the number of returned items&quot;);
         }
-<span class="fc" id="L190">        List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();</span>
-<span class="fc" id="L191">        final int noPayLoadItems = payloadItems.size();</span>
-<span class="fc bfc" id="L192" title="All 2 branches covered.">        for (int i = 0; i &lt; noPayLoadItems; i++) {</span>
-<span class="fc" id="L193">            VarPayloadItem payloadItem = payloadItems.get(i);</span>
+<span class="fc" id="L189">        List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();</span>
+<span class="fc" id="L190">        final int noPayLoadItems = payloadItems.size();</span>
+<span class="fc bfc" id="L191" title="All 2 branches covered.">        for (int i = 0; i &lt; noPayLoadItems; i++) {</span>
+<span class="fc" id="L192">            VarPayloadItem payloadItem = payloadItems.get(i);</span>
 
             // Get the request item for this payload item
-<span class="fc" id="L196">            WriteRequestItem requestItem = plcWriteRequest.getRequestItems().get(i);</span>
+<span class="fc" id="L195">            WriteRequestItem requestItem = plcWriteRequest.getRequestItems().get(i);</span>
 
             // A write response contains only the return code for every item.
-<span class="fc" id="L199">            ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());</span>
+<span class="fc" id="L198">            ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());</span>
 
-<span class="fc" id="L201">            WriteResponseItem responseItem = new WriteResponseItem(requestItem, responseCode);</span>
-<span class="fc" id="L202">            responseItems.add(responseItem);</span>
+<span class="fc" id="L200">            WriteResponseItem responseItem = new WriteResponseItem(requestItem, responseCode);</span>
+<span class="fc" id="L201">            responseItems.add(responseItem);</span>
         }
 
-<span class="pc bpc" id="L205" title="1 of 2 branches missed.">        if (plcWriteRequest instanceof TypeSafePlcWriteRequest) {</span>
-<span class="fc" id="L206">            response = new TypeSafePlcWriteResponse((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);</span>
+<span class="pc bpc" id="L204" title="1 of 2 branches missed.">        if (plcWriteRequest instanceof TypeSafePlcWriteRequest) {</span>
+<span class="fc" id="L205">            response = new TypeSafePlcWriteResponse((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);</span>
         } else {
-<span class="nc" id="L208">            response = new PlcWriteResponse(plcWriteRequest, responseItems);</span>
+<span class="nc" id="L207">            response = new PlcWriteResponse(plcWriteRequest, responseItems);</span>
         }
-<span class="fc" id="L210">        return response;</span>
+<span class="fc" id="L209">        return response;</span>
     }
 
     @SuppressWarnings(&quot;unchecked&quot;)
     private PlcResponse decodeReadRequest(S7ResponseMessage responseMessage, PlcRequestContainer requestContainer) throws PlcProtocolException {
         PlcResponse response;
-<span class="fc" id="L216">        PlcReadRequest plcReadRequest = (PlcReadRequest) requestContainer.getRequest();</span>
+<span class="fc" id="L215">        PlcReadRequest plcReadRequest = (PlcReadRequest) requestContainer.getRequest();</span>
 
-<span class="fc" id="L218">        List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = new LinkedList&lt;&gt;();</span>
-<span class="fc" id="L219">        VarPayload payload = responseMessage.getPayload(VarPayload.class)</span>
-<span class="pc" id="L220">            .orElseThrow(() -&gt; new PlcProtocolException(&quot;No VarPayload supplied&quot;));</span>
+<span class="fc" id="L217">        List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = new LinkedList&lt;&gt;();</span>
+<span class="fc" id="L218">        VarPayload payload = responseMessage.getPayload(VarPayload.class)</span>
+<span class="pc" id="L219">            .orElseThrow(() -&gt; new PlcProtocolException(&quot;No VarPayload supplied&quot;));</span>
         // If the numbers of items don't match, we're in big trouble as the only
         // way to know how to interpret the responses is by aligning them with the
         // items from the request as this information is not returned by the PLC.
-<span class="pc bpc" id="L224" title="1 of 2 branches missed.">        if (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {</span>
-<span class="nc" id="L225">            throw new PlcProtocolException(</span>
+<span class="pc bpc" id="L223" title="1 of 2 branches missed.">        if (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {</span>
+<span class="nc" id="L224">            throw new PlcProtocolException(</span>
                 &quot;The number of requested items doesn't match the number of returned items&quot;);
         }
-<span class="fc" id="L228">        List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();</span>
-<span class="fc" id="L229">        final int noPayLoadItems = payloadItems.size();</span>
-<span class="fc bfc" id="L230" title="All 2 branches covered.">        for (int i = 0; i &lt; noPayLoadItems; i++) {</span>
-<span class="fc" id="L231">            VarPayloadItem payloadItem = payloadItems.get(i);</span>
+<span class="fc" id="L227">        List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();</span>
+<span class="fc" id="L228">        final int noPayLoadItems = payloadItems.size();</span>
+<span class="fc bfc" id="L229" title="All 2 branches covered.">        for (int i = 0; i &lt; noPayLoadItems; i++) {</span>
+<span class="fc" id="L230">            VarPayloadItem payloadItem = payloadItems.get(i);</span>
 
             // Get the request item for this payload item
-<span class="fc" id="L234">            ReadRequestItem requestItem = plcReadRequest.getRequestItems().get(i);</span>
+<span class="fc" id="L233">            ReadRequestItem requestItem = plcReadRequest.getRequestItems().get(i);</span>
 
-<span class="fc" id="L236">            ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());</span>
+<span class="fc" id="L235">            ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());</span>
 
             ReadResponseItem responseItem;
             // Something went wrong.
-<span class="pc bpc" id="L240" title="1 of 2 branches missed.">            if (responseCode != ResponseCode.OK) {</span>
-<span class="nc" id="L241">                responseItem = new ReadResponseItem&lt;&gt;(requestItem, responseCode, null);</span>
+<span class="pc bpc" id="L239" title="1 of 2 branches missed.">            if (responseCode != ResponseCode.OK) {</span>
+<span class="nc" id="L240">                responseItem = new ReadResponseItem&lt;&gt;(requestItem, responseCode);</span>
             }
             // All Ok.
             else {
-<span class="fc" id="L245">                byte[] data = payloadItem.getData();</span>
-<span class="fc" id="L246">                Class&lt;?&gt; datatype = requestItem.getDatatype();</span>
-<span class="fc" id="L247">                List&lt;?&gt; value = decodeData(datatype, data);</span>
-<span class="fc" id="L248">                responseItem = new ReadResponseItem(requestItem, responseCode, value);</span>
+<span class="fc" id="L244">                byte[] data = payloadItem.getData();</span>
+<span class="fc" id="L245">                Class&lt;?&gt; datatype = requestItem.getDatatype();</span>
+<span class="fc" id="L246">                List&lt;?&gt; value = decodeData(datatype, data);</span>
+<span class="fc" id="L247">                responseItem = new ReadResponseItem(requestItem, responseCode, value);</span>
             }
-<span class="fc" id="L250">            responseItems.add(responseItem);</span>
+<span class="fc" id="L249">            responseItems.add(responseItem);</span>
         }
-<span class="pc bpc" id="L252" title="1 of 2 branches missed.">        if (plcReadRequest instanceof TypeSafePlcReadRequest) {</span>
-<span class="fc" id="L253">            response = new TypeSafePlcReadResponse((TypeSafePlcReadRequest) plcReadRequest, responseItems);</span>
+<span class="pc bpc" id="L251" title="1 of 2 branches missed.">        if (plcReadRequest instanceof TypeSafePlcReadRequest) {</span>
+<span class="fc" id="L252">            response = new TypeSafePlcReadResponse((TypeSafePlcReadRequest) plcReadRequest, responseItems);</span>
         } else {
-<span class="nc" id="L255">            response = new PlcReadResponse(plcReadRequest, responseItems);</span>
+<span class="nc" id="L254">            response = new PlcReadResponse(plcReadRequest, responseItems);</span>
         }
-<span class="fc" id="L257">        return response;</span>
+<span class="fc" id="L256">        return response;</span>
     }
 
     ////////////////////////////////////////////////////////////////////////////////
@@ -263,67 +262,67 @@ public class Plc4XS7Protocol extends MessageToMessageCodec&lt;S7Message, PlcRequ
 
     private VarParameterItem encodeVarParameterItem(Address address, TransportSize transportSize, int size) throws PlcProtocolException {
         // Depending on the address type, generate the corresponding type of request item.
-<span class="pc bpc" id="L266" title="1 of 2 branches missed.">        if (!(address instanceof S7Address)) {</span>
-<span class="nc" id="L267">            throw new PlcProtocolException(&quot;Can only use S7Address types on S7 connection&quot;);</span>
+<span class="pc bpc" id="L265" title="1 of 2 branches missed.">        if (!(address instanceof S7Address)) {</span>
+<span class="nc" id="L266">            throw new PlcProtocolException(&quot;Can only use S7Address types on S7 connection&quot;);</span>
         }
-<span class="fc" id="L269">        S7Address s7Address = (S7Address) address;</span>
-<span class="fc bfc" id="L270" title="All 2 branches covered.">        if (s7Address instanceof S7DataBlockAddress) {</span>
-<span class="fc" id="L271">            S7DataBlockAddress s7DataBlockAddress = (S7DataBlockAddress) s7Address;</span>
-<span class="fc" id="L272">            return new S7AnyVarParameterItem(</span>
-<span class="fc" id="L273">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
+<span class="fc" id="L268">        S7Address s7Address = (S7Address) address;</span>
+<span class="fc bfc" id="L269" title="All 2 branches covered.">        if (s7Address instanceof S7DataBlockAddress) {</span>
+<span class="fc" id="L270">            S7DataBlockAddress s7DataBlockAddress = (S7DataBlockAddress) s7Address;</span>
+<span class="fc" id="L271">            return new S7AnyVarParameterItem(</span>
+<span class="fc" id="L272">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
                 transportSize, (short) size,
-<span class="fc" id="L275">                s7DataBlockAddress.getDataBlockNumber(), s7DataBlockAddress.getByteOffset(), (byte) 0);</span>
-<span class="fc bfc" id="L276" title="All 2 branches covered.">        } else if (s7Address instanceof S7BitAddress) {</span>
-<span class="fc" id="L277">            S7BitAddress s7BitAddress = (S7BitAddress) s7Address;</span>
-<span class="fc" id="L278">            return new S7AnyVarParameterItem(</span>
-<span class="fc" id="L279">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
+<span class="fc" id="L274">                s7DataBlockAddress.getDataBlockNumber(), s7DataBlockAddress.getByteOffset(), (byte) 0);</span>
+<span class="fc bfc" id="L275" title="All 2 branches covered.">        } else if (s7Address instanceof S7BitAddress) {</span>
+<span class="fc" id="L276">            S7BitAddress s7BitAddress = (S7BitAddress) s7Address;</span>
+<span class="fc" id="L277">            return new S7AnyVarParameterItem(</span>
+<span class="fc" id="L278">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
                 transportSize, (short) size, (short) 0,
-<span class="fc" id="L281">                s7Address.getByteOffset(), s7BitAddress.getBitOffset());</span>
+<span class="fc" id="L280">                s7Address.getByteOffset(), s7BitAddress.getBitOffset());</span>
         } else {
-<span class="fc" id="L283">            return new S7AnyVarParameterItem(</span>
-<span class="fc" id="L284">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
+<span class="fc" id="L282">            return new S7AnyVarParameterItem(</span>
+<span class="fc" id="L283">                SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),</span>
                 transportSize, (short) size, (short) 0,
-<span class="fc" id="L286">                s7Address.getByteOffset(), (byte) 0);</span>
+<span class="fc" id="L285">                s7Address.getByteOffset(), (byte) 0);</span>
         }
     }
 
     private TransportSize encodeTransportSize(Class&lt;?&gt; datatype) {
-<span class="fc bfc" id="L291" title="All 2 branches covered.">        if (datatype == Boolean.class) {</span>
-<span class="fc" id="L292">            return TransportSize.BIT;</span>
-<span class="fc bfc" id="L293" title="All 2 branches covered.">        } else if (datatype == Byte.class) {</span>
-<span class="fc" id="L294">            return TransportSize.BYTE;</span>
-<span class="fc bfc" id="L295" title="All 2 branches covered.">        } else if (datatype == Short.class) {</span>
-<span class="fc" id="L296">            return TransportSize.WORD;</span>
-<span class="pc bpc" id="L297" title="1 of 2 branches missed.">        } else if (datatype == Calendar.class) {</span>
-<span class="nc" id="L298">            return TransportSize.DATE_AND_TIME;</span>
-<span class="fc bfc" id="L299" title="All 2 branches covered.">        } else if (datatype == Float.class) {</span>
-<span class="fc" id="L300">            return TransportSize.REAL;</span>
-<span class="fc bfc" id="L301" title="All 2 branches covered.">        } else if (datatype == Integer.class) {</span>
-<span class="fc" id="L302">            return TransportSize.DWORD;</span>
-<span class="pc bpc" id="L303" title="1 of 2 branches missed.">        } else if (datatype == String.class) {</span>
-<span class="fc" id="L304">            return TransportSize.CHAR;</span>
+<span class="fc bfc" id="L290" title="All 2 branches covered.">        if (datatype == Boolean.class) {</span>
+<span class="fc" id="L291">            return TransportSize.BIT;</span>
+<span class="fc bfc" id="L292" title="All 2 branches covered.">        } else if (datatype == Byte.class) {</span>
+<span class="fc" id="L293">            return TransportSize.BYTE;</span>
+<span class="fc bfc" id="L294" title="All 2 branches covered.">        } else if (datatype == Short.class) {</span>
+<span class="fc" id="L295">            return TransportSize.WORD;</span>
+<span class="pc bpc" id="L296" title="1 of 2 branches missed.">        } else if (datatype == Calendar.class) {</span>
+<span class="nc" id="L297">            return TransportSize.DATE_AND_TIME;</span>
+<span class="fc bfc" id="L298" title="All 2 branches covered.">        } else if (datatype == Float.class) {</span>
+<span class="fc" id="L299">            return TransportSize.REAL;</span>
+<span class="fc bfc" id="L300" title="All 2 branches covered.">        } else if (datatype == Integer.class) {</span>
+<span class="fc" id="L301">            return TransportSize.DWORD;</span>
+<span class="pc bpc" id="L302" title="1 of 2 branches missed.">        } else if (datatype == String.class) {</span>
+<span class="fc" id="L303">            return TransportSize.CHAR;</span>
         }
-<span class="nc" id="L306">        return null;</span>
+<span class="nc" id="L305">        return null;</span>
     }
 
     private DataTransportSize encodeDataTransportSize(Class&lt;?&gt; datatype) {
-<span class="fc bfc" id="L310" title="All 2 branches covered.">        if (datatype == Boolean.class) {</span>
-<span class="fc" id="L311">            return DataTransportSize.BIT;</span>
-<span class="fc bfc" id="L312" title="All 2 branches covered.">        } else if (datatype == Byte.class) {</span>
-<span class="fc" id="L313">            return DataTransportSize.BYTE_WORD_DWORD;</span>
-<span class="fc bfc" id="L314" title="All 2 branches covered.">        } else if (datatype == Short.class) {</span>
-<span class="fc" id="L315">            return DataTransportSize.BYTE_WORD_DWORD;</span>
-<span class="pc bpc" id="L316" title="1 of 2 branches missed.">        } else if (datatype == Calendar.class) {</span>
+<span class="fc bfc" id="L309" title="All 2 branches covered.">        if (datatype == Boolean.class) {</span>
+<span class="fc" id="L310">            return DataTransportSize.BIT;</span>
+<span class="fc bfc" id="L311" title="All 2 branches covered.">        } else if (datatype == Byte.class) {</span>
+<span class="fc" id="L312">            return DataTransportSize.BYTE_WORD_DWORD;</span>
+<span class="fc bfc" id="L313" title="All 2 branches covered.">        } else if (datatype == Short.class) {</span>
+<span class="fc" id="L314">            return DataTransportSize.BYTE_WORD_DWORD;</span>
+<span class="pc bpc" id="L315" title="1 of 2 branches missed.">        } else if (datatype == Calendar.class) {</span>
             // TODO: Decide what to do here ...
-<span class="nc" id="L318">            return null;</span>
-<span class="fc bfc" id="L319" title="All 2 branches covered.">        } else if (datatype == Float.class) {</span>
-<span class="fc" id="L320">            return DataTransportSize.REAL;</span>
-<span class="fc bfc" id="L321" title="All 2 branches covered.">        } else if (datatype == Integer.class) {</span>
-<span class="fc" id="L322">            return DataTransportSize.BYTE_WORD_DWORD;</span>
-<span class="pc bpc" id="L323" title="1 of 2 branches missed.">        } else if (datatype == String.class) {</span>
-<span class="fc" id="L324">            return DataTransportSize.OCTET_STRING;</span>
+<span class="nc" id="L317">            return null;</span>
+<span class="fc bfc" id="L318" title="All 2 branches covered.">        } else if (datatype == Float.class) {</span>
+<span class="fc" id="L319">            return DataTransportSize.REAL;</span>
+<span class="fc bfc" id="L320" title="All 2 branches covered.">        } else if (datatype == Integer.class) {</span>
+<span class="fc" id="L321">            return DataTransportSize.BYTE_WORD_DWORD;</span>
+<span class="pc bpc" id="L322" title="1 of 2 branches missed.">        } else if (datatype == String.class) {</span>
+<span class="fc" id="L323">            return DataTransportSize.OCTET_STRING;</span>
         }
-<span class="nc" id="L326">        return null;</span>
+<span class="nc" id="L325">        return null;</span>
     }
 
     ////////////////////////////////////////////////////////////////////////////////
@@ -331,18 +330,18 @@ public class Plc4XS7Protocol extends MessageToMessageCodec&lt;S7Message, PlcRequ
     ////////////////////////////////////////////////////////////////////////////////
 
     private ResponseCode decodeResponseCode(DataTransportErrorCode dataTransportErrorCode) {
-<span class="pc bpc" id="L334" title="1 of 2 branches missed.">        if (dataTransportErrorCode == null) {</span>
-<span class="nc" id="L335">            return ResponseCode.INTERNAL_ERROR;</span>
+<span class="pc bpc" id="L333" title="1 of 2 branches missed.">        if (dataTransportErrorCode == null) {</span>
+<span class="nc" id="L334">            return ResponseCode.INTERNAL_ERROR;</span>
         }
-<span class="pc bpc" id="L337" title="3 of 4 branches missed.">        switch (dataTransportErrorCode) {</span>
+<span class="pc bpc" id="L336" title="3 of 4 branches missed.">        switch (dataTransportErrorCode) {</span>
             case OK:
-<span class="fc" id="L339">                return ResponseCode.OK;</span>
+<span class="fc" id="L338">                return ResponseCode.OK;</span>
             case NOT_FOUND:
-<span class="nc" id="L341">                return ResponseCode.NOT_FOUND;</span>
+<span class="nc" id="L340">                return ResponseCode.NOT_FOUND;</span>
             case INVALID_ADDRESS:
-<span class="nc" id="L343">                return ResponseCode.INVALID_ADDRESS;</span>
+<span class="nc" id="L342">                return ResponseCode.INVALID_ADDRESS;</span>
             default:
-<span class="nc" id="L345">                return ResponseCode.INTERNAL_ERROR;</span>
+<span class="nc" id="L344">                return ResponseCode.INTERNAL_ERROR;</span>
         }
     }
 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.html
index 65a7ded..8479b3a 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.s7.netty</title><script type=" [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.s7.netty</title><script type=" [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.source.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.source.html
index cba8c91..f1cd424 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.source.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/jacoco/org.apache.plc4x.java.s7.netty/index.source.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.s7.netty</title><script type=" [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.plc4x.java.s7.netty</title><script type=" [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/surefire-report.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/surefire-report.html
index 8a578d1..041f4cb 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/surefire-report.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/surefire-report.html
@@ -246,7 +246,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>1</td> 
     <td>99.275%</td> 
-    <td>2.483</td> 
+    <td>2.589</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -288,7 +288,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.43</td> 
+    <td>0.484</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.s7.netty">org.apache.plc4x.java.s7.netty</a></td> 
@@ -297,7 +297,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.55</td> 
+    <td>0.546</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.netty.events">org.apache.plc4x.java.netty.events</a></td> 
@@ -315,7 +315,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.004</td> 
+    <td>0.008</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.isotp.netty.model.params">org.apache.plc4x.java.isotp.netty.model.params</a></td> 
@@ -324,7 +324,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.002</td> 
+    <td>0.003</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.isotp.netty.model.types">org.apache.plc4x.java.isotp.netty.model.types</a></td> 
@@ -333,7 +333,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.005</td> 
+    <td>0.008</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.s7.model">org.apache.plc4x.java.s7.model</a></td> 
@@ -342,7 +342,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.001</td> 
+    <td>0</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.isotp.netty.model">org.apache.plc4x.java.isotp.netty.model</a></td> 
@@ -360,7 +360,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>1</td> 
     <td>66.667%</td> 
-    <td>0.009</td> 
+    <td>0.006</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.s7.netty.model.messages">org.apache.plc4x.java.s7.netty.model.messages</a></td> 
@@ -369,7 +369,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.005</td> 
+    <td>0.003</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.s7.connection">org.apache.plc4x.java.s7.connection</a></td> 
@@ -378,7 +378,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.028</td> 
+    <td>0.02</td> 
    </tr> 
    <tr class="b"> 
     <td><a href="#org.apache.plc4x.java.s7.netty.model.types">org.apache.plc4x.java.s7.netty.model.types</a></td> 
@@ -387,7 +387,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>0.007</td> 
+    <td>0.004</td> 
    </tr> 
    <tr class="a"> 
     <td><a href="#org.apache.plc4x.java.s7.netty.model.params">org.apache.plc4x.java.s7.netty.model.params</a></td> 
@@ -405,7 +405,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>0</td> 
     <td>100%</td> 
-    <td>1.442</td> 
+    <td>1.507</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -466,7 +466,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.43</td> 
+     <td>0.484</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -496,7 +496,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.502</td> 
+     <td>0.519</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.s7.nettyS7ProtocolTest"><i class="icon-ok"></i></a></td> 
@@ -506,7 +506,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.048</td> 
+     <td>0.027</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -566,7 +566,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.004</td> 
+     <td>0.008</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -596,7 +596,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><a href="#org.apache.plc4x.java.isotp.netty.model.paramsParameterTests"><i class="icon-ok"></i></a></td> 
@@ -636,7 +636,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.005</td> 
+     <td>0.008</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -666,7 +666,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -726,7 +726,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>1</td> 
      <td>66.667%</td> 
-     <td>0.009</td> 
+     <td>0.006</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -756,7 +756,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.005</td> 
+     <td>0.003</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -786,7 +786,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.028</td> 
+     <td>0.02</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -816,7 +816,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>0.007</td> 
+     <td>0.004</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -876,7 +876,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>0</td> 
      <td>100%</td> 
-     <td>1.442</td> 
+     <td>1.507</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -895,7 +895,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeSizeParameter"></a>encodeSizeParameter</td> 
-     <td>0.168</td> 
+     <td>0.177</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -925,12 +925,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeUnsupported"></a>decodeUnsupported</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeDisconnectionConfirm"></a>encodeDisconnectionConfirm</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -940,52 +940,52 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeSizeParameter"></a>decodeSizeParameter</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeData"></a>encodeData</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeChecksumParameter"></a>decodeChecksumParameter</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeChecksumParameter"></a>encodeChecksumParameter</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeUnsupported"></a>encodeUnsupported</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeConnectionConfirm"></a>decodeConnectionConfirm</td> 
-     <td>0.239</td> 
+     <td>0.277</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeConnectionConfirm"></a>encodeConnectionConfirm</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeConnectionRequest"></a>decodeConnectionRequest</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeDisconnectionConfirm"></a>decodeDisconnectionConfirm</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeConnectionRequest"></a>encodeConnectionRequest</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1005,12 +1005,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeAditionalInformationParameter"></a>encodeAditionalInformationParameter</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.decodeError"></a>decodeError</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1020,7 +1020,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.IsoTPProtocolTest.encodeError"></a>encodeError</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1033,7 +1033,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.connection.S7PlcConnectionTests.emptyParseAddress"></a>emptyParseAddress</td> 
-     <td>0.02</td> 
+     <td>0.015</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1048,7 +1048,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.connection.S7PlcConnectionTests.parseDatablockAddress"></a>parseDatablockAddress</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1076,7 +1076,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.model.S7AddressTests.testS7DatBlockAddress"></a>testS7DatBlockAddress</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1102,12 +1102,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode0"></a>decode[0]</td> 
-     <td>0.297</td> 
+     <td>0.305</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode0"></a>encode[0]</td> 
-     <td>0.004</td> 
+     <td>0.005</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1122,17 +1122,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode2"></a>decode[2]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode2"></a>encode[2]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode3"></a>decode[3]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1142,7 +1142,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode4"></a>decode[4]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1157,7 +1157,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode5"></a>encode[5]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1177,12 +1177,12 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode7"></a>encode[7]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode8"></a>decode[8]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1197,7 +1197,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode9"></a>encode[9]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1222,22 +1222,22 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode12"></a>decode[12]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode12"></a>encode[12]</td> 
-     <td>0.059</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode13"></a>decode[13]</td> 
-     <td>0.002</td> 
+     <td>0.056</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode13"></a>encode[13]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1247,7 +1247,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode14"></a>encode[14]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1262,7 +1262,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.decode16"></a>decode[16]</td> 
-     <td>0.001</td> 
+     <td>0.002</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1277,7 +1277,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.Plc4XS7ProtocolTest.encode17"></a>encode[17]</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1305,7 +1305,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.types.IsotpTypeTests.deviceGroupUnknown"></a>deviceGroupUnknown</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1340,7 +1340,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.types.IsotpTypeTests.tpduValueForGivenTooSmallSize"></a>tpduValueForGivenTooSmallSize</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1401,7 +1401,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.S7PlcDriverTest.getConnectionInvalidUrl"></a>getConnectionInvalidUrl</td> 
-     <td>0.006</td> 
+     <td>0.004</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1465,7 +1465,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.params.TsapParameterTests.callingPartameter"></a>callingPartameter</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1501,12 +1501,12 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.types.S7TypeTests.transportSize"></a>transportSize</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.types.S7TypeTests.unknownParameterType"></a>unknownParameterType</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1521,7 +1521,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.types.S7TypeTests.parameterType"></a>parameterType</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1531,7 +1531,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.types.S7TypeTests.unknownDataTransportErrorCode"></a>unknownDataTransportErrorCode</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1569,12 +1569,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.S7ProtocolTest.decode"></a>decode</td> 
-     <td>0.044</td> 
+     <td>0.025</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.S7ProtocolTest.encode"></a>encode</td> 
-     <td>0.002</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1587,7 +1587,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.params.ParameterTests.disconnectAdditionalInformationParameter"></a>disconnectAdditionalInformationParameter</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1610,12 +1610,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.tpdus.IsotpModelTests.connectionConfirmTpdu"></a>connectionConfirmTpdu</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.tpdus.IsotpModelTests.errorTpduParameter"></a>errorTpduParameter</td> 
-     <td>0.002</td> 
+     <td>0.003</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1630,7 +1630,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.tpdus.IsotpModelTests.errorTpdu"></a>errorTpdu</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1640,7 +1640,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isotp.netty.model.tpdus.IsotpModelTests.dataTpdu"></a>dataTpdu</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1653,17 +1653,17 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.messages.S7MessageTests.s7AnyVarParameterItem"></a>s7AnyVarParameterItem</td> 
-     <td>0.002</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.messages.S7MessageTests.s7ResponseMessage"></a>s7ResponseMessage</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.messages.S7MessageTests.s7RequestMessage"></a>s7RequestMessage</td> 
-     <td>0.001</td> 
+     <td>0</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
@@ -1678,7 +1678,7 @@ function toggleDisplay(elementId) {
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.s7.netty.model.messages.S7MessageTests.s7MessageParameters"></a>s7MessageParameters</td> 
-     <td>0</td> 
+     <td>0.001</td> 
     </tr> 
    </tbody> 
   </table> 
@@ -1691,12 +1691,12 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isoontcp.netty.IsoOnTcpProtocolTest.decodeTooShort"></a>decodeTooShort</td> 
-     <td>0.565</td> 
+     <td>0.588</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isoontcp.netty.IsoOnTcpProtocolTest.decode"></a>decode</td> 
-     <td>0.012</td> 
+     <td>0.013</td> 
     </tr> 
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
@@ -1711,7 +1711,7 @@ function toggleDisplay(elementId) {
     <tr class="a"> 
      <td><i class="icon-ok"></i></td> 
      <td><a name="TC_org.apache.plc4x.java.isoontcp.netty.IsoOnTcpProtocolTest.decodeLogPacketIfTraceLogging"></a>decodeLogPacketIfTraceLogging</td> 
-     <td>0.781</td> 
+     <td>0.818</td> 
     </tr> 
     <tr class="b"> 
      <td><i class="icon-ok"></i></td> 
diff --git a/plc4j/plc4j-protocols/plc4j-protocol-s7/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html b/plc4j/plc4j-protocols/plc4j-protocol-s7/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
index 81e7878..6b1a022 100644
--- a/plc4j/plc4j-protocols/plc4j-protocol-s7/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
+++ b/plc4j/plc4j-protocols/plc4j-protocol-s7/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
@@ -169,192 +169,191 @@
 <a class="jxr_linenumber" name="L161" href="#L161">161</a>             <em class="jxr_comment">// Handle the response to a read request.</em>
 <a class="jxr_linenumber" name="L162" href="#L162">162</a>             <strong class="jxr_keyword">if</strong> (request instanceof PlcReadRequest) {
 <a class="jxr_linenumber" name="L163" href="#L163">163</a>                 response = decodeReadRequest(responseMessage, requestContainer);
-<a class="jxr_linenumber" name="L164" href="#L164">164</a>             }
-<a class="jxr_linenumber" name="L165" href="#L165">165</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (request instanceof PlcWriteRequest) {
-<a class="jxr_linenumber" name="L166" href="#L166">166</a>                 response = decodeWriteRequest(responseMessage, requestContainer);
-<a class="jxr_linenumber" name="L167" href="#L167">167</a>             }
-<a class="jxr_linenumber" name="L168" href="#L168">168</a> 
-<a class="jxr_linenumber" name="L169" href="#L169">169</a>             <em class="jxr_comment">// Confirm the response being handled.</em>
-<a class="jxr_linenumber" name="L170" href="#L170">170</a>             <strong class="jxr_keyword">if</strong> (response != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L171" href="#L171">171</a>                 requestContainer.getResponseFuture().complete(response);
-<a class="jxr_linenumber" name="L172" href="#L172">172</a>             }
-<a class="jxr_linenumber" name="L173" href="#L173">173</a>         }
-<a class="jxr_linenumber" name="L174" href="#L174">174</a>     }
-<a class="jxr_linenumber" name="L175" href="#L175">175</a> 
-<a class="jxr_linenumber" name="L176" href="#L176">176</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">private</strong> PlcResponse decodeWriteRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, PlcRequestContainer requestContainer) <strong class="jxr_keyword">throws</strong> PlcProtocolException {
-<a class="jxr_linenumber" name="L178" href="#L178">178</a>         PlcResponse response;
-<a class="jxr_linenumber" name="L179" href="#L179">179</a>         PlcWriteRequest plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();
-<a class="jxr_linenumber" name="L180" href="#L180">180</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
-<a class="jxr_linenumber" name="L181" href="#L181">181</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L182" href="#L182">182</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
-<a class="jxr_linenumber" name="L183" href="#L183">183</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
-<a class="jxr_linenumber" name="L184" href="#L184">184</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
-<a class="jxr_linenumber" name="L185" href="#L185">185</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
-<a class="jxr_linenumber" name="L186" href="#L186">186</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
-<a class="jxr_linenumber" name="L187" href="#L187">187</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(
-<a class="jxr_linenumber" name="L188" href="#L188">188</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>         }
-<a class="jxr_linenumber" name="L190" href="#L190">190</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
-<a class="jxr_linenumber" name="L191" href="#L191">191</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
-<a class="jxr_linenumber" name="L192" href="#L192">192</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
-<a class="jxr_linenumber" name="L193" href="#L193">193</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
-<a class="jxr_linenumber" name="L194" href="#L194">194</a> 
-<a class="jxr_linenumber" name="L195" href="#L195">195</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
-<a class="jxr_linenumber" name="L196" href="#L196">196</a>             WriteRequestItem requestItem = plcWriteRequest.getRequestItems().get(i);
-<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
-<a class="jxr_linenumber" name="L198" href="#L198">198</a>             <em class="jxr_comment">// A write response contains only the return code for every item.</em>
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>             ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());
-<a class="jxr_linenumber" name="L200" href="#L200">200</a> 
-<a class="jxr_linenumber" name="L201" href="#L201">201</a>             WriteResponseItem responseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem(requestItem, responseCode);
-<a class="jxr_linenumber" name="L202" href="#L202">202</a>             responseItems.add(responseItem);
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>         }
-<a class="jxr_linenumber" name="L204" href="#L204">204</a> 
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest instanceof TypeSafePlcWriteRequest) {
-<a class="jxr_linenumber" name="L206" href="#L206">206</a>             response = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteResponse((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L207" href="#L207">207</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L208" href="#L208">208</a>             response = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L209" href="#L209">209</a>         }
-<a class="jxr_linenumber" name="L210" href="#L210">210</a>         <strong class="jxr_keyword">return</strong> response;
-<a class="jxr_linenumber" name="L211" href="#L211">211</a>     }
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> 
-<a class="jxr_linenumber" name="L213" href="#L213">213</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L214" href="#L214">214</a>     <strong class="jxr_keyword">private</strong> PlcResponse decodeReadRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, PlcRequestContainer requestContainer) <strong class="jxr_keyword">throws</strong> PlcProtocolException {
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>         PlcResponse response;
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>         PlcReadRequest plcReadRequest = (PlcReadRequest) requestContainer.getRequest();
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> 
-<a class="jxr_linenumber" name="L218" href="#L218">218</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L220" href="#L220">220</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
-<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
-<a class="jxr_linenumber" name="L225" href="#L225">225</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(
-<a class="jxr_linenumber" name="L226" href="#L226">226</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a>         }
-<a class="jxr_linenumber" name="L228" href="#L228">228</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
-<a class="jxr_linenumber" name="L229" href="#L229">229</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
-<a class="jxr_linenumber" name="L230" href="#L230">230</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
-<a class="jxr_linenumber" name="L231" href="#L231">231</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
-<a class="jxr_linenumber" name="L233" href="#L233">233</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>             ReadRequestItem requestItem = plcReadRequest.getRequestItems().get(i);
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> 
-<a class="jxr_linenumber" name="L236" href="#L236">236</a>             ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());
-<a class="jxr_linenumber" name="L237" href="#L237">237</a> 
-<a class="jxr_linenumber" name="L238" href="#L238">238</a>             ReadResponseItem responseItem;
-<a class="jxr_linenumber" name="L239" href="#L239">239</a>             <em class="jxr_comment">// Something went wrong.</em>
-<a class="jxr_linenumber" name="L240" href="#L240">240</a>             <strong class="jxr_keyword">if</strong> (responseCode != ResponseCode.OK) {
-<a class="jxr_linenumber" name="L241" href="#L241">241</a>                 responseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(requestItem, responseCode, <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="L242" href="#L242">242</a>             }
-<a class="jxr_linenumber" name="L243" href="#L243">243</a>             <em class="jxr_comment">// All Ok.</em>
-<a class="jxr_linenumber" name="L244" href="#L244">244</a>             <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L245" href="#L245">245</a>                 byte[] data = payloadItem.getData();
-<a class="jxr_linenumber" name="L246" href="#L246">246</a>                 Class&lt;?&gt; datatype = requestItem.getDatatype();
-<a class="jxr_linenumber" name="L247" href="#L247">247</a>                 List&lt;?&gt; value = decodeData(datatype, data);
-<a class="jxr_linenumber" name="L248" href="#L248">248</a>                 responseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem(requestItem, responseCode, value);
-<a class="jxr_linenumber" name="L249" href="#L249">249</a>             }
-<a class="jxr_linenumber" name="L250" href="#L250">250</a>             responseItems.add(responseItem);
-<a class="jxr_linenumber" name="L251" href="#L251">251</a>         }
-<a class="jxr_linenumber" name="L252" href="#L252">252</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest instanceof TypeSafePlcReadRequest) {
-<a class="jxr_linenumber" name="L253" href="#L253">253</a>             response = <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse((TypeSafePlcReadRequest) plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L254" href="#L254">254</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L255" href="#L255">255</a>             response = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L256" href="#L256">256</a>         }
-<a class="jxr_linenumber" name="L257" href="#L257">257</a>         <strong class="jxr_keyword">return</strong> response;
-<a class="jxr_linenumber" name="L258" href="#L258">258</a>     }
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> 
-<a class="jxr_linenumber" name="L260" href="#L260">260</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L261" href="#L261">261</a>     <em class="jxr_comment">// Encoding helpers.</em>
-<a class="jxr_linenumber" name="L262" href="#L262">262</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> 
-<a class="jxr_linenumber" name="L264" href="#L264">264</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/VarParameterItem.html">VarParameterItem</a> encodeVarParameterItem(Address address, <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> transportSize, <strong class="jxr_keyword">int</strong> size) <strong class="jxr_keyword">throws</strong> PlcProtoc [...]
-<a class="jxr_linenumber" name="L265" href="#L265">265</a>         <em class="jxr_comment">// Depending on the address type, generate the corresponding type of request item.</em>
-<a class="jxr_linenumber" name="L266" href="#L266">266</a>         <strong class="jxr_keyword">if</strong> (!(address instanceof S7Address)) {
-<a class="jxr_linenumber" name="L267" href="#L267">267</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"Can only use S7Address types on S7 connection"</span>);
-<a class="jxr_linenumber" name="L268" href="#L268">268</a>         }
-<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <a href="../../../../../../org/apache/plc4x/java/s7/model/S7Address.html">S7Address</a> s7Address = (S7Address) address;
-<a class="jxr_linenumber" name="L270" href="#L270">270</a>         <strong class="jxr_keyword">if</strong> (s7Address instanceof S7DataBlockAddress) {
-<a class="jxr_linenumber" name="L271" href="#L271">271</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7DataBlockAddress.html">S7DataBlockAddress</a> s7DataBlockAddress = (S7DataBlockAddress) s7Address;
-<a class="jxr_linenumber" name="L272" href="#L272">272</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L273" href="#L273">273</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L274" href="#L274">274</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size,
-<a class="jxr_linenumber" name="L275" href="#L275">275</a>                 s7DataBlockAddress.getDataBlockNumber(), s7DataBlockAddress.getByteOffset(), (byte) 0);
-<a class="jxr_linenumber" name="L276" href="#L276">276</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (s7Address instanceof S7BitAddress) {
-<a class="jxr_linenumber" name="L277" href="#L277">277</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7BitAddress.html">S7BitAddress</a> s7BitAddress = (S7BitAddress) s7Address;
-<a class="jxr_linenumber" name="L278" href="#L278">278</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L279" href="#L279">279</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L280" href="#L280">280</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
-<a class="jxr_linenumber" name="L281" href="#L281">281</a>                 s7Address.getByteOffset(), s7BitAddress.getBitOffset());
-<a class="jxr_linenumber" name="L282" href="#L282">282</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L283" href="#L283">283</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L284" href="#L284">284</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L285" href="#L285">285</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
-<a class="jxr_linenumber" name="L286" href="#L286">286</a>                 s7Address.getByteOffset(), (byte) 0);
-<a class="jxr_linenumber" name="L287" href="#L287">287</a>         }
-<a class="jxr_linenumber" name="L288" href="#L288">288</a>     }
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> 
-<a class="jxr_linenumber" name="L290" href="#L290">290</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> encodeTransportSize(Class&lt;?&gt; datatype) {
-<a class="jxr_linenumber" name="L291" href="#L291">291</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L292" href="#L292">292</a>             <strong class="jxr_keyword">return</strong> TransportSize.BIT;
-<a class="jxr_linenumber" name="L293" href="#L293">293</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L294" href="#L294">294</a>             <strong class="jxr_keyword">return</strong> TransportSize.BYTE;
-<a class="jxr_linenumber" name="L295" href="#L295">295</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L296" href="#L296">296</a>             <strong class="jxr_keyword">return</strong> TransportSize.WORD;
-<a class="jxr_linenumber" name="L297" href="#L297">297</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L298" href="#L298">298</a>             <strong class="jxr_keyword">return</strong> TransportSize.DATE_AND_TIME;
-<a class="jxr_linenumber" name="L299" href="#L299">299</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L300" href="#L300">300</a>             <strong class="jxr_keyword">return</strong> TransportSize.REAL;
-<a class="jxr_linenumber" name="L301" href="#L301">301</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L302" href="#L302">302</a>             <strong class="jxr_keyword">return</strong> TransportSize.DWORD;
-<a class="jxr_linenumber" name="L303" href="#L303">303</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L304" href="#L304">304</a>             <strong class="jxr_keyword">return</strong> TransportSize.CHAR;
-<a class="jxr_linenumber" name="L305" href="#L305">305</a>         }
-<a class="jxr_linenumber" name="L306" href="#L306">306</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L307" href="#L307">307</a>     }
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> 
-<a class="jxr_linenumber" name="L309" href="#L309">309</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportSize.html">DataTransportSize</a> encodeDataTransportSize(Class&lt;?&gt; datatype) {
-<a class="jxr_linenumber" name="L310" href="#L310">310</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L311" href="#L311">311</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BIT;
-<a class="jxr_linenumber" name="L312" href="#L312">312</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L313" href="#L313">313</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L314" href="#L314">314</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L315" href="#L315">315</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L316" href="#L316">316</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L317" href="#L317">317</a>             <em class="jxr_comment">// TODO: Decide what to do here ...</em>
-<a class="jxr_linenumber" name="L318" href="#L318">318</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L319" href="#L319">319</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L320" href="#L320">320</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.REAL;
-<a class="jxr_linenumber" name="L321" href="#L321">321</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L322" href="#L322">322</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L323" href="#L323">323</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L324" href="#L324">324</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.OCTET_STRING;
-<a class="jxr_linenumber" name="L325" href="#L325">325</a>         }
-<a class="jxr_linenumber" name="L326" href="#L326">326</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L327" href="#L327">327</a>     }
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> 
-<a class="jxr_linenumber" name="L329" href="#L329">329</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L330" href="#L330">330</a>     <em class="jxr_comment">// Decoding helpers.</em>
-<a class="jxr_linenumber" name="L331" href="#L331">331</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> 
-<a class="jxr_linenumber" name="L333" href="#L333">333</a>     <strong class="jxr_keyword">private</strong> ResponseCode decodeResponseCode(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportErrorCode.html">DataTransportErrorCode</a> dataTransportErrorCode) {
-<a class="jxr_linenumber" name="L334" href="#L334">334</a>         <strong class="jxr_keyword">if</strong> (dataTransportErrorCode == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L335" href="#L335">335</a>             <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
-<a class="jxr_linenumber" name="L336" href="#L336">336</a>         }
-<a class="jxr_linenumber" name="L337" href="#L337">337</a>         <strong class="jxr_keyword">switch</strong> (dataTransportErrorCode) {
-<a class="jxr_linenumber" name="L338" href="#L338">338</a>             <strong class="jxr_keyword">case</strong> OK:
-<a class="jxr_linenumber" name="L339" href="#L339">339</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.OK;
-<a class="jxr_linenumber" name="L340" href="#L340">340</a>             <strong class="jxr_keyword">case</strong> NOT_FOUND:
-<a class="jxr_linenumber" name="L341" href="#L341">341</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.NOT_FOUND;
-<a class="jxr_linenumber" name="L342" href="#L342">342</a>             <strong class="jxr_keyword">case</strong> INVALID_ADDRESS:
-<a class="jxr_linenumber" name="L343" href="#L343">343</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INVALID_ADDRESS;
-<a class="jxr_linenumber" name="L344" href="#L344">344</a>             <strong class="jxr_keyword">default</strong>:
-<a class="jxr_linenumber" name="L345" href="#L345">345</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
-<a class="jxr_linenumber" name="L346" href="#L346">346</a>         }
-<a class="jxr_linenumber" name="L347" href="#L347">347</a>     }
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> 
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> }
+<a class="jxr_linenumber" name="L164" href="#L164">164</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (request instanceof PlcWriteRequest) {
+<a class="jxr_linenumber" name="L165" href="#L165">165</a>                 response = decodeWriteRequest(responseMessage, requestContainer);
+<a class="jxr_linenumber" name="L166" href="#L166">166</a>             }
+<a class="jxr_linenumber" name="L167" href="#L167">167</a> 
+<a class="jxr_linenumber" name="L168" href="#L168">168</a>             <em class="jxr_comment">// Confirm the response being handled.</em>
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>             <strong class="jxr_keyword">if</strong> (response != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L170" href="#L170">170</a>                 requestContainer.getResponseFuture().complete(response);
+<a class="jxr_linenumber" name="L171" href="#L171">171</a>             }
+<a class="jxr_linenumber" name="L172" href="#L172">172</a>         }
+<a class="jxr_linenumber" name="L173" href="#L173">173</a>     }
+<a class="jxr_linenumber" name="L174" href="#L174">174</a> 
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>     <strong class="jxr_keyword">private</strong> PlcResponse decodeWriteRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, PlcRequestContainer requestContainer) <strong class="jxr_keyword">throws</strong> PlcProtocolException {
+<a class="jxr_linenumber" name="L177" href="#L177">177</a>         PlcResponse response;
+<a class="jxr_linenumber" name="L178" href="#L178">178</a>         PlcWriteRequest plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();
+<a class="jxr_linenumber" name="L179" href="#L179">179</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L181" href="#L181">181</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
+<a class="jxr_linenumber" name="L182" href="#L182">182</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
+<a class="jxr_linenumber" name="L183" href="#L183">183</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
+<a class="jxr_linenumber" name="L184" href="#L184">184</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(
+<a class="jxr_linenumber" name="L187" href="#L187">187</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
+<a class="jxr_linenumber" name="L188" href="#L188">188</a>         }
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
+<a class="jxr_linenumber" name="L192" href="#L192">192</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
+<a class="jxr_linenumber" name="L193" href="#L193">193</a> 
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>             WriteRequestItem requestItem = plcWriteRequest.getRequestItems().get(i);
+<a class="jxr_linenumber" name="L196" href="#L196">196</a> 
+<a class="jxr_linenumber" name="L197" href="#L197">197</a>             <em class="jxr_comment">// A write response contains only the return code for every item.</em>
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>             ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());
+<a class="jxr_linenumber" name="L199" href="#L199">199</a> 
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>             WriteResponseItem responseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem(requestItem, responseCode);
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>             responseItems.add(responseItem);
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>         }
+<a class="jxr_linenumber" name="L203" href="#L203">203</a> 
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest instanceof TypeSafePlcWriteRequest) {
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>             response = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteResponse((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L207" href="#L207">207</a>             response = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>         }
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>         <strong class="jxr_keyword">return</strong> response;
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>     }
+<a class="jxr_linenumber" name="L211" href="#L211">211</a> 
+<a class="jxr_linenumber" name="L212" href="#L212">212</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L213" href="#L213">213</a>     <strong class="jxr_keyword">private</strong> PlcResponse decodeReadRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, PlcRequestContainer requestContainer) <strong class="jxr_keyword">throws</strong> PlcProtocolException {
+<a class="jxr_linenumber" name="L214" href="#L214">214</a>         PlcResponse response;
+<a class="jxr_linenumber" name="L215" href="#L215">215</a>         PlcReadRequest plcReadRequest = (PlcReadRequest) requestContainer.getRequest();
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> 
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>         }
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> 
+<a class="jxr_linenumber" name="L232" href="#L232">232</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>             ReadRequestItem requestItem = plcReadRequest.getRequestItems().get(i);
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> 
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>             ResponseCode responseCode = decodeResponseCode(payloadItem.getReturnCode());
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>             ReadResponseItem responseItem;
+<a class="jxr_linenumber" name="L238" href="#L238">238</a>             <em class="jxr_comment">// Something went wrong.</em>
+<a class="jxr_linenumber" name="L239" href="#L239">239</a>             <strong class="jxr_keyword">if</strong> (responseCode != ResponseCode.OK) {
+<a class="jxr_linenumber" name="L240" href="#L240">240</a>                 responseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(requestItem, responseCode);
+<a class="jxr_linenumber" name="L241" href="#L241">241</a>             }
+<a class="jxr_linenumber" name="L242" href="#L242">242</a>             <em class="jxr_comment">// All Ok.</em>
+<a class="jxr_linenumber" name="L243" href="#L243">243</a>             <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L244" href="#L244">244</a>                 byte[] data = payloadItem.getData();
+<a class="jxr_linenumber" name="L245" href="#L245">245</a>                 Class&lt;?&gt; datatype = requestItem.getDatatype();
+<a class="jxr_linenumber" name="L246" href="#L246">246</a>                 List&lt;?&gt; value = decodeData(datatype, data);
+<a class="jxr_linenumber" name="L247" href="#L247">247</a>                 responseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem(requestItem, responseCode, value);
+<a class="jxr_linenumber" name="L248" href="#L248">248</a>             }
+<a class="jxr_linenumber" name="L249" href="#L249">249</a>             responseItems.add(responseItem);
+<a class="jxr_linenumber" name="L250" href="#L250">250</a>         }
+<a class="jxr_linenumber" name="L251" href="#L251">251</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest instanceof TypeSafePlcReadRequest) {
+<a class="jxr_linenumber" name="L252" href="#L252">252</a>             response = <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse((TypeSafePlcReadRequest) plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L253" href="#L253">253</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>             response = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L255" href="#L255">255</a>         }
+<a class="jxr_linenumber" name="L256" href="#L256">256</a>         <strong class="jxr_keyword">return</strong> response;
+<a class="jxr_linenumber" name="L257" href="#L257">257</a>     }
+<a class="jxr_linenumber" name="L258" href="#L258">258</a> 
+<a class="jxr_linenumber" name="L259" href="#L259">259</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
+<a class="jxr_linenumber" name="L260" href="#L260">260</a>     <em class="jxr_comment">// Encoding helpers.</em>
+<a class="jxr_linenumber" name="L261" href="#L261">261</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
+<a class="jxr_linenumber" name="L262" href="#L262">262</a> 
+<a class="jxr_linenumber" name="L263" href="#L263">263</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/VarParameterItem.html">VarParameterItem</a> encodeVarParameterItem(Address address, <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> transportSize, <strong class="jxr_keyword">int</strong> size) <strong class="jxr_keyword">throws</strong> PlcProtoc [...]
+<a class="jxr_linenumber" name="L264" href="#L264">264</a>         <em class="jxr_comment">// Depending on the address type, generate the corresponding type of request item.</em>
+<a class="jxr_linenumber" name="L265" href="#L265">265</a>         <strong class="jxr_keyword">if</strong> (!(address instanceof S7Address)) {
+<a class="jxr_linenumber" name="L266" href="#L266">266</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"Can only use S7Address types on S7 connection"</span>);
+<a class="jxr_linenumber" name="L267" href="#L267">267</a>         }
+<a class="jxr_linenumber" name="L268" href="#L268">268</a>         <a href="../../../../../../org/apache/plc4x/java/s7/model/S7Address.html">S7Address</a> s7Address = (S7Address) address;
+<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <strong class="jxr_keyword">if</strong> (s7Address instanceof S7DataBlockAddress) {
+<a class="jxr_linenumber" name="L270" href="#L270">270</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7DataBlockAddress.html">S7DataBlockAddress</a> s7DataBlockAddress = (S7DataBlockAddress) s7Address;
+<a class="jxr_linenumber" name="L271" href="#L271">271</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
+<a class="jxr_linenumber" name="L272" href="#L272">272</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
+<a class="jxr_linenumber" name="L273" href="#L273">273</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size,
+<a class="jxr_linenumber" name="L274" href="#L274">274</a>                 s7DataBlockAddress.getDataBlockNumber(), s7DataBlockAddress.getByteOffset(), (byte) 0);
+<a class="jxr_linenumber" name="L275" href="#L275">275</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (s7Address instanceof S7BitAddress) {
+<a class="jxr_linenumber" name="L276" href="#L276">276</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7BitAddress.html">S7BitAddress</a> s7BitAddress = (S7BitAddress) s7Address;
+<a class="jxr_linenumber" name="L277" href="#L277">277</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
+<a class="jxr_linenumber" name="L278" href="#L278">278</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
+<a class="jxr_linenumber" name="L279" href="#L279">279</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
+<a class="jxr_linenumber" name="L280" href="#L280">280</a>                 s7Address.getByteOffset(), s7BitAddress.getBitOffset());
+<a class="jxr_linenumber" name="L281" href="#L281">281</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L282" href="#L282">282</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
+<a class="jxr_linenumber" name="L283" href="#L283">283</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
+<a class="jxr_linenumber" name="L284" href="#L284">284</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
+<a class="jxr_linenumber" name="L285" href="#L285">285</a>                 s7Address.getByteOffset(), (byte) 0);
+<a class="jxr_linenumber" name="L286" href="#L286">286</a>         }
+<a class="jxr_linenumber" name="L287" href="#L287">287</a>     }
+<a class="jxr_linenumber" name="L288" href="#L288">288</a> 
+<a class="jxr_linenumber" name="L289" href="#L289">289</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> encodeTransportSize(Class&lt;?&gt; datatype) {
+<a class="jxr_linenumber" name="L290" href="#L290">290</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L291" href="#L291">291</a>             <strong class="jxr_keyword">return</strong> TransportSize.BIT;
+<a class="jxr_linenumber" name="L292" href="#L292">292</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L293" href="#L293">293</a>             <strong class="jxr_keyword">return</strong> TransportSize.BYTE;
+<a class="jxr_linenumber" name="L294" href="#L294">294</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L295" href="#L295">295</a>             <strong class="jxr_keyword">return</strong> TransportSize.WORD;
+<a class="jxr_linenumber" name="L296" href="#L296">296</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L297" href="#L297">297</a>             <strong class="jxr_keyword">return</strong> TransportSize.DATE_AND_TIME;
+<a class="jxr_linenumber" name="L298" href="#L298">298</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L299" href="#L299">299</a>             <strong class="jxr_keyword">return</strong> TransportSize.REAL;
+<a class="jxr_linenumber" name="L300" href="#L300">300</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L301" href="#L301">301</a>             <strong class="jxr_keyword">return</strong> TransportSize.DWORD;
+<a class="jxr_linenumber" name="L302" href="#L302">302</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L303" href="#L303">303</a>             <strong class="jxr_keyword">return</strong> TransportSize.CHAR;
+<a class="jxr_linenumber" name="L304" href="#L304">304</a>         }
+<a class="jxr_linenumber" name="L305" href="#L305">305</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L306" href="#L306">306</a>     }
+<a class="jxr_linenumber" name="L307" href="#L307">307</a> 
+<a class="jxr_linenumber" name="L308" href="#L308">308</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportSize.html">DataTransportSize</a> encodeDataTransportSize(Class&lt;?&gt; datatype) {
+<a class="jxr_linenumber" name="L309" href="#L309">309</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L310" href="#L310">310</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BIT;
+<a class="jxr_linenumber" name="L311" href="#L311">311</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L312" href="#L312">312</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
+<a class="jxr_linenumber" name="L313" href="#L313">313</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L314" href="#L314">314</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
+<a class="jxr_linenumber" name="L315" href="#L315">315</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L316" href="#L316">316</a>             <em class="jxr_comment">// TODO: Decide what to do here ...</em>
+<a class="jxr_linenumber" name="L317" href="#L317">317</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L318" href="#L318">318</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L319" href="#L319">319</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.REAL;
+<a class="jxr_linenumber" name="L320" href="#L320">320</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L321" href="#L321">321</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
+<a class="jxr_linenumber" name="L322" href="#L322">322</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
+<a class="jxr_linenumber" name="L323" href="#L323">323</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.OCTET_STRING;
+<a class="jxr_linenumber" name="L324" href="#L324">324</a>         }
+<a class="jxr_linenumber" name="L325" href="#L325">325</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="L326" href="#L326">326</a>     }
+<a class="jxr_linenumber" name="L327" href="#L327">327</a> 
+<a class="jxr_linenumber" name="L328" href="#L328">328</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
+<a class="jxr_linenumber" name="L329" href="#L329">329</a>     <em class="jxr_comment">// Decoding helpers.</em>
+<a class="jxr_linenumber" name="L330" href="#L330">330</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
+<a class="jxr_linenumber" name="L331" href="#L331">331</a> 
+<a class="jxr_linenumber" name="L332" href="#L332">332</a>     <strong class="jxr_keyword">private</strong> ResponseCode decodeResponseCode(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportErrorCode.html">DataTransportErrorCode</a> dataTransportErrorCode) {
+<a class="jxr_linenumber" name="L333" href="#L333">333</a>         <strong class="jxr_keyword">if</strong> (dataTransportErrorCode == <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L334" href="#L334">334</a>             <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
+<a class="jxr_linenumber" name="L335" href="#L335">335</a>         }
+<a class="jxr_linenumber" name="L336" href="#L336">336</a>         <strong class="jxr_keyword">switch</strong> (dataTransportErrorCode) {
+<a class="jxr_linenumber" name="L337" href="#L337">337</a>             <strong class="jxr_keyword">case</strong> OK:
+<a class="jxr_linenumber" name="L338" href="#L338">338</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.OK;
+<a class="jxr_linenumber" name="L339" href="#L339">339</a>             <strong class="jxr_keyword">case</strong> NOT_FOUND:
+<a class="jxr_linenumber" name="L340" href="#L340">340</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.NOT_FOUND;
+<a class="jxr_linenumber" name="L341" href="#L341">341</a>             <strong class="jxr_keyword">case</strong> INVALID_ADDRESS:
+<a class="jxr_linenumber" name="L342" href="#L342">342</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INVALID_ADDRESS;
+<a class="jxr_linenumber" name="L343" href="#L343">343</a>             <strong class="jxr_keyword">default</strong>:
+<a class="jxr_linenumber" name="L344" href="#L344">344</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
+<a class="jxr_linenumber" name="L345" href="#L345">345</a>         }
+<a class="jxr_linenumber" name="L346" href="#L346">346</a>     }
+<a class="jxr_linenumber" name="L347" href="#L347">347</a> 
+<a class="jxr_linenumber" name="L348" href="#L348">348</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/plc4j/plc4j-utils/changelog.html b/plc4j/plc4j-utils/changelog.html
index 78d1e0d..46fe77b 100644
--- a/plc4j/plc4j-utils/changelog.html
+++ b/plc4j/plc4j-utils/changelog.html
@@ -137,7 +137,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -155,7 +155,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 12<br />Total number of files changed: 13</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/file-activity.html b/plc4j/plc4j-utils/file-activity.html
index a95583e..6320387 100644
--- a/plc4j/plc4j-utils/file-activity.html
+++ b/plc4j/plc4j-utils/file-activity.html
@@ -137,7 +137,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -154,7 +154,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 12<br />Total number of files changed: 13</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/changelog.html b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/changelog.html
index f84e661..ef0cb0c 100644
--- a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/changelog.html
+++ b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/changelog.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -152,7 +152,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 10<br />Total number of files changed: 8</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/file-activity.html b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/file-activity.html
index 2beee02..4e498f5 100644
--- a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/file-activity.html
+++ b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/file-activity.html
@@ -134,7 +134,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -151,7 +151,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 10<br />Total number of files changed: 8</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco-sessions.html b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco-sessions.html
index c44ea48..fc6e26c 100644
--- a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco-sessions.html
+++ b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco-sessions.html
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="b [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco.xml b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco.xml
index b90f1de..a676224 100644
--- a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco.xml
+++ b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/jacoco/jacoco.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Utils: Raw-Sockets"><sessioninfo id="asf919.gq1.ygridcore.net-56021f11" start="1519815268026" dump="1519815268500"/><package name="org/apache/plc4x/java/utils/rawsockets"><class name="org/apache/plc4x/java/utils/rawsockets/RawSocketException"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="3" covered="0"/><co [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="PLC4J: Utils: Raw-Sockets"><sessioninfo id="asf919.gq1.ygridcore.net-c0b6909" start="1519897027542" dump="1519897028062"/><package name="org/apache/plc4x/java/utils/rawsockets"><class name="org/apache/plc4x/java/utils/rawsockets/RawSocketException"><method name="&lt;init&gt;" desc="()V" line="23"><counter type="INSTRUCTION" missed="3" covered="0"/><cou [...]
\ No newline at end of file
diff --git a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/surefire-report.html b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/surefire-report.html
index 7ef9156..93bfa84 100644
--- a/plc4j/plc4j-utils/plc4j-utils-raw-sockets/surefire-report.html
+++ b/plc4j/plc4j-utils/plc4j-utils-raw-sockets/surefire-report.html
@@ -216,7 +216,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>1</td> 
     <td>0%</td> 
-    <td>0.088</td> 
+    <td>0.097</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -249,7 +249,7 @@ function toggleDisplay(elementId) {
     <td>0</td> 
     <td>1</td> 
     <td>0%</td> 
-    <td>0.088</td> 
+    <td>0.097</td> 
    </tr> 
   </tbody> 
  </table> 
@@ -280,7 +280,7 @@ function toggleDisplay(elementId) {
      <td>0</td> 
      <td>1</td> 
      <td>0%</td> 
-     <td>0.088</td> 
+     <td>0.097</td> 
     </tr> 
    </tbody> 
   </table> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-test-utils/changelog.html b/plc4j/plc4j-utils/plc4j-utils-test-utils/changelog.html
index 3f16f98..5aee232 100644
--- a/plc4j/plc4j-utils/plc4j-utils-test-utils/changelog.html
+++ b/plc4j/plc4j-utils/plc4j-utils-test-utils/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 3</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-test-utils/file-activity.html b/plc4j/plc4j-utils/plc4j-utils-test-utils/file-activity.html
index 24db010..a9a788e 100644
--- a/plc4j/plc4j-utils/plc4j-utils-test-utils/file-activity.html
+++ b/plc4j/plc4j-utils/plc4j-utils-test-utils/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 3<br />Total number of files changed: 3</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/changelog.html b/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/changelog.html
index 49cb063..1a69c11 100644
--- a/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/changelog.html
+++ b/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/changelog.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -149,7 +149,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 1<br />Total number of files changed: 1</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/file-activity.html b/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/file-activity.html
index f55e4ec..4393090 100644
--- a/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/file-activity.html
+++ b/plc4j/plc4j-utils/plc4j-utils-wireshark-utils/file-activity.html
@@ -131,7 +131,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -148,7 +148,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 1<br />Total number of files changed: 1</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4s/changelog.html b/plc4s/changelog.html
index 43207f4..609e09c 100644
--- a/plc4s/changelog.html
+++ b/plc4s/changelog.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#Change_Log_Report" title="Change Log Report">Change Log Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -146,7 +146,7 @@
  </div> 
  <p>Total number of changed sets: 1</p> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/plc4s/file-activity.html b/plc4s/file-activity.html
index 7e9f0ac..584d332 100644
--- a/plc4s/file-activity.html
+++ b/plc4s/file-activity.html
@@ -128,7 +128,7 @@
                     <div class="nav-collapse collapse" id="toc-nav-collapse">
                         <ul id="toc" class="nav">
                                 <li class="toplevel"><a href="#File_Activity_Report" title="File Activity Report">File Activity Report</a></li>
-<li class="toplevel"><a href="#Changes_between_2018-01-29_and_2018-03-01" title="Changes between 2018-01-29 and 2018-03-01">Changes between 2018-01-29 and 2018-03-01</a></li>
+<li class="toplevel"><a href="#Changes_between_2018-01-30_and_2018-03-02" title="Changes between 2018-01-30 and 2018-03-02">Changes between 2018-01-30 and 2018-03-02</a></li>
                         </ul>
                     </div>
                 </div>
@@ -145,7 +145,7 @@
   <h2 id="File_Activity_Report">File Activity Report</h2>
  </div> 
  <div class="section"> 
-  <h3 id="Changes_between_2018-01-29_and_2018-03-01">Changes between 2018-01-29 and 2018-03-01</h3> 
+  <h3 id="Changes_between_2018-01-30_and_2018-03-02">Changes between 2018-01-30 and 2018-03-02</h3> 
   <p>Total commits: 0<br />Total number of files changed: 0</p> 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <thead> 
diff --git a/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html b/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
index fa7fb83..9dde1a5 100644
--- a/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
+++ b/xref-test/org/apache/plc4x/java/api/connection/PlcReaderTest.html
@@ -27,24 +27,46 @@
 <a class="jxr_linenumber" name="L19" href="#L19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.plc4x.java.api.connection;
 <a class="jxr_linenumber" name="L20" href="#L20">20</a>  
 <a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.PlcReadResponse;
-<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadRequest;
-<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.model.Address;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a>  
-<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.CompletableFuture;
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.mock;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html">PlcReaderTest</a> {
+<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.items.ReadResponseItem;
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.messages.specific.TypeSafePlcReadRequest;
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.model.Address;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.types.ResponseCode;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>  
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.CompletableFuture;
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ExecutionException;
 <a class="jxr_linenumber" name="L32" href="#L32">32</a>  
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>      @Test
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> read() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>          ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, Collections.emptyList())))
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>              .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>      }
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.Matchers.equalTo;
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.Matchers.instanceOf;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.mock;
 <a class="jxr_linenumber" name="L38" href="#L38">38</a>  
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  }
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/connection/PlcReaderTest.html">PlcReaderTest</a> {
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>  
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>      @Test
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> read() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>          ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, Collections.emptyList())))
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>              .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      }
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      @Test
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readWrongType() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>          <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>              ((PlcReader) readRequest -&gt; CompletableFuture.completedFuture(<strong class="jxr_keyword">new</strong> PlcReadResponse(readRequest, (List) Collections.singletonList(<strong class="jxr_keyword">new</strong> ReadResponseItem(readRequest.getRequestItem().get(), ResponseCode.OK, 1)))))
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>                  .read(<strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(String.<strong class="jxr_keyword">class</strong>, mock(Address.<strong class="jxr_keyword">class</strong>))).get();
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>              fail(<span class="jxr_string">"Should throw an exception"</span>);
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>          } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>              assertThat(e.getMessage(), equalTo(<span class="jxr_string">"Datatype of 1 doesn't macht required datatype of class java.lang.String"</span>));
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>          } <strong class="jxr_keyword">catch</strong> (ExecutionException e) {
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>              assertThat(e.getCause(), instanceOf(IllegalArgumentException.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>              assertThat(e.getCause().getMessage(), equalTo(<span class="jxr_string">"Unexpected data type class java.lang.Integer on readRequestItem. Expected class java.lang.String"</span>));
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>          }
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      }
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html b/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
index 90c6004..8e87595 100644
--- a/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
+++ b/xref-test/org/apache/plc4x/java/api/messages/APIMessageTests.html
@@ -40,249 +40,248 @@
 <a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.junit.experimental.categories.Category;
 <a class="jxr_linenumber" name="L33" href="#L33">33</a>  
 <a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <strong class="jxr_keyword">import</strong> java.util.Optional;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>  
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsCollectionWithSize.hasSize;
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsEmptyCollection.empty;
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsIterableContainingInOrder.contains;
-<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.core.IsEqual.equalTo;
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <strong class="jxr_keyword">import</strong> java.util.Optional;
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsCollectionWithSize.hasSize;
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsEmptyCollection.empty;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.collection.IsIterableContainingInOrder.contains;
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.hamcrest.core.IsEqual.equalTo;
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertThat;
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
 <a class="jxr_linenumber" name="L44" href="#L44">44</a>  
-<a class="jxr_linenumber" name="L45" href="#L45">45</a>  
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/APIMessageTests.html">APIMessageTests</a> {
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>  
-<a class="jxr_linenumber" name="L48" href="#L48">48</a>      @Test
-<a class="jxr_linenumber" name="L49" href="#L49">49</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItemSize() {
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
-<a class="jxr_linenumber" name="L56" href="#L56">56</a>      }
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>  
-<a class="jxr_linenumber" name="L58" href="#L58">58</a>      @Test
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L60" href="#L60">60</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItem() {
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>      }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>  
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>      @Test
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readResponseItem() {
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>          ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>          assertThat(<span class="jxr_string">"Unexpected response code"</span>, readResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>          assertThat(readResponseItem.getValues(), empty());
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>          assertThat(<span class="jxr_string">"Unexpected read request item"</span>, readResponseItem.getRequestItem(), equalTo(readRequestItem));
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>      }
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>      @Test
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItem() {
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x45);
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x45));
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
-<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Test
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItems() {
-<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>          Byte data[] = {(byte) 0x23, (byte) 0x84};
-<a class="jxr_linenumber" name="L95" href="#L95">95</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x23));
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(1), equalTo((byte) 0x84));
-<a class="jxr_linenumber" name="L100" href="#L100">100</a>     }
-<a class="jxr_linenumber" name="L101" href="#L101">101</a> 
-<a class="jxr_linenumber" name="L102" href="#L102">102</a>     @Test
-<a class="jxr_linenumber" name="L103" href="#L103">103</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L104" href="#L104">104</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeResponseItem() {
-<a class="jxr_linenumber" name="L105" href="#L105">105</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L106" href="#L106">106</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x3B);
-<a class="jxr_linenumber" name="L107" href="#L107">107</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
-<a class="jxr_linenumber" name="L108" href="#L108">108</a>         assertThat(<span class="jxr_string">"Unexpected response code"</span>, writeResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
-<a class="jxr_linenumber" name="L109" href="#L109">109</a>         assertThat(<span class="jxr_string">"Unexpected response item"</span>, writeResponseItem.getRequestItem(), equalTo(writeRequestItem));
-<a class="jxr_linenumber" name="L110" href="#L110">110</a>     }
-<a class="jxr_linenumber" name="L111" href="#L111">111</a> 
-<a class="jxr_linenumber" name="L112" href="#L112">112</a>     @Test
-<a class="jxr_linenumber" name="L113" href="#L113">113</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L114" href="#L114">114</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestEmpty() {
-<a class="jxr_linenumber" name="L115" href="#L115">115</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L116" href="#L116">116</a>         assertThat(plcReadRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L117" href="#L117">117</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L118" href="#L118">118</a>     }
-<a class="jxr_linenumber" name="L119" href="#L119">119</a> 
-<a class="jxr_linenumber" name="L120" href="#L120">120</a>     @Test
-<a class="jxr_linenumber" name="L121" href="#L121">121</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L122" href="#L122">122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddress() {
-<a class="jxr_linenumber" name="L123" href="#L123">123</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L124" href="#L124">124</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
-<a class="jxr_linenumber" name="L125" href="#L125">125</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L126" href="#L126">126</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L127" href="#L127">127</a>     }
-<a class="jxr_linenumber" name="L128" href="#L128">128</a> 
-<a class="jxr_linenumber" name="L129" href="#L129">129</a>     @Test
-<a class="jxr_linenumber" name="L130" href="#L130">130</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L131" href="#L131">131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestSize() {
-<a class="jxr_linenumber" name="L132" href="#L132">132</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L133" href="#L133">133</a>         PlcReadRequest plcReadRequest = PlcReadRequest.builder().addItem(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1).build(Byte.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L134" href="#L134">134</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L135" href="#L135">135</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L136" href="#L136">136</a>     }
-<a class="jxr_linenumber" name="L137" href="#L137">137</a> 
-<a class="jxr_linenumber" name="L138" href="#L138">138</a>     @Test
-<a class="jxr_linenumber" name="L139" href="#L139">139</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L140" href="#L140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddItem() {
-<a class="jxr_linenumber" name="L141" href="#L141">141</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L142" href="#L142">142</a>         assertThat(plcReadRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L143" href="#L143">143</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L144" href="#L144">144</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L145" href="#L145">145</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L146" href="#L146">146</a>         plcReadRequest.addItem(readRequestItem);
-<a class="jxr_linenumber" name="L147" href="#L147">147</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L148" href="#L148">148</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L149" href="#L149">149</a>     }
-<a class="jxr_linenumber" name="L150" href="#L150">150</a> 
-<a class="jxr_linenumber" name="L151" href="#L151">151</a>     @Test
-<a class="jxr_linenumber" name="L152" href="#L152">152</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L153" href="#L153">153</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadResponse() {
-<a class="jxr_linenumber" name="L154" href="#L154">154</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L155" href="#L155">155</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L156" href="#L156">156</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L157" href="#L157">157</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L158" href="#L158">158</a>         ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L159" href="#L159">159</a>         responseItems.add(readResponseItem);
-<a class="jxr_linenumber" name="L160" href="#L160">160</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L161" href="#L161">161</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L162" href="#L162">162</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcReadRequest));
-<a class="jxr_linenumber" name="L163" href="#L163">163</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
-<a class="jxr_linenumber" name="L164" href="#L164">164</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(readResponseItem));
-<a class="jxr_linenumber" name="L165" href="#L165">165</a>     }
-<a class="jxr_linenumber" name="L166" href="#L166">166</a> 
-<a class="jxr_linenumber" name="L167" href="#L167">167</a>     @Test
-<a class="jxr_linenumber" name="L168" href="#L168">168</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L169" href="#L169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestEmpty() {
-<a class="jxr_linenumber" name="L170" href="#L170">170</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L171" href="#L171">171</a>         assertThat(plcWriteRequest.getRequestItems(), empty());
-<a class="jxr_linenumber" name="L172" href="#L172">172</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcWriteRequest.getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L173" href="#L173">173</a>     }
-<a class="jxr_linenumber" name="L174" href="#L174">174</a> 
-<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @Test
-<a class="jxr_linenumber" name="L176" href="#L176">176</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObject() {
-<a class="jxr_linenumber" name="L178" href="#L178">178</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L179" href="#L179">179</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x33);
-<a class="jxr_linenumber" name="L180" href="#L180">180</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L181" href="#L181">181</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L182" href="#L182">182</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
-<a class="jxr_linenumber" name="L183" href="#L183">183</a>         assertThat(values.get(0), equalTo((byte) 0x33));
-<a class="jxr_linenumber" name="L184" href="#L184">184</a>     }
-<a class="jxr_linenumber" name="L185" href="#L185">185</a> 
-<a class="jxr_linenumber" name="L186" href="#L186">186</a>     @Test
-<a class="jxr_linenumber" name="L187" href="#L187">187</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L188" href="#L188">188</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObjects() {
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L190" href="#L190">190</a>         Byte[] data = {(byte) 0x22, (byte) 0x66};
-<a class="jxr_linenumber" name="L191" href="#L191">191</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
-<a class="jxr_linenumber" name="L192" href="#L192">192</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
-<a class="jxr_linenumber" name="L193" href="#L193">193</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
-<a class="jxr_linenumber" name="L194" href="#L194">194</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
-<a class="jxr_linenumber" name="L195" href="#L195">195</a>         assertThat(values.get(0), equalTo((byte) 0x22));
-<a class="jxr_linenumber" name="L196" href="#L196">196</a>         assertThat(values.get(1), equalTo((byte) 0x66));
-<a class="jxr_linenumber" name="L197" href="#L197">197</a>     }
-<a class="jxr_linenumber" name="L198" href="#L198">198</a> 
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>     @Test
-<a class="jxr_linenumber" name="L200" href="#L200">200</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L201" href="#L201">201</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteResponse() {
-<a class="jxr_linenumber" name="L202" href="#L202">202</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L204" href="#L204">204</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L206" href="#L206">206</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
-<a class="jxr_linenumber" name="L207" href="#L207">207</a>         responseItems.add(writeResponseItem);
-<a class="jxr_linenumber" name="L208" href="#L208">208</a>         PlcWriteResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L209" href="#L209">209</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
-<a class="jxr_linenumber" name="L210" href="#L210">210</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcWriteRequest));
-<a class="jxr_linenumber" name="L211" href="#L211">211</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
-<a class="jxr_linenumber" name="L212" href="#L212">212</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(writeResponseItem));
-<a class="jxr_linenumber" name="L213" href="#L213">213</a>     }
-<a class="jxr_linenumber" name="L214" href="#L214">214</a> 
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>     @Test
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L217" href="#L217">217</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcWriteResponseGetValue() {
-<a class="jxr_linenumber" name="L218" href="#L218">218</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem1 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem2 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L223" href="#L223">223</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem1 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem1, ResponseCode.OK);
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem2 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem2, ResponseCode.OK);
-<a class="jxr_linenumber" name="L225" href="#L225">225</a>         responseItems.add(writeResponseItem1);
-<a class="jxr_linenumber" name="L226" href="#L226">226</a>         responseItems.add(writeResponseItem2);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L228" href="#L228">228</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(writeRequestItem1);
-<a class="jxr_linenumber" name="L229" href="#L229">229</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue2 = plcWriteResponse.getValue(writeRequestItem2);
-<a class="jxr_linenumber" name="L230" href="#L230">230</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(writeResponseItem1)));
-<a class="jxr_linenumber" name="L231" href="#L231">231</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(writeResponseItem2)));
-<a class="jxr_linenumber" name="L232" href="#L232">232</a>     }
-<a class="jxr_linenumber" name="L233" href="#L233">233</a> 
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>     @Test
-<a class="jxr_linenumber" name="L235" href="#L235">235</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L236" href="#L236">236</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcWriteResponseGetValue() {
-<a class="jxr_linenumber" name="L237" href="#L237">237</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
-<a class="jxr_linenumber" name="L238" href="#L238">238</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L239" href="#L239">239</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L240" href="#L240">240</a>         WriteRequestItem&lt;Byte&gt; nonExistingWriteRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
-<a class="jxr_linenumber" name="L241" href="#L241">241</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L242" href="#L242">242</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(nonExistingWriteRequestItem);
-<a class="jxr_linenumber" name="L243" href="#L243">243</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
-<a class="jxr_linenumber" name="L244" href="#L244">244</a>     }
-<a class="jxr_linenumber" name="L245" href="#L245">245</a> 
-<a class="jxr_linenumber" name="L246" href="#L246">246</a>     @Test
-<a class="jxr_linenumber" name="L247" href="#L247">247</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L248" href="#L248">248</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcReadResponseGetValue() {
-<a class="jxr_linenumber" name="L249" href="#L249">249</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L250" href="#L250">250</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L251" href="#L251">251</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L252" href="#L252">252</a>         ReadRequestItem&lt;Byte&gt; readRequestItem1 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L253" href="#L253">253</a>         ReadRequestItem&lt;Byte&gt; readRequestItem2 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L254" href="#L254">254</a>         ReadResponseItem&lt;Byte&gt; readResponseItem1 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem1, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L255" href="#L255">255</a>         ReadResponseItem&lt;Byte&gt; readResponseItem2 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem2, ResponseCode.OK, Collections.emptyList());
-<a class="jxr_linenumber" name="L256" href="#L256">256</a>         responseItems.add(readResponseItem1);
-<a class="jxr_linenumber" name="L257" href="#L257">257</a>         responseItems.add(readResponseItem2);
-<a class="jxr_linenumber" name="L258" href="#L258">258</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L259" href="#L259">259</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(readRequestItem1);
-<a class="jxr_linenumber" name="L260" href="#L260">260</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue2 = plcReadResponse.getValue(readRequestItem2);
-<a class="jxr_linenumber" name="L261" href="#L261">261</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(readResponseItem1)));
-<a class="jxr_linenumber" name="L262" href="#L262">262</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(readResponseItem2)));
-<a class="jxr_linenumber" name="L263" href="#L263">263</a>     }
-<a class="jxr_linenumber" name="L264" href="#L264">264</a> 
-<a class="jxr_linenumber" name="L265" href="#L265">265</a>     @Test
-<a class="jxr_linenumber" name="L266" href="#L266">266</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L267" href="#L267">267</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcReadResponseGetValue() {
-<a class="jxr_linenumber" name="L268" href="#L268">268</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
-<a class="jxr_linenumber" name="L269" href="#L269">269</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="L270" href="#L270">270</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
-<a class="jxr_linenumber" name="L271" href="#L271">271</a>         ReadRequestItem&lt;Byte&gt; nonExistingReadRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
-<a class="jxr_linenumber" name="L272" href="#L272">272</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L273" href="#L273">273</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(nonExistingReadRequestItem);
-<a class="jxr_linenumber" name="L274" href="#L274">274</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
-<a class="jxr_linenumber" name="L275" href="#L275">275</a>     }
-<a class="jxr_linenumber" name="L276" href="#L276">276</a> 
-<a class="jxr_linenumber" name="L277" href="#L277">277</a> }
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/APIMessageTests.html">APIMessageTests</a> {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      @Test
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItemSize() {
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>      }
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>      @Test
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readRequestItem() {
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, readRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, readRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>          assertThat(<span class="jxr_string">"Unexpected size"</span>, readRequestItem.getSize(), equalTo(1));
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>      }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>      @Test
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> readResponseItem() {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>          ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>          ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          assertThat(<span class="jxr_string">"Unexpected response code"</span>, readResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>          assertThat(readResponseItem.getValues(), empty());
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>          assertThat(<span class="jxr_string">"Unexpected read request item"</span>, readResponseItem.getRequestItem(), equalTo(readRequestItem));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>      }
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>  
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>      @Test
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItem() {
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x45);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>  
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x45));
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>      }
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>      @Test
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRequestItems() {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>          <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>          Byte data[] = {(byte) 0x23, (byte) 0x84};
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>          WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          assertThat(<span class="jxr_string">"Unexpected address"</span>, writeRequestItem.getAddress(), equalTo(address));
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>          assertThat(<span class="jxr_string">"Unexpected data type"</span>, writeRequestItem.getDatatype(), equalTo(Byte.<strong class="jxr_keyword">class</strong>));
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(0), equalTo((byte) 0x23));
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>          assertThat(<span class="jxr_string">"Unexpected value"</span>, writeRequestItem.getValues().get(1), equalTo((byte) 0x84));
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>      }
+<a class="jxr_linenumber" name="L100" href="#L100">100</a> 
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>     @Test
+<a class="jxr_linenumber" name="L102" href="#L102">102</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L103" href="#L103">103</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeResponseItem() {
+<a class="jxr_linenumber" name="L104" href="#L104">104</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L105" href="#L105">105</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x3B);
+<a class="jxr_linenumber" name="L106" href="#L106">106</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L107" href="#L107">107</a>         assertThat(<span class="jxr_string">"Unexpected response code"</span>, writeResponseItem.getResponseCode(), equalTo(ResponseCode.OK));
+<a class="jxr_linenumber" name="L108" href="#L108">108</a>         assertThat(<span class="jxr_string">"Unexpected response item"</span>, writeResponseItem.getRequestItem(), equalTo(writeRequestItem));
+<a class="jxr_linenumber" name="L109" href="#L109">109</a>     }
+<a class="jxr_linenumber" name="L110" href="#L110">110</a> 
+<a class="jxr_linenumber" name="L111" href="#L111">111</a>     @Test
+<a class="jxr_linenumber" name="L112" href="#L112">112</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L113" href="#L113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestEmpty() {
+<a class="jxr_linenumber" name="L114" href="#L114">114</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L115" href="#L115">115</a>         assertThat(plcReadRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L116" href="#L116">116</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L117" href="#L117">117</a>     }
+<a class="jxr_linenumber" name="L118" href="#L118">118</a> 
+<a class="jxr_linenumber" name="L119" href="#L119">119</a>     @Test
+<a class="jxr_linenumber" name="L120" href="#L120">120</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L121" href="#L121">121</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddress() {
+<a class="jxr_linenumber" name="L122" href="#L122">122</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L123" href="#L123">123</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address);
+<a class="jxr_linenumber" name="L124" href="#L124">124</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L125" href="#L125">125</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L126" href="#L126">126</a>     }
+<a class="jxr_linenumber" name="L127" href="#L127">127</a> 
+<a class="jxr_linenumber" name="L128" href="#L128">128</a>     @Test
+<a class="jxr_linenumber" name="L129" href="#L129">129</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L130" href="#L130">130</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestSize() {
+<a class="jxr_linenumber" name="L131" href="#L131">131</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L132" href="#L132">132</a>         PlcReadRequest plcReadRequest = PlcReadRequest.builder().addItem(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1).build(Byte.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L133" href="#L133">133</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L134" href="#L134">134</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L135" href="#L135">135</a>     }
+<a class="jxr_linenumber" name="L136" href="#L136">136</a> 
+<a class="jxr_linenumber" name="L137" href="#L137">137</a>     @Test
+<a class="jxr_linenumber" name="L138" href="#L138">138</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L139" href="#L139">139</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadRequestAddItem() {
+<a class="jxr_linenumber" name="L140" href="#L140">140</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L141" href="#L141">141</a>         assertThat(plcReadRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L142" href="#L142">142</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcReadRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L143" href="#L143">143</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L144" href="#L144">144</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L145" href="#L145">145</a>         plcReadRequest.addItem(readRequestItem);
+<a class="jxr_linenumber" name="L146" href="#L146">146</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L147" href="#L147">147</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcReadRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L148" href="#L148">148</a>     }
+<a class="jxr_linenumber" name="L149" href="#L149">149</a> 
+<a class="jxr_linenumber" name="L150" href="#L150">150</a>     @Test
+<a class="jxr_linenumber" name="L151" href="#L151">151</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L152" href="#L152">152</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcReadResponse() {
+<a class="jxr_linenumber" name="L153" href="#L153">153</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L154" href="#L154">154</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L155" href="#L155">155</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L156" href="#L156">156</a>         ReadRequestItem&lt;Byte&gt; readRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L157" href="#L157">157</a>         ReadResponseItem&lt;Byte&gt; readResponseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L158" href="#L158">158</a>         responseItems.add(readResponseItem);
+<a class="jxr_linenumber" name="L159" href="#L159">159</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L160" href="#L160">160</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L161" href="#L161">161</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcReadRequest));
+<a class="jxr_linenumber" name="L162" href="#L162">162</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
+<a class="jxr_linenumber" name="L163" href="#L163">163</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(readResponseItem));
+<a class="jxr_linenumber" name="L164" href="#L164">164</a>     }
+<a class="jxr_linenumber" name="L165" href="#L165">165</a> 
+<a class="jxr_linenumber" name="L166" href="#L166">166</a>     @Test
+<a class="jxr_linenumber" name="L167" href="#L167">167</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L168" href="#L168">168</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestEmpty() {
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L170" href="#L170">170</a>         assertThat(plcWriteRequest.getRequestItems(), empty());
+<a class="jxr_linenumber" name="L171" href="#L171">171</a>         assertThat(<span class="jxr_string">"Expected request items to be zero"</span>, plcWriteRequest.getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L172" href="#L172">172</a>     }
+<a class="jxr_linenumber" name="L173" href="#L173">173</a> 
+<a class="jxr_linenumber" name="L174" href="#L174">174</a>     @Test
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObject() {
+<a class="jxr_linenumber" name="L177" href="#L177">177</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L178" href="#L178">178</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 0x33);
+<a class="jxr_linenumber" name="L179" href="#L179">179</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L181" href="#L181">181</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
+<a class="jxr_linenumber" name="L182" href="#L182">182</a>         assertThat(values.get(0), equalTo((byte) 0x33));
+<a class="jxr_linenumber" name="L183" href="#L183">183</a>     }
+<a class="jxr_linenumber" name="L184" href="#L184">184</a> 
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>     @Test
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L187" href="#L187">187</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteRequestObjects() {
+<a class="jxr_linenumber" name="L188" href="#L188">188</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>         Byte[] data = {(byte) 0x22, (byte) 0x66};
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> TypeSafePlcWriteRequest&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, data);
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getRequestItems(), hasSize(1));
+<a class="jxr_linenumber" name="L192" href="#L192">192</a>         assertThat(<span class="jxr_string">"Expected one request item"</span>, plcWriteRequest.getNumberOfItems(), equalTo(1));
+<a class="jxr_linenumber" name="L193" href="#L193">193</a>         List values = plcWriteRequest.getRequestItems().get(0).getValues();
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>         assertThat(values.get(0), equalTo((byte) 0x22));
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>         assertThat(values.get(1), equalTo((byte) 0x66));
+<a class="jxr_linenumber" name="L196" href="#L196">196</a>     }
+<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>     @Test
+<a class="jxr_linenumber" name="L199" href="#L199">199</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> plcWriteResponse() {
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L203" href="#L203">203</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem, ResponseCode.OK);
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>         responseItems.add(writeResponseItem);
+<a class="jxr_linenumber" name="L207" href="#L207">207</a>         PlcWriteResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getRequest().getNumberOfItems(), equalTo(0));
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>         assertThat(<span class="jxr_string">"Unexpected read request"</span>, plcReadResponse.getRequest(), equalTo(plcWriteRequest));
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>         assertThat(<span class="jxr_string">"Unexpected number of response items"</span>, plcReadResponse.getResponseItems(), hasSize(1));
+<a class="jxr_linenumber" name="L211" href="#L211">211</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, plcReadResponse.getResponseItems(), contains(writeResponseItem));
+<a class="jxr_linenumber" name="L212" href="#L212">212</a>     }
+<a class="jxr_linenumber" name="L213" href="#L213">213</a> 
+<a class="jxr_linenumber" name="L214" href="#L214">214</a>     @Test
+<a class="jxr_linenumber" name="L215" href="#L215">215</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L216" href="#L216">216</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcWriteResponseGetValue() {
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem1 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         WriteRequestItem&lt;Byte&gt; writeRequestItem2 = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem1 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem1, ResponseCode.OK);
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>         WriteResponseItem&lt;Byte&gt; writeResponseItem2 = <strong class="jxr_keyword">new</strong> WriteResponseItem&lt;&gt;(writeRequestItem2, ResponseCode.OK);
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>         responseItems.add(writeResponseItem1);
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>         responseItems.add(writeResponseItem2);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(writeRequestItem1);
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue2 = plcWriteResponse.getValue(writeRequestItem2);
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(writeResponseItem1)));
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(writeResponseItem2)));
+<a class="jxr_linenumber" name="L231" href="#L231">231</a>     }
+<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>     @Test
+<a class="jxr_linenumber" name="L234" href="#L234">234</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcWriteResponseGetValue() {
+<a class="jxr_linenumber" name="L236" href="#L236">236</a>         PlcWriteRequest plcWriteRequest = <strong class="jxr_keyword">new</strong> PlcWriteRequest();
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L238" href="#L238">238</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L239" href="#L239">239</a>         WriteRequestItem&lt;Byte&gt; nonExistingWriteRequestItem = <strong class="jxr_keyword">new</strong> WriteRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, (byte) 1);
+<a class="jxr_linenumber" name="L240" href="#L240">240</a>         PlcWriteResponse plcWriteResponse = <strong class="jxr_keyword">new</strong> PlcWriteResponse(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L241" href="#L241">241</a>         Optional&lt;WriteResponseItem&lt;Byte&gt;&gt; responseValue1 = plcWriteResponse.getValue(nonExistingWriteRequestItem);
+<a class="jxr_linenumber" name="L242" href="#L242">242</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
+<a class="jxr_linenumber" name="L243" href="#L243">243</a>     }
+<a class="jxr_linenumber" name="L244" href="#L244">244</a> 
+<a class="jxr_linenumber" name="L245" href="#L245">245</a>     @Test
+<a class="jxr_linenumber" name="L246" href="#L246">246</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L247" href="#L247">247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> bulkPlcReadResponseGetValue() {
+<a class="jxr_linenumber" name="L248" href="#L248">248</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L249" href="#L249">249</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L250" href="#L250">250</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L251" href="#L251">251</a>         ReadRequestItem&lt;Byte&gt; readRequestItem1 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L252" href="#L252">252</a>         ReadRequestItem&lt;Byte&gt; readRequestItem2 = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L253" href="#L253">253</a>         ReadResponseItem&lt;Byte&gt; readResponseItem1 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem1, ResponseCode.OK);
+<a class="jxr_linenumber" name="L254" href="#L254">254</a>         ReadResponseItem&lt;Byte&gt; readResponseItem2 = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(readRequestItem2, ResponseCode.OK);
+<a class="jxr_linenumber" name="L255" href="#L255">255</a>         responseItems.add(readResponseItem1);
+<a class="jxr_linenumber" name="L256" href="#L256">256</a>         responseItems.add(readResponseItem2);
+<a class="jxr_linenumber" name="L257" href="#L257">257</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L258" href="#L258">258</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(readRequestItem1);
+<a class="jxr_linenumber" name="L259" href="#L259">259</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue2 = plcReadResponse.getValue(readRequestItem2);
+<a class="jxr_linenumber" name="L260" href="#L260">260</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.of(readResponseItem1)));
+<a class="jxr_linenumber" name="L261" href="#L261">261</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue2, equalTo(Optional.of(readResponseItem2)));
+<a class="jxr_linenumber" name="L262" href="#L262">262</a>     }
+<a class="jxr_linenumber" name="L263" href="#L263">263</a> 
+<a class="jxr_linenumber" name="L264" href="#L264">264</a>     @Test
+<a class="jxr_linenumber" name="L265" href="#L265">265</a>     @Category(FastTests.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L266" href="#L266">266</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> nonExistingItemPlcReadResponseGetValue() {
+<a class="jxr_linenumber" name="L267" href="#L267">267</a>         PlcReadRequest plcReadRequest = <strong class="jxr_keyword">new</strong> PlcReadRequest();
+<a class="jxr_linenumber" name="L268" href="#L268">268</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a> address = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/mock/MockAddress.html">MockAddress</a>(<span class="jxr_string">"mock:/DATA"</span>);
+<a class="jxr_linenumber" name="L270" href="#L270">270</a>         ReadRequestItem&lt;Byte&gt; nonExistingReadRequestItem = <strong class="jxr_keyword">new</strong> ReadRequestItem&lt;&gt;(Byte.<strong class="jxr_keyword">class</strong>, address, 1);
+<a class="jxr_linenumber" name="L271" href="#L271">271</a>         PlcReadResponse plcReadResponse = <strong class="jxr_keyword">new</strong> PlcReadResponse(plcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L272" href="#L272">272</a>         Optional&lt;ReadResponseItem&lt;Byte&gt;&gt; responseValue1 = plcReadResponse.getValue(nonExistingReadRequestItem);
+<a class="jxr_linenumber" name="L273" href="#L273">273</a>         assertThat(<span class="jxr_string">"Unexpected items in response items"</span>, responseValue1, equalTo(Optional.empty()));
+<a class="jxr_linenumber" name="L274" href="#L274">274</a>     }
+<a class="jxr_linenumber" name="L275" href="#L275">275</a> 
+<a class="jxr_linenumber" name="L276" href="#L276">276</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html b/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
index e1c6d0d..5669468 100644
--- a/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
+++ b/xref-test/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html
@@ -33,66 +33,74 @@
 <a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
 <a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
 <a class="jxr_linenumber" name="L27" href="#L27">27</a>  
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>  
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.*;
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>  
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html">TypeSafePlcReadResponseTest</a> {
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>      ReadResponseItem&lt;String&gt; readResponseItemString;
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>      @Before
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>          readResponseItemString = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(mock(ReadRequestItem.<strong class="jxr_keyword">class</strong>), ResponseCode.OK, Arrays.asList(<span class="jxr_string">""</span>, <span class="jxr_string">""</span>));
-<a class="jxr_linenumber" name="L41" href="#L41">41</a>      }
-<a class="jxr_linenumber" name="L42" href="#L42">42</a>  
-<a class="jxr_linenumber" name="L43" href="#L43">43</a>      @Test(expected = IllegalArgumentException.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L44" href="#L44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctor() {
-<a class="jxr_linenumber" name="L45" href="#L45">45</a>          TypeSafePlcReadRequest mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L46" href="#L46">46</a>          when(mock.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L47" href="#L47">47</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
-<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, Collections.singletonList(readResponseItemString));
-<a class="jxr_linenumber" name="L49" href="#L49">49</a>          when(mock.getDataType()).thenReturn(Byte.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
-<a class="jxr_linenumber" name="L51" href="#L51">51</a>          <em class="jxr_comment">// expects an exception</em>
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>      }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>  
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>      @Test
-<a class="jxr_linenumber" name="L56" href="#L56">56</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> of() {
-<a class="jxr_linenumber" name="L57" href="#L57">57</a>          {
-<a class="jxr_linenumber" name="L58" href="#L58">58</a>              TypeSafePlcReadResponse.of(mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS));
-<a class="jxr_linenumber" name="L59" href="#L59">59</a>          }
-<a class="jxr_linenumber" name="L60" href="#L60">60</a>          {
-<a class="jxr_linenumber" name="L61" href="#L61">61</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>              when(response.getRequest()).thenReturn(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS));
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>              TypeSafePlcReadResponse.of(response);
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          }
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>          {
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>              when(response.getResponseItems()).thenReturn((List) Collections.singletonList(readResponseItemString));
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>              TypeSafePlcReadResponse.of(response);
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>          }
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>      }
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>  
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>      @Test
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getRequest() {
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getRequest();
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>      }
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>  
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>      @Test
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItems() {
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItems();
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>      }
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>  
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>      @Test
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItem() {
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItem();
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>      }
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>  
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>  }
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.mockito.Mockito.*;
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>  
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponseTest.html">TypeSafePlcReadResponseTest</a> {
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>  
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>      ReadResponseItem&lt;String&gt; readResponseItemString;
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>  
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>      @Before
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>          ReadRequestItem&lt;String&gt; mock = mock(ReadRequestItem.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>          when(mock.getDatatype()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>          readResponseItemString = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(mock, ResponseCode.OK, <span class="jxr_string">""</span>, <span class="jxr_string">""</span>);
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      }
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>      @Test
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctor() {
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>          TypeSafePlcReadRequest&lt;String&gt; mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>          when(mock.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, readResponseItemString);
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock, Collections.singletonList(readResponseItemString));
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>      }
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>  
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>      @Test(expected = IllegalArgumentException.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> constuctorWrong() {
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>          TypeSafePlcReadRequest&lt;Byte&gt; mock = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>          when(mock.getDataType()).thenReturn(Byte.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  
+<a class="jxr_linenumber" name="L57" href="#L57">57</a>          <em class="jxr_comment">// expects an exception</em>
+<a class="jxr_linenumber" name="L58" href="#L58">58</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse(mock, readResponseItemString);
+<a class="jxr_linenumber" name="L59" href="#L59">59</a>      }
+<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
+<a class="jxr_linenumber" name="L61" href="#L61">61</a>      @Test
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> of() {
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          {
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>              TypeSafePlcReadResponse.of(mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS), String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>          }
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>          {
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>              TypeSafePlcReadRequest typeSafePlcReadRequest = mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>              when(typeSafePlcReadRequest.getDataType()).thenReturn(String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>              when(response.getRequest()).thenReturn(typeSafePlcReadRequest);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>              TypeSafePlcReadResponse.of(response, String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>          }
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          {
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>              PlcReadResponse response = mock(PlcReadResponse.<strong class="jxr_keyword">class</strong>, RETURNS_DEEP_STUBS);
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>              when(response.getResponseItems()).thenReturn((List) Collections.singletonList(readResponseItemString));
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>              TypeSafePlcReadResponse.of(response, String.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>          }
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>      }
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>  
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>      @Test
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getRequest() {
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getRequest();
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>      }
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>  
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>      @Test
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItems() {
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItems();
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>      @Test
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> getResponseItem() {
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>          <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(mock(TypeSafePlcReadRequest.<strong class="jxr_keyword">class</strong>), Collections.emptyList()).getResponseItem();
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>      }
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>  
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref/org/apache/plc4x/java/api/connection/PlcReader.html b/xref/org/apache/plc4x/java/api/connection/PlcReader.html
index cab151d..77bc3ff 100644
--- a/xref/org/apache/plc4x/java/api/connection/PlcReader.html
+++ b/xref/org/apache/plc4x/java/api/connection/PlcReader.html
@@ -57,10 +57,11 @@
 <a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment">     */</em>
 <a class="jxr_linenumber" name="L50" href="#L50">50</a>      <strong class="jxr_keyword">default</strong> &lt;T&gt; CompletableFuture&lt;TypeSafePlcReadResponse&lt;T&gt;&gt; read(TypeSafePlcReadRequest&lt;T&gt; readRequest) {
 <a class="jxr_linenumber" name="L51" href="#L51">51</a>          Objects.requireNonNull(readRequest, <span class="jxr_string">"Read request must not be null"</span>);
-<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">return</strong> read((PlcReadRequest) readRequest).thenApply(TypeSafePlcReadResponse::of);
-<a class="jxr_linenumber" name="L53" href="#L53">53</a>      }
-<a class="jxr_linenumber" name="L54" href="#L54">54</a>  
-<a class="jxr_linenumber" name="L55" href="#L55">55</a>  }
+<a class="jxr_linenumber" name="L52" href="#L52">52</a>          <strong class="jxr_keyword">return</strong> read((PlcReadRequest) readRequest)
+<a class="jxr_linenumber" name="L53" href="#L53">53</a>              .thenApply(readResponse -&gt; TypeSafePlcReadResponse.of(readResponse, readRequest.getDataType()));
+<a class="jxr_linenumber" name="L54" href="#L54">54</a>      }
+<a class="jxr_linenumber" name="L55" href="#L55">55</a>  
+<a class="jxr_linenumber" name="L56" href="#L56">56</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html b/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
index 2d69773..d1aecb5 100644
--- a/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
+++ b/xref/org/apache/plc4x/java/api/messages/items/ReadResponseItem.html
@@ -28,24 +28,35 @@
 <a class="jxr_linenumber" name="L20" href="#L20">20</a>  
 <a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.plc4x.java.api.types.ResponseCode;
 <a class="jxr_linenumber" name="L22" href="#L22">22</a>  
-<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Objects;
-<a class="jxr_linenumber" name="L25" href="#L25">25</a>  
-<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ReadResponseItem&lt;T&gt; <strong class="jxr_keyword">extends</strong> ResponseItem&lt;ReadRequestItem&lt;T&gt;&gt; {
-<a class="jxr_linenumber" name="L27" href="#L27">27</a>  
-<a class="jxr_linenumber" name="L28" href="#L28">28</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;T&gt; values;
-<a class="jxr_linenumber" name="L29" href="#L29">29</a>  
-<a class="jxr_linenumber" name="L30" href="#L30">30</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, List&lt;T&gt; values) {
-<a class="jxr_linenumber" name="L31" href="#L31">31</a>          <strong class="jxr_keyword">super</strong>(requestItem, responseCode);
-<a class="jxr_linenumber" name="L32" href="#L32">32</a>          Objects.requireNonNull(values, <span class="jxr_string">"Values must not be null"</span>);
-<a class="jxr_linenumber" name="L33" href="#L33">33</a>          <strong class="jxr_keyword">this</strong>.values = values;
-<a class="jxr_linenumber" name="L34" href="#L34">34</a>      }
-<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
-<a class="jxr_linenumber" name="L36" href="#L36">36</a>      <strong class="jxr_keyword">public</strong> List&lt;T&gt; getValues() {
-<a class="jxr_linenumber" name="L37" href="#L37">37</a>          <strong class="jxr_keyword">return</strong> values;
-<a class="jxr_linenumber" name="L38" href="#L38">38</a>      }
-<a class="jxr_linenumber" name="L39" href="#L39">39</a>  
-<a class="jxr_linenumber" name="L40" href="#L40">40</a>  }
+<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
+<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
+<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Objects;
+<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
+<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ReadResponseItem&lt;T&gt; <strong class="jxr_keyword">extends</strong> ResponseItem&lt;ReadRequestItem&lt;T&gt;&gt; {
+<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
+<a class="jxr_linenumber" name="L29" href="#L29">29</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;T&gt; values;
+<a class="jxr_linenumber" name="L30" href="#L30">30</a>  
+<a class="jxr_linenumber" name="L31" href="#L31">31</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, List&lt;T&gt; values) {
+<a class="jxr_linenumber" name="L32" href="#L32">32</a>          <strong class="jxr_keyword">super</strong>(requestItem, responseCode);
+<a class="jxr_linenumber" name="L33" href="#L33">33</a>          Objects.requireNonNull(values, <span class="jxr_string">"Values must not be null"</span>);
+<a class="jxr_linenumber" name="L34" href="#L34">34</a>          <strong class="jxr_keyword">for</strong> (T value : values) {
+<a class="jxr_linenumber" name="L35" href="#L35">35</a>              <strong class="jxr_keyword">if</strong> (!requestItem.getDatatype().isAssignableFrom(value.getClass())) {
+<a class="jxr_linenumber" name="L36" href="#L36">36</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Datatype of "</span> + value + <span class="jxr_string">" doesn't macht required datatype of "</span> + requestItem.getDatatype());
+<a class="jxr_linenumber" name="L37" href="#L37">37</a>              }
+<a class="jxr_linenumber" name="L38" href="#L38">38</a>          }
+<a class="jxr_linenumber" name="L39" href="#L39">39</a>          <strong class="jxr_keyword">this</strong>.values = values;
+<a class="jxr_linenumber" name="L40" href="#L40">40</a>      }
+<a class="jxr_linenumber" name="L41" href="#L41">41</a>  
+<a class="jxr_linenumber" name="L42" href="#L42">42</a>      @SafeVarargs
+<a class="jxr_linenumber" name="L43" href="#L43">43</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(ReadRequestItem&lt;T&gt; requestItem, <a href="../../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode, T... values) {
+<a class="jxr_linenumber" name="L44" href="#L44">44</a>          <strong class="jxr_keyword">this</strong>(requestItem, responseCode, Arrays.asList(values));
+<a class="jxr_linenumber" name="L45" href="#L45">45</a>      }
+<a class="jxr_linenumber" name="L46" href="#L46">46</a>  
+<a class="jxr_linenumber" name="L47" href="#L47">47</a>      <strong class="jxr_keyword">public</strong> List&lt;T&gt; getValues() {
+<a class="jxr_linenumber" name="L48" href="#L48">48</a>          <strong class="jxr_keyword">return</strong> values;
+<a class="jxr_linenumber" name="L49" href="#L49">49</a>      }
+<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
+<a class="jxr_linenumber" name="L51" href="#L51">51</a>  }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html b/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
index 3d094b6..29641cd 100644
--- a/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
+++ b/xref/org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html
@@ -67,44 +67,47 @@
 <a class="jxr_linenumber" name="L59" href="#L59">59</a>          <strong class="jxr_keyword">return</strong> (Optional&lt;ReadResponseItem&lt;T&gt;&gt;) <strong class="jxr_keyword">super</strong>.getResponseItem();
 <a class="jxr_linenumber" name="L60" href="#L60">60</a>      }
 <a class="jxr_linenumber" name="L61" href="#L61">61</a>  
-<a class="jxr_linenumber" name="L62" href="#L62">62</a>      @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L63" href="#L63">63</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html">PlcReadResponse</a> plcReadResponse) {
-<a class="jxr_linenumber" name="L64" href="#L64">64</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse instanceof TypeSafePlcReadResponse) {
-<a class="jxr_linenumber" name="L65" href="#L65">65</a>              <strong class="jxr_keyword">return</strong> (TypeSafePlcReadResponse) plcReadResponse;
-<a class="jxr_linenumber" name="L66" href="#L66">66</a>          }
-<a class="jxr_linenumber" name="L67" href="#L67">67</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {
-<a class="jxr_linenumber" name="L68" href="#L68">68</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html">TypeSafePlcReadResponse</a>((TypeSafePlcReadRequest) plcReadResponse.getRequest(), plcReadResponse.getResponseItems());
-<a class="jxr_linenumber" name="L69" href="#L69">69</a>          }
-<a class="jxr_linenumber" name="L70" href="#L70">70</a>          List&lt;? <strong class="jxr_keyword">extends</strong> ReadResponseItem&lt;?&gt;&gt; responseItems = plcReadResponse.getResponseItems();
-<a class="jxr_linenumber" name="L71" href="#L71">71</a>          Objects.requireNonNull(responseItems, <span class="jxr_string">"Response items on "</span> + plcReadResponse + <span class="jxr_string">" must not be null"</span>);
-<a class="jxr_linenumber" name="L72" href="#L72">72</a>          Class type = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L73" href="#L73">73</a>          <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
-<a class="jxr_linenumber" name="L74" href="#L74">74</a>              <strong class="jxr_keyword">if</strong> (!responseItem.getValues().isEmpty()) {
-<a class="jxr_linenumber" name="L75" href="#L75">75</a>                  type = responseItem.getValues().get(0).getClass();
-<a class="jxr_linenumber" name="L76" href="#L76">76</a>                  <strong class="jxr_keyword">break</strong>;
-<a class="jxr_linenumber" name="L77" href="#L77">77</a>              }
-<a class="jxr_linenumber" name="L78" href="#L78">78</a>          }
-<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L80" href="#L80">80</a>              <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
-<a class="jxr_linenumber" name="L81" href="#L81">81</a>                  checkList(responseItem.getValues(), type);
-<a class="jxr_linenumber" name="L82" href="#L82">82</a>              }
-<a class="jxr_linenumber" name="L83" href="#L83">83</a>          }
-<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">if</strong> (type == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L85" href="#L85">85</a>              type = Object.<strong class="jxr_keyword">class</strong>;
-<a class="jxr_linenumber" name="L86" href="#L86">86</a>          }
-<a class="jxr_linenumber" name="L87" href="#L87">87</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html">TypeSafePlcReadResponse</a>(<strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadRequest.html">TypeSafePlcReadRequest</a>(type, plcReadResponse.getRequest()), re [...]
-<a class="jxr_linenumber" name="L88" href="#L88">88</a>      }
-<a class="jxr_linenumber" name="L89" href="#L89">89</a>  
-<a class="jxr_linenumber" name="L90" href="#L90">90</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkList(List&lt;?&gt; list, Class&lt;?&gt; type) {
-<a class="jxr_linenumber" name="L91" href="#L91">91</a>          Objects.requireNonNull(list, <span class="jxr_string">"List must not be null"</span>);
-<a class="jxr_linenumber" name="L92" href="#L92">92</a>          Objects.requireNonNull(type, <span class="jxr_string">"Type must not be null"</span>);
-<a class="jxr_linenumber" name="L93" href="#L93">93</a>          <strong class="jxr_keyword">for</strong> (Object o : list) {
-<a class="jxr_linenumber" name="L94" href="#L94">94</a>              <strong class="jxr_keyword">if</strong> (!type.isAssignableFrom(o.getClass())) {
-<a class="jxr_linenumber" name="L95" href="#L95">95</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unexpected data type "</span> + o.getClass() + <span class="jxr_string">" on readRequestItem. Expected "</span> + type);
-<a class="jxr_linenumber" name="L96" href="#L96">96</a>              }
-<a class="jxr_linenumber" name="L97" href="#L97">97</a>          }
-<a class="jxr_linenumber" name="L98" href="#L98">98</a>      }
-<a class="jxr_linenumber" name="L99" href="#L99">99</a>  }
+<a class="jxr_linenumber" name="L62" href="#L62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> &lt;T&gt; TypeSafePlcReadResponse&lt;T&gt; of(<a href="../../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html">PlcReadResponse</a> plcReadResponse, Class&lt;T&gt; clazz) {
+<a class="jxr_linenumber" name="L63" href="#L63">63</a>          Objects.requireNonNull(plcReadResponse, <span class="jxr_string">"PlcReadResponse must not be null"</span>);
+<a class="jxr_linenumber" name="L64" href="#L64">64</a>          Objects.requireNonNull(clazz, <span class="jxr_string">"Class must not be null"</span>);
+<a class="jxr_linenumber" name="L65" href="#L65">65</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse instanceof TypeSafePlcReadResponse) {
+<a class="jxr_linenumber" name="L66" href="#L66">66</a>              @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L67" href="#L67">67</a>              TypeSafePlcReadResponse&lt;T&gt; typeSafePlcReadResponse = (TypeSafePlcReadResponse&lt;T&gt;) plcReadResponse;
+<a class="jxr_linenumber" name="L68" href="#L68">68</a>              Class type = typeSafePlcReadResponse.getRequest().getDataType();
+<a class="jxr_linenumber" name="L69" href="#L69">69</a>              <strong class="jxr_keyword">if</strong> (type != clazz) {
+<a class="jxr_linenumber" name="L70" href="#L70">70</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Expected type "</span> + clazz + <span class="jxr_string">" doesn't match found type "</span> + type);
+<a class="jxr_linenumber" name="L71" href="#L71">71</a>              }
+<a class="jxr_linenumber" name="L72" href="#L72">72</a>              <strong class="jxr_keyword">return</strong> typeSafePlcReadResponse;
+<a class="jxr_linenumber" name="L73" href="#L73">73</a>          }
+<a class="jxr_linenumber" name="L74" href="#L74">74</a>          @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L75" href="#L75">75</a>          List&lt;ReadResponseItem&lt;T&gt;&gt; responseItems = (List&lt;ReadResponseItem&lt;T&gt;&gt;) plcReadResponse.getResponseItems();
+<a class="jxr_linenumber" name="L76" href="#L76">76</a>          Objects.requireNonNull(responseItems, <span class="jxr_string">"Response items on "</span> + plcReadResponse + <span class="jxr_string">" must not be null"</span>);
+<a class="jxr_linenumber" name="L77" href="#L77">77</a>          <strong class="jxr_keyword">if</strong> (plcReadResponse.getRequest() instanceof TypeSafePlcReadRequest) {
+<a class="jxr_linenumber" name="L78" href="#L78">78</a>              @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L79" href="#L79">79</a>              TypeSafePlcReadRequest&lt;T&gt; typeSafePlcReadRequest = (TypeSafePlcReadRequest&lt;T&gt;) plcReadResponse.getRequest();
+<a class="jxr_linenumber" name="L80" href="#L80">80</a>              Class type = typeSafePlcReadRequest.getDataType();
+<a class="jxr_linenumber" name="L81" href="#L81">81</a>              <strong class="jxr_keyword">if</strong> (type != clazz) {
+<a class="jxr_linenumber" name="L82" href="#L82">82</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Expected type "</span> + clazz + <span class="jxr_string">" doesn't match found type "</span> + type);
+<a class="jxr_linenumber" name="L83" href="#L83">83</a>              }
+<a class="jxr_linenumber" name="L84" href="#L84">84</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(typeSafePlcReadRequest, responseItems);
+<a class="jxr_linenumber" name="L85" href="#L85">85</a>          }
+<a class="jxr_linenumber" name="L86" href="#L86">86</a>          <strong class="jxr_keyword">for</strong> (ReadResponseItem&lt;?&gt; responseItem : responseItems) {
+<a class="jxr_linenumber" name="L87" href="#L87">87</a>              checkList(responseItem.getValues(), clazz);
+<a class="jxr_linenumber" name="L88" href="#L88">88</a>          }
+<a class="jxr_linenumber" name="L89" href="#L89">89</a>          TypeSafePlcReadRequest&lt;T&gt; request = <strong class="jxr_keyword">new</strong> TypeSafePlcReadRequest&lt;&gt;(clazz, plcReadResponse.getRequest());
+<a class="jxr_linenumber" name="L90" href="#L90">90</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> TypeSafePlcReadResponse&lt;&gt;(request, responseItems);
+<a class="jxr_linenumber" name="L91" href="#L91">91</a>      }
+<a class="jxr_linenumber" name="L92" href="#L92">92</a>  
+<a class="jxr_linenumber" name="L93" href="#L93">93</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkList(List&lt;?&gt; list, Class&lt;?&gt; type) {
+<a class="jxr_linenumber" name="L94" href="#L94">94</a>          Objects.requireNonNull(list, <span class="jxr_string">"List must not be null"</span>);
+<a class="jxr_linenumber" name="L95" href="#L95">95</a>          Objects.requireNonNull(type, <span class="jxr_string">"Type must not be null"</span>);
+<a class="jxr_linenumber" name="L96" href="#L96">96</a>          <strong class="jxr_keyword">for</strong> (Object o : list) {
+<a class="jxr_linenumber" name="L97" href="#L97">97</a>              <strong class="jxr_keyword">if</strong> (!type.isAssignableFrom(o.getClass())) {
+<a class="jxr_linenumber" name="L98" href="#L98">98</a>                  <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Unexpected data type "</span> + o.getClass() + <span class="jxr_string">" on readRequestItem. Expected "</span> + type);
+<a class="jxr_linenumber" name="L99" href="#L99">99</a>              }
+<a class="jxr_linenumber" name="L100" href="#L100">100</a>         }
+<a class="jxr_linenumber" name="L101" href="#L101">101</a>     }
+<a class="jxr_linenumber" name="L102" href="#L102">102</a> }
 </pre>
 <hr/>
 <div id="footer">Copyright &#169; 2017&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
diff --git a/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html b/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
index a70f5d7..0fff782 100644
--- a/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
+++ b/xref/org/apache/plc4x/java/s7/netty/Plc4XS7Protocol.html
@@ -169,192 +169,191 @@
 <a class="jxr_linenumber" name="L161" href="#L161">161</a>             <em class="jxr_comment">// Handle the response to a read request.</em>
 <a class="jxr_linenumber" name="L162" href="#L162">162</a>             <strong class="jxr_keyword">if</strong> (request instanceof PlcReadRequest) {
 <a class="jxr_linenumber" name="L163" href="#L163">163</a>                 response = decodeReadRequest(responseMessage, requestContainer);
-<a class="jxr_linenumber" name="L164" href="#L164">164</a>             }
-<a class="jxr_linenumber" name="L165" href="#L165">165</a>             <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (request instanceof PlcWriteRequest) {
-<a class="jxr_linenumber" name="L166" href="#L166">166</a>                 response = decodeWriteRequest(responseMessage, requestContainer);
-<a class="jxr_linenumber" name="L167" href="#L167">167</a>             }
-<a class="jxr_linenumber" name="L168" href="#L168">168</a> 
-<a class="jxr_linenumber" name="L169" href="#L169">169</a>             <em class="jxr_comment">// Confirm the response being handled.</em>
-<a class="jxr_linenumber" name="L170" href="#L170">170</a>             <strong class="jxr_keyword">if</strong> (response != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L171" href="#L171">171</a>                 requestContainer.getResponseFuture().complete(response);
-<a class="jxr_linenumber" name="L172" href="#L172">172</a>             }
-<a class="jxr_linenumber" name="L173" href="#L173">173</a>         }
-<a class="jxr_linenumber" name="L174" href="#L174">174</a>     }
-<a class="jxr_linenumber" name="L175" href="#L175">175</a> 
-<a class="jxr_linenumber" name="L176" href="#L176">176</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L177" href="#L177">177</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> decodeWriteRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcRequestContainer.html">PlcRequestContainer</a> requestContainer) <st [...]
-<a class="jxr_linenumber" name="L178" href="#L178">178</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> response;
-<a class="jxr_linenumber" name="L179" href="#L179">179</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcWriteRequest.html">PlcWriteRequest</a> plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();
-<a class="jxr_linenumber" name="L180" href="#L180">180</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
-<a class="jxr_linenumber" name="L181" href="#L181">181</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L182" href="#L182">182</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
-<a class="jxr_linenumber" name="L183" href="#L183">183</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
-<a class="jxr_linenumber" name="L184" href="#L184">184</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
-<a class="jxr_linenumber" name="L185" href="#L185">185</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
-<a class="jxr_linenumber" name="L186" href="#L186">186</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
-<a class="jxr_linenumber" name="L187" href="#L187">187</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/exceptions/PlcProtocolException.html">PlcProtocolException</a>(
-<a class="jxr_linenumber" name="L188" href="#L188">188</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
-<a class="jxr_linenumber" name="L189" href="#L189">189</a>         }
-<a class="jxr_linenumber" name="L190" href="#L190">190</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
-<a class="jxr_linenumber" name="L191" href="#L191">191</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
-<a class="jxr_linenumber" name="L192" href="#L192">192</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
-<a class="jxr_linenumber" name="L193" href="#L193">193</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
-<a class="jxr_linenumber" name="L194" href="#L194">194</a> 
-<a class="jxr_linenumber" name="L195" href="#L195">195</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
-<a class="jxr_linenumber" name="L196" href="#L196">196</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteRequestItem.html">WriteRequestItem</a> requestItem = plcWriteRequest.getRequestItems().get(i);
-<a class="jxr_linenumber" name="L197" href="#L197">197</a> 
-<a class="jxr_linenumber" name="L198" href="#L198">198</a>             <em class="jxr_comment">// A write response contains only the return code for every item.</em>
-<a class="jxr_linenumber" name="L199" href="#L199">199</a>             <a href="../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode = decodeResponseCode(payloadItem.getReturnCode());
-<a class="jxr_linenumber" name="L200" href="#L200">200</a> 
-<a class="jxr_linenumber" name="L201" href="#L201">201</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteResponseItem.html">WriteResponseItem</a> responseItem = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteResponseItem.html">WriteResponseItem</a>(requestItem, responseCode);
-<a class="jxr_linenumber" name="L202" href="#L202">202</a>             responseItems.add(responseItem);
-<a class="jxr_linenumber" name="L203" href="#L203">203</a>         }
-<a class="jxr_linenumber" name="L204" href="#L204">204</a> 
-<a class="jxr_linenumber" name="L205" href="#L205">205</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest instanceof TypeSafePlcWriteRequest) {
-<a class="jxr_linenumber" name="L206" href="#L206">206</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.html">TypeSafePlcWriteResponse</a>((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L207" href="#L207">207</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L208" href="#L208">208</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcWriteResponse.html">PlcWriteResponse</a>(plcWriteRequest, responseItems);
-<a class="jxr_linenumber" name="L209" href="#L209">209</a>         }
-<a class="jxr_linenumber" name="L210" href="#L210">210</a>         <strong class="jxr_keyword">return</strong> response;
-<a class="jxr_linenumber" name="L211" href="#L211">211</a>     }
-<a class="jxr_linenumber" name="L212" href="#L212">212</a> 
-<a class="jxr_linenumber" name="L213" href="#L213">213</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
-<a class="jxr_linenumber" name="L214" href="#L214">214</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> decodeReadRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcRequestContainer.html">PlcRequestContainer</a> requestContainer) <str [...]
-<a class="jxr_linenumber" name="L215" href="#L215">215</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> response;
-<a class="jxr_linenumber" name="L216" href="#L216">216</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcReadRequest.html">PlcReadRequest</a> plcReadRequest = (PlcReadRequest) requestContainer.getRequest();
-<a class="jxr_linenumber" name="L217" href="#L217">217</a> 
-<a class="jxr_linenumber" name="L218" href="#L218">218</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
-<a class="jxr_linenumber" name="L219" href="#L219">219</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
-<a class="jxr_linenumber" name="L220" href="#L220">220</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
-<a class="jxr_linenumber" name="L221" href="#L221">221</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
-<a class="jxr_linenumber" name="L222" href="#L222">222</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
-<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
-<a class="jxr_linenumber" name="L224" href="#L224">224</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
-<a class="jxr_linenumber" name="L225" href="#L225">225</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/exceptions/PlcProtocolException.html">PlcProtocolException</a>(
-<a class="jxr_linenumber" name="L226" href="#L226">226</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
-<a class="jxr_linenumber" name="L227" href="#L227">227</a>         }
-<a class="jxr_linenumber" name="L228" href="#L228">228</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
-<a class="jxr_linenumber" name="L229" href="#L229">229</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
-<a class="jxr_linenumber" name="L230" href="#L230">230</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
-<a class="jxr_linenumber" name="L231" href="#L231">231</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
-<a class="jxr_linenumber" name="L232" href="#L232">232</a> 
-<a class="jxr_linenumber" name="L233" href="#L233">233</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
-<a class="jxr_linenumber" name="L234" href="#L234">234</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html">ReadRequestItem</a> requestItem = plcReadRequest.getRequestItems().get(i);
-<a class="jxr_linenumber" name="L235" href="#L235">235</a> 
-<a class="jxr_linenumber" name="L236" href="#L236">236</a>             <a href="../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode = decodeResponseCode(payloadItem.getReturnCode());
-<a class="jxr_linenumber" name="L237" href="#L237">237</a> 
-<a class="jxr_linenumber" name="L238" href="#L238">238</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a> responseItem;
-<a class="jxr_linenumber" name="L239" href="#L239">239</a>             <em class="jxr_comment">// Something went wrong.</em>
-<a class="jxr_linenumber" name="L240" href="#L240">240</a>             <strong class="jxr_keyword">if</strong> (responseCode != ResponseCode.OK) {
-<a class="jxr_linenumber" name="L241" href="#L241">241</a>                 responseItem = <strong class="jxr_keyword">new</strong> ReadResponseItem&lt;&gt;(requestItem, responseCode, <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="L242" href="#L242">242</a>             }
-<a class="jxr_linenumber" name="L243" href="#L243">243</a>             <em class="jxr_comment">// All Ok.</em>
-<a class="jxr_linenumber" name="L244" href="#L244">244</a>             <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L245" href="#L245">245</a>                 byte[] data = payloadItem.getData();
-<a class="jxr_linenumber" name="L246" href="#L246">246</a>                 Class&lt;?&gt; datatype = requestItem.getDatatype();
-<a class="jxr_linenumber" name="L247" href="#L247">247</a>                 List&lt;?&gt; value = decodeData(datatype, data);
-<a class="jxr_linenumber" name="L248" href="#L248">248</a>                 responseItem = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a>(requestItem, responseCode, value);
-<a class="jxr_linenumber" name="L249" href="#L249">249</a>             }
-<a class="jxr_linenumber" name="L250" href="#L250">250</a>             responseItems.add(responseItem);
-<a class="jxr_linenumber" name="L251" href="#L251">251</a>         }
-<a class="jxr_linenumber" name="L252" href="#L252">252</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest instanceof TypeSafePlcReadRequest) {
-<a class="jxr_linenumber" name="L253" href="#L253">253</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcReadResponse.html">TypeSafePlcReadResponse</a>((TypeSafePlcReadRequest) plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L254" href="#L254">254</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L255" href="#L255">255</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcReadResponse.html">PlcReadResponse</a>(plcReadRequest, responseItems);
-<a class="jxr_linenumber" name="L256" href="#L256">256</a>         }
-<a class="jxr_linenumber" name="L257" href="#L257">257</a>         <strong class="jxr_keyword">return</strong> response;
-<a class="jxr_linenumber" name="L258" href="#L258">258</a>     }
-<a class="jxr_linenumber" name="L259" href="#L259">259</a> 
-<a class="jxr_linenumber" name="L260" href="#L260">260</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L261" href="#L261">261</a>     <em class="jxr_comment">// Encoding helpers.</em>
-<a class="jxr_linenumber" name="L262" href="#L262">262</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L263" href="#L263">263</a> 
-<a class="jxr_linenumber" name="L264" href="#L264">264</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/VarParameterItem.html">VarParameterItem</a> encodeVarParameterItem(<a href="../../../../../../org/apache/plc4x/java/api/model/Address.html">Address</a> address, <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> transportSize, <strong class="jxr_keyw [...]
-<a class="jxr_linenumber" name="L265" href="#L265">265</a>         <em class="jxr_comment">// Depending on the address type, generate the corresponding type of request item.</em>
-<a class="jxr_linenumber" name="L266" href="#L266">266</a>         <strong class="jxr_keyword">if</strong> (!(address instanceof S7Address)) {
-<a class="jxr_linenumber" name="L267" href="#L267">267</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/exceptions/PlcProtocolException.html">PlcProtocolException</a>(<span class="jxr_string">"Can only use S7Address types on S7 connection"</span>);
-<a class="jxr_linenumber" name="L268" href="#L268">268</a>         }
-<a class="jxr_linenumber" name="L269" href="#L269">269</a>         <a href="../../../../../../org/apache/plc4x/java/s7/model/S7Address.html">S7Address</a> s7Address = (S7Address) address;
-<a class="jxr_linenumber" name="L270" href="#L270">270</a>         <strong class="jxr_keyword">if</strong> (s7Address instanceof S7DataBlockAddress) {
-<a class="jxr_linenumber" name="L271" href="#L271">271</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7DataBlockAddress.html">S7DataBlockAddress</a> s7DataBlockAddress = (S7DataBlockAddress) s7Address;
-<a class="jxr_linenumber" name="L272" href="#L272">272</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L273" href="#L273">273</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L274" href="#L274">274</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size,
-<a class="jxr_linenumber" name="L275" href="#L275">275</a>                 s7DataBlockAddress.getDataBlockNumber(), s7DataBlockAddress.getByteOffset(), (byte) 0);
-<a class="jxr_linenumber" name="L276" href="#L276">276</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (s7Address instanceof S7BitAddress) {
-<a class="jxr_linenumber" name="L277" href="#L277">277</a>             <a href="../../../../../../org/apache/plc4x/java/s7/model/S7BitAddress.html">S7BitAddress</a> s7BitAddress = (S7BitAddress) s7Address;
-<a class="jxr_linenumber" name="L278" href="#L278">278</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L279" href="#L279">279</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L280" href="#L280">280</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
-<a class="jxr_linenumber" name="L281" href="#L281">281</a>                 s7Address.getByteOffset(), s7BitAddress.getBitOffset());
-<a class="jxr_linenumber" name="L282" href="#L282">282</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="L283" href="#L283">283</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/params/items/S7AnyVarParameterItem.html">S7AnyVarParameterItem</a>(
-<a class="jxr_linenumber" name="L284" href="#L284">284</a>                 SpecificationType.VARIABLE_SPECIFICATION, s7Address.getMemoryArea(),
-<a class="jxr_linenumber" name="L285" href="#L285">285</a>                 transportSize, (<strong class="jxr_keyword">short</strong>) size, (<strong class="jxr_keyword">short</strong>) 0,
-<a class="jxr_linenumber" name="L286" href="#L286">286</a>                 s7Address.getByteOffset(), (byte) 0);
-<a class="jxr_linenumber" name="L287" href="#L287">287</a>         }
-<a class="jxr_linenumber" name="L288" href="#L288">288</a>     }
-<a class="jxr_linenumber" name="L289" href="#L289">289</a> 
-<a class="jxr_linenumber" name="L290" href="#L290">290</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/TransportSize.html">TransportSize</a> encodeTransportSize(Class&lt;?&gt; datatype) {
-<a class="jxr_linenumber" name="L291" href="#L291">291</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L292" href="#L292">292</a>             <strong class="jxr_keyword">return</strong> TransportSize.BIT;
-<a class="jxr_linenumber" name="L293" href="#L293">293</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L294" href="#L294">294</a>             <strong class="jxr_keyword">return</strong> TransportSize.BYTE;
-<a class="jxr_linenumber" name="L295" href="#L295">295</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L296" href="#L296">296</a>             <strong class="jxr_keyword">return</strong> TransportSize.WORD;
-<a class="jxr_linenumber" name="L297" href="#L297">297</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L298" href="#L298">298</a>             <strong class="jxr_keyword">return</strong> TransportSize.DATE_AND_TIME;
-<a class="jxr_linenumber" name="L299" href="#L299">299</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L300" href="#L300">300</a>             <strong class="jxr_keyword">return</strong> TransportSize.REAL;
-<a class="jxr_linenumber" name="L301" href="#L301">301</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L302" href="#L302">302</a>             <strong class="jxr_keyword">return</strong> TransportSize.DWORD;
-<a class="jxr_linenumber" name="L303" href="#L303">303</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L304" href="#L304">304</a>             <strong class="jxr_keyword">return</strong> TransportSize.CHAR;
-<a class="jxr_linenumber" name="L305" href="#L305">305</a>         }
-<a class="jxr_linenumber" name="L306" href="#L306">306</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L307" href="#L307">307</a>     }
-<a class="jxr_linenumber" name="L308" href="#L308">308</a> 
-<a class="jxr_linenumber" name="L309" href="#L309">309</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportSize.html">DataTransportSize</a> encodeDataTransportSize(Class&lt;?&gt; datatype) {
-<a class="jxr_linenumber" name="L310" href="#L310">310</a>         <strong class="jxr_keyword">if</strong> (datatype == Boolean.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L311" href="#L311">311</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BIT;
-<a class="jxr_linenumber" name="L312" href="#L312">312</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Byte.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L313" href="#L313">313</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L314" href="#L314">314</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Short.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L315" href="#L315">315</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L316" href="#L316">316</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Calendar.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L317" href="#L317">317</a>             <em class="jxr_comment">// TODO: Decide what to do here ...</em>
-<a class="jxr_linenumber" name="L318" href="#L318">318</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L319" href="#L319">319</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Float.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L320" href="#L320">320</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.REAL;
-<a class="jxr_linenumber" name="L321" href="#L321">321</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == Integer.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L322" href="#L322">322</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.BYTE_WORD_DWORD;
-<a class="jxr_linenumber" name="L323" href="#L323">323</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (datatype == String.<strong class="jxr_keyword">class</strong>) {
-<a class="jxr_linenumber" name="L324" href="#L324">324</a>             <strong class="jxr_keyword">return</strong> DataTransportSize.OCTET_STRING;
-<a class="jxr_linenumber" name="L325" href="#L325">325</a>         }
-<a class="jxr_linenumber" name="L326" href="#L326">326</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="L327" href="#L327">327</a>     }
-<a class="jxr_linenumber" name="L328" href="#L328">328</a> 
-<a class="jxr_linenumber" name="L329" href="#L329">329</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L330" href="#L330">330</a>     <em class="jxr_comment">// Decoding helpers.</em>
-<a class="jxr_linenumber" name="L331" href="#L331">331</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////////</em>
-<a class="jxr_linenumber" name="L332" href="#L332">332</a> 
-<a class="jxr_linenumber" name="L333" href="#L333">333</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> decodeResponseCode(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/types/DataTransportErrorCode.html">DataTransportErrorCode</a> dataTransportErrorCode) {
-<a class="jxr_linenumber" name="L334" href="#L334">334</a>         <strong class="jxr_keyword">if</strong> (dataTransportErrorCode == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="L335" href="#L335">335</a>             <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
-<a class="jxr_linenumber" name="L336" href="#L336">336</a>         }
-<a class="jxr_linenumber" name="L337" href="#L337">337</a>         <strong class="jxr_keyword">switch</strong> (dataTransportErrorCode) {
-<a class="jxr_linenumber" name="L338" href="#L338">338</a>             <strong class="jxr_keyword">case</strong> OK:
-<a class="jxr_linenumber" name="L339" href="#L339">339</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.OK;
-<a class="jxr_linenumber" name="L340" href="#L340">340</a>             <strong class="jxr_keyword">case</strong> NOT_FOUND:
-<a class="jxr_linenumber" name="L341" href="#L341">341</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.NOT_FOUND;
-<a class="jxr_linenumber" name="L342" href="#L342">342</a>             <strong class="jxr_keyword">case</strong> INVALID_ADDRESS:
-<a class="jxr_linenumber" name="L343" href="#L343">343</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INVALID_ADDRESS;
-<a class="jxr_linenumber" name="L344" href="#L344">344</a>             <strong class="jxr_keyword">default</strong>:
-<a class="jxr_linenumber" name="L345" href="#L345">345</a>                 <strong class="jxr_keyword">return</strong> ResponseCode.INTERNAL_ERROR;
-<a class="jxr_linenumber" name="L346" href="#L346">346</a>         }
-<a class="jxr_linenumber" name="L347" href="#L347">347</a>     }
-<a class="jxr_linenumber" name="L348" href="#L348">348</a> 
-<a class="jxr_linenumber" name="L349" href="#L349">349</a> }
+<a class="jxr_linenumber" name="L164" href="#L164">164</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (request instanceof PlcWriteRequest) {
+<a class="jxr_linenumber" name="L165" href="#L165">165</a>                 response = decodeWriteRequest(responseMessage, requestContainer);
+<a class="jxr_linenumber" name="L166" href="#L166">166</a>             }
+<a class="jxr_linenumber" name="L167" href="#L167">167</a> 
+<a class="jxr_linenumber" name="L168" href="#L168">168</a>             <em class="jxr_comment">// Confirm the response being handled.</em>
+<a class="jxr_linenumber" name="L169" href="#L169">169</a>             <strong class="jxr_keyword">if</strong> (response != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="L170" href="#L170">170</a>                 requestContainer.getResponseFuture().complete(response);
+<a class="jxr_linenumber" name="L171" href="#L171">171</a>             }
+<a class="jxr_linenumber" name="L172" href="#L172">172</a>         }
+<a class="jxr_linenumber" name="L173" href="#L173">173</a>     }
+<a class="jxr_linenumber" name="L174" href="#L174">174</a> 
+<a class="jxr_linenumber" name="L175" href="#L175">175</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L176" href="#L176">176</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> decodeWriteRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcRequestContainer.html">PlcRequestContainer</a> requestContainer) <st [...]
+<a class="jxr_linenumber" name="L177" href="#L177">177</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> response;
+<a class="jxr_linenumber" name="L178" href="#L178">178</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcWriteRequest.html">PlcWriteRequest</a> plcWriteRequest = (PlcWriteRequest) requestContainer.getRequest();
+<a class="jxr_linenumber" name="L179" href="#L179">179</a>         List&lt;WriteResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
+<a class="jxr_linenumber" name="L180" href="#L180">180</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L181" href="#L181">181</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
+<a class="jxr_linenumber" name="L182" href="#L182">182</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
+<a class="jxr_linenumber" name="L183" href="#L183">183</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
+<a class="jxr_linenumber" name="L184" href="#L184">184</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
+<a class="jxr_linenumber" name="L185" href="#L185">185</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
+<a class="jxr_linenumber" name="L186" href="#L186">186</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/exceptions/PlcProtocolException.html">PlcProtocolException</a>(
+<a class="jxr_linenumber" name="L187" href="#L187">187</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
+<a class="jxr_linenumber" name="L188" href="#L188">188</a>         }
+<a class="jxr_linenumber" name="L189" href="#L189">189</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
+<a class="jxr_linenumber" name="L190" href="#L190">190</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
+<a class="jxr_linenumber" name="L191" href="#L191">191</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
+<a class="jxr_linenumber" name="L192" href="#L192">192</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
+<a class="jxr_linenumber" name="L193" href="#L193">193</a> 
+<a class="jxr_linenumber" name="L194" href="#L194">194</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
+<a class="jxr_linenumber" name="L195" href="#L195">195</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteRequestItem.html">WriteRequestItem</a> requestItem = plcWriteRequest.getRequestItems().get(i);
+<a class="jxr_linenumber" name="L196" href="#L196">196</a> 
+<a class="jxr_linenumber" name="L197" href="#L197">197</a>             <em class="jxr_comment">// A write response contains only the return code for every item.</em>
+<a class="jxr_linenumber" name="L198" href="#L198">198</a>             <a href="../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode = decodeResponseCode(payloadItem.getReturnCode());
+<a class="jxr_linenumber" name="L199" href="#L199">199</a> 
+<a class="jxr_linenumber" name="L200" href="#L200">200</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteResponseItem.html">WriteResponseItem</a> responseItem = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/items/WriteResponseItem.html">WriteResponseItem</a>(requestItem, responseCode);
+<a class="jxr_linenumber" name="L201" href="#L201">201</a>             responseItems.add(responseItem);
+<a class="jxr_linenumber" name="L202" href="#L202">202</a>         }
+<a class="jxr_linenumber" name="L203" href="#L203">203</a> 
+<a class="jxr_linenumber" name="L204" href="#L204">204</a>         <strong class="jxr_keyword">if</strong> (plcWriteRequest instanceof TypeSafePlcWriteRequest) {
+<a class="jxr_linenumber" name="L205" href="#L205">205</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/specific/TypeSafePlcWriteResponse.html">TypeSafePlcWriteResponse</a>((TypeSafePlcWriteRequest) plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L206" href="#L206">206</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="L207" href="#L207">207</a>             response = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcWriteResponse.html">PlcWriteResponse</a>(plcWriteRequest, responseItems);
+<a class="jxr_linenumber" name="L208" href="#L208">208</a>         }
+<a class="jxr_linenumber" name="L209" href="#L209">209</a>         <strong class="jxr_keyword">return</strong> response;
+<a class="jxr_linenumber" name="L210" href="#L210">210</a>     }
+<a class="jxr_linenumber" name="L211" href="#L211">211</a> 
+<a class="jxr_linenumber" name="L212" href="#L212">212</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
+<a class="jxr_linenumber" name="L213" href="#L213">213</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> decodeReadRequest(<a href="../../../../../../org/apache/plc4x/java/s7/netty/model/messages/S7ResponseMessage.html">S7ResponseMessage</a> responseMessage, <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcRequestContainer.html">PlcRequestContainer</a> requestContainer) <str [...]
+<a class="jxr_linenumber" name="L214" href="#L214">214</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcResponse.html">PlcResponse</a> response;
+<a class="jxr_linenumber" name="L215" href="#L215">215</a>         <a href="../../../../../../org/apache/plc4x/java/api/messages/PlcReadRequest.html">PlcReadRequest</a> plcReadRequest = (PlcReadRequest) requestContainer.getRequest();
+<a class="jxr_linenumber" name="L216" href="#L216">216</a> 
+<a class="jxr_linenumber" name="L217" href="#L217">217</a>         List&lt;ReadResponseItem&lt;?&gt;&gt; responseItems = <strong class="jxr_keyword">new</strong> LinkedList&lt;&gt;();
+<a class="jxr_linenumber" name="L218" href="#L218">218</a>         <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/VarPayload.html">VarPayload</a> payload = responseMessage.getPayload(VarPayload.<strong class="jxr_keyword">class</strong>)
+<a class="jxr_linenumber" name="L219" href="#L219">219</a>             .orElseThrow(() -&gt; <strong class="jxr_keyword">new</strong> PlcProtocolException(<span class="jxr_string">"No VarPayload supplied"</span>));
+<a class="jxr_linenumber" name="L220" href="#L220">220</a>         <em class="jxr_comment">// If the numbers of items don't match, we're in big trouble as the only</em>
+<a class="jxr_linenumber" name="L221" href="#L221">221</a>         <em class="jxr_comment">// way to know how to interpret the responses is by aligning them with the</em>
+<a class="jxr_linenumber" name="L222" href="#L222">222</a>         <em class="jxr_comment">// items from the request as this information is not returned by the PLC.</em>
+<a class="jxr_linenumber" name="L223" href="#L223">223</a>         <strong class="jxr_keyword">if</strong> (plcReadRequest.getRequestItems().size() != payload.getPayloadItems().size()) {
+<a class="jxr_linenumber" name="L224" href="#L224">224</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/plc4x/java/api/exceptions/PlcProtocolException.html">PlcProtocolException</a>(
+<a class="jxr_linenumber" name="L225" href="#L225">225</a>                 <span class="jxr_string">"The number of requested items doesn't match the number of returned items"</span>);
+<a class="jxr_linenumber" name="L226" href="#L226">226</a>         }
+<a class="jxr_linenumber" name="L227" href="#L227">227</a>         List&lt;VarPayloadItem&gt; payloadItems = payload.getPayloadItems();
+<a class="jxr_linenumber" name="L228" href="#L228">228</a>         <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> noPayLoadItems = payloadItems.size();
+<a class="jxr_linenumber" name="L229" href="#L229">229</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; noPayLoadItems; i++) {
+<a class="jxr_linenumber" name="L230" href="#L230">230</a>             <a href="../../../../../../org/apache/plc4x/java/s7/netty/model/payloads/items/VarPayloadItem.html">VarPayloadItem</a> payloadItem = payloadItems.get(i);
+<a class="jxr_linenumber" name="L231" href="#L231">231</a> 
+<a class="jxr_linenumber" name="L232" href="#L232">232</a>             <em class="jxr_comment">// Get the request item for this payload item</em>
+<a class="jxr_linenumber" name="L233" href="#L233">233</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/ReadRequestItem.html">ReadRequestItem</a> requestItem = plcReadRequest.getRequestItems().get(i);
+<a class="jxr_linenumber" name="L234" href="#L234">234</a> 
+<a class="jxr_linenumber" name="L235" href="#L235">235</a>             <a href="../../../../../../org/apache/plc4x/java/api/types/ResponseCode.html">ResponseCode</a> responseCode = decodeResponseCode(payloadItem.getReturnCode());
+<a class="jxr_linenumber" name="L236" href="#L236">236</a> 
+<a class="jxr_linenumber" name="L237" href="#L237">237</a>             <a href="../../../../../../org/apache/plc4x/java/api/messages/items/ReadResponseItem.html">ReadResponseItem</a> responseItem;
... 114 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
git-site-role@apache.org.