You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/01/07 15:06:09 UTC

[plc4x] branch next-gen-core updated: Mostly formatting and replacing "paket" with "packet" ; -)

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

cdutz pushed a commit to branch next-gen-core
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/next-gen-core by this push:
     new e991c9c  Mostly formatting and replacing "paket" with "packet" ;-)
e991c9c is described below

commit e991c9c5f11d598138e5bd985ac90d3854738cfc
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Tue Jan 7 16:06:01 2020 +0100

    Mostly formatting and replacing "paket" with "packet" ;-)
---
 .../src/test/resources/mspec.example               |  4 +-
 .../plc4x/java/s7/connection/S7PlcConnection.java  |  4 +-
 .../plc4x/java/ads/api/serial/AmsSerialFrame.java  |  2 +-
 .../org/apache/plc4x/java/spi/InstanceFactory.java |  2 +-
 .../java/spi/connection/AbstractPlcConnection.java | 18 ++--
 .../java/spi/connection/GeneratedDriverBase.java   |  2 +
 .../connection/GeneratedProtocolMessageCodec.java  | 36 ++++----
 .../java/spi/connection/ReflectionBasedIo.java     | 10 ++-
 .../spi/connection/SingleProtocolStackBuilder.java | 23 +++---
 .../connection/SingleProtocolStackConfigurer.java  | 25 +++---
 .../java/spi/internal/HandlerRegistration.java     |  3 +-
 .../java/spi/messages/DefaultPlcReadResponse.java  |  3 +-
 .../plc4x/java/spi/parser/ConnectionParser.java    | 16 ++--
 plc4j/transports/pcap-socket/pom.xml               | 12 +--
 .../java/base/connection/PcapChannelFactory.java   | 83 +++++--------------
 .../java/base/connection/PcapConfiguration.java    | 71 ++++++++++++++++
 .../base/connection/RawSocketChannelFactory.java   |  3 +-
 .../connection/connection/SerialChannel.java       |  3 +-
 .../connection/SerialChannelFactory.java           |  3 +-
 .../connection/SerialChannelHandler.java           | 25 ++++--
 .../connection/connection/SerialSelectionKey.java  | 16 ++--
 .../connection/connection/SerialSocketAddress.java |  7 +-
 .../base/connection/SerialChannelFactoryTest.java  | 12 ++-
 .../tcp/connection/TcpSocketChannelFactory.java    | 15 ++--
 ...figuration.java => TcpSocketConfiguration.java} | 14 ++--
 .../org/apache/plc4x/interop/impl/Handler.java     |  9 +-
 .../utils/pcapsockets/netty/PcapSocketChannel.java |  3 +-
 .../pcapsockets/netty/PcapSocketChannelConfig.java | 35 ++++++--
 .../pcapsockets/netty/PcapSocketChannelOption.java | 15 +++-
 .../netty/{ => handlers}/PacketHandler.java        |  2 +-
 .../netty/{ => handlers}/TcpIpPacketHandler.java   |  2 +-
 .../netty/{ => handlers}/UdpIpPacketHandler.java   |  2 +-
 .../utils/rawsockets/netty/RawSocketChannel.java   |  3 +-
 .../main/resources/protocols/amsads/amsads.mspec   |  4 +-
 .../plc4x/codegen/ast/AssignementExpression.java   |  6 +-
 .../apache/plc4x/codegen/ast/BinaryExpression.java |  6 +-
 .../java/org/apache/plc4x/codegen/ast/Block.java   |  6 +-
 .../apache/plc4x/codegen/ast/CallExpression.java   |  6 +-
 .../apache/plc4x/codegen/ast/ClassDeclaration.java |  6 +-
 .../plc4x/codegen/ast/ConstantExpression.java      |  6 +-
 .../plc4x/codegen/ast/ConstructorDeclaration.java  |  6 +-
 .../plc4x/codegen/ast/DeclarationStatement.java    |  6 +-
 .../apache/plc4x/codegen/ast/FieldDeclaration.java |  6 +-
 .../apache/plc4x/codegen/ast/FieldReference.java   |  6 +-
 .../org/apache/plc4x/codegen/ast/FileNode.java     |  6 +-
 .../org/apache/plc4x/codegen/ast/IfStatement.java  |  6 +-
 .../apache/plc4x/codegen/ast/JavaGenerator.java    | 69 ++++++++++------
 .../org/apache/plc4x/codegen/ast/LineComment.java  |  6 +-
 .../java/org/apache/plc4x/codegen/ast/Method.java  |  6 +-
 .../apache/plc4x/codegen/ast/MethodDefinition.java |  6 +-
 .../apache/plc4x/codegen/ast/NewExpression.java    |  6 +-
 .../plc4x/codegen/ast/ParameterExpression.java     |  6 +-
 .../org/apache/plc4x/codegen/ast/Primitive.java    |  6 +-
 .../apache/plc4x/codegen/ast/PythonGenerator.java  | 69 ++++++++++------
 .../apache/plc4x/codegen/ast/ReturnStatement.java  |  6 +-
 .../apache/plc4x/codegen/ast/TypeDefinition.java   |  6 +-
 .../plc4x/codegen/python/AbstractNodeVisitor.java  | 96 ++++++++++++++--------
 .../org/apache/plc4x/codegen/python/AddNode.java   |  3 +-
 .../org/apache/plc4x/codegen/python/AliasNode.java |  3 +-
 .../plc4x/codegen/python/AnnAssignerNode.java      |  3 +-
 .../org/apache/plc4x/codegen/python/ArgNode.java   |  3 +-
 .../apache/plc4x/codegen/python/ArgumentsNode.java |  3 +-
 .../apache/plc4x/codegen/python/AssignNode.java    |  3 +-
 .../apache/plc4x/codegen/python/AttributeNode.java |  3 +-
 .../apache/plc4x/codegen/python/AugAssignNode.java |  3 +-
 .../org/apache/plc4x/codegen/python/BinOpNode.java |  3 +-
 .../org/apache/plc4x/codegen/python/CallNode.java  |  3 +-
 .../apache/plc4x/codegen/python/ClassDefNode.java  |  3 +-
 .../apache/plc4x/codegen/python/CompareNode.java   |  3 +-
 .../org/apache/plc4x/codegen/python/EqNode.java    |  3 +-
 .../org/apache/plc4x/codegen/python/ExprNode.java  |  3 +-
 .../plc4x/codegen/python/FunctionDefNode.java      |  3 +-
 .../org/apache/plc4x/codegen/python/IfNode.java    |  3 +-
 .../plc4x/codegen/python/ImportFromNode.java       |  3 +-
 .../apache/plc4x/codegen/python/KeywordNode.java   |  3 +-
 .../org/apache/plc4x/codegen/python/ListNode.java  |  3 +-
 .../org/apache/plc4x/codegen/python/LoadNode.java  |  3 +-
 .../apache/plc4x/codegen/python/ModuleNode.java    |  3 +-
 .../org/apache/plc4x/codegen/python/MultNode.java  |  3 +-
 .../plc4x/codegen/python/NameConstantNode.java     |  3 +-
 .../org/apache/plc4x/codegen/python/NameNode.java  |  3 +-
 .../org/apache/plc4x/codegen/python/NotEqNode.java |  3 +-
 .../org/apache/plc4x/codegen/python/NumNode.java   |  3 +-
 .../org/apache/plc4x/codegen/python/PassNode.java  |  3 +-
 .../apache/plc4x/codegen/python/ReturnNode.java    |  3 +-
 .../org/apache/plc4x/codegen/python/StoreNode.java |  3 +-
 .../org/apache/plc4x/codegen/python/StrNode.java   |  3 +-
 .../org/apache/plc4x/codegen/python/TupleNode.java |  3 +-
 .../org/apache/plc4x/codegen/python/WhileNode.java |  3 +-
 .../org/apache/plc4x/codegen/ModuleNodeTest.java   | 33 +++++---
 sandbox/test-java-bacnetip-driver/pom.xml          |  2 +-
 .../java/bacnetip/PassiveBacNetIpDriverManual.java |  7 +-
 sandbox/test-java-knxnetip-driver/pom.xml          |  2 +-
 sandbox/test-java-s7-driver/pom.xml                |  6 ++
 .../apache/plc4x/java/s7/readwrite/S7Driver.java   | 21 +++--
 .../s7/readwrite/protocol/S7ProtocolLogic.java     |  7 +-
 .../java/s7/readwrite/ManualS7DriverTest.java}     | 12 +--
 .../plc4x/java/s7/readwrite/S7TestPcapDriver.java} | 13 +--
 sandbox/test-streampipes-plc4x-adapters/pom.xml    |  2 +-
 .../adapters/source/bacnetip/BacNetIpAdapter.java  |  7 +-
 100 files changed, 658 insertions(+), 391 deletions(-)

diff --git a/build-utils/protocol-base-mspec/src/test/resources/mspec.example b/build-utils/protocol-base-mspec/src/test/resources/mspec.example
index 2a44b63..9cb94d8 100644
--- a/build-utils/protocol-base-mspec/src/test/resources/mspec.example
+++ b/build-utils/protocol-base-mspec/src/test/resources/mspec.example
@@ -18,7 +18,7 @@
  */
 
 ////////////////////////////////////////////////////////////////
-// AMS/TCP Paket
+// AMS/TCP Packet
 ////////////////////////////////////////////////////////////////
 
 [type 'AmsTCPPacket'
@@ -38,7 +38,7 @@
 ]
 
 ////////////////////////////////////////////////////////////////
-// AMS/Serial Paket
+// AMS/Serial Packet
 ////////////////////////////////////////////////////////////////
 
 /*
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
index 6823231..794f8e4 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/connection/S7PlcConnection.java
@@ -169,8 +169,8 @@ public class S7PlcConnection extends NettyPlcConnection implements PlcReader, Pl
 
     @Override
     protected ChannelHandler getChannelHandler(CompletableFuture<Void> sessionSetupCompleteFuture) {
-        short calledTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.OS, 0, 0);
-        short callingTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.PG_OR_PC, rack, slot);
+        short calledTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.OS, rack, slot);
+        short callingTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.PG_OR_PC, 0, 0);
 
         return new ChannelInitializer<Channel>() {
             @Override
diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AmsSerialFrame.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AmsSerialFrame.java
index 8ca399e..e640f5b 100644
--- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AmsSerialFrame.java
+++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/api/serial/AmsSerialFrame.java
@@ -91,7 +91,7 @@ public class AmsSerialFrame implements ByteReadable {
         this.fragmentNumber = fragmentNumber;
         long calculatedLength = userData.getCalculatedLength();
         if (calculatedLength > 255) {
-            throw new IllegalArgumentException("Paket length must not exceed 255");
+            throw new IllegalArgumentException("Packet length must not exceed 255");
         }
         this.userDataLength = UserDataLength.of((byte) calculatedLength);
         byte[] amsPacketBytes = userData.getBytes();
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/InstanceFactory.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/InstanceFactory.java
index 2a54998..065c911 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/InstanceFactory.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/InstanceFactory.java
@@ -27,7 +27,7 @@ import java.util.Arrays;
 import java.util.Optional;
 
 /**
- * Generall Class which is used to create instances of Classes.
+ * General Class which is used to create instances of Classes.
  */
 public class InstanceFactory {
 
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java
index b9c24f3..6a59603 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/AbstractPlcConnection.java
@@ -144,27 +144,33 @@ public abstract class AbstractPlcConnection implements PlcConnection, PlcConnect
         return new DefaultPlcUnsubscriptionRequest.Builder(this);
     }
 
-    @Override public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) {
+    @Override
+    public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) {
         return protocol.read(readRequest);
     }
 
-    @Override public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) {
+    @Override
+    public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) {
         return protocol.write(writeRequest);
     }
 
-    @Override public CompletableFuture<PlcSubscriptionResponse> subscribe(PlcSubscriptionRequest subscriptionRequest) {
+    @Override
+    public CompletableFuture<PlcSubscriptionResponse> subscribe(PlcSubscriptionRequest subscriptionRequest) {
         return protocol.subscribe(subscriptionRequest);
     }
 
-    @Override public CompletableFuture<PlcUnsubscriptionResponse> unsubscribe(PlcUnsubscriptionRequest unsubscriptionRequest) {
+    @Override
+    public CompletableFuture<PlcUnsubscriptionResponse> unsubscribe(PlcUnsubscriptionRequest unsubscriptionRequest) {
         return protocol.unsubscribe(unsubscriptionRequest);
     }
 
-    @Override public PlcConsumerRegistration register(Consumer<PlcSubscriptionEvent> consumer, Collection<PlcSubscriptionHandle> handles) {
+    @Override
+    public PlcConsumerRegistration register(Consumer<PlcSubscriptionEvent> consumer, Collection<PlcSubscriptionHandle> handles) {
         throw new NotImplementedException("");
     }
 
-    @Override public void unregister(PlcConsumerRegistration registration) {
+    @Override
+    public void unregister(PlcConsumerRegistration registration) {
         throw new NotImplementedException("");
     }
 
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
index b09123f..c4430f7 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedDriverBase.java
@@ -29,6 +29,7 @@ import org.apache.plc4x.java.spi.parser.ConnectionParser;
 
 public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implements PlcDriver {
 
+    // TODO: This should probably be moved somewhere else as it only applies for TCP/UDP transports ...
     protected abstract int getDefaultPortIPv4();
 
     protected abstract PlcFieldHandler getFieldHandler();
@@ -44,6 +45,7 @@ public abstract class GeneratedDriverBase<BASE_PACKET extends Message> implement
         // CONFIGURATION configuration = parser.createConfiguration(getConfigurationClass());
 
         // Create Instance of Transport
+        // TODO: This needs to be parametrized.
         NettyChannelFactory transport = instanceFactory.createInstance(getTransportChannelFactory());
 
         return new DefaultNettyPlcConnection<>(
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
index ea0bd87..59112df 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/GeneratedProtocolMessageCodec.java
@@ -21,57 +21,55 @@ package org.apache.plc4x.java.spi.connection;
 
 import io.netty.buffer.ByteBuf;
 import org.apache.plc4x.java.spi.GeneratedDriverByteToMessageCodec;
-import org.apache.plc4x.java.spi.generation.Message;
-import org.apache.plc4x.java.spi.generation.MessageIO;
-import org.apache.plc4x.java.spi.generation.ParseException;
-import org.apache.plc4x.java.spi.generation.ReadBuffer;
-import org.apache.plc4x.java.spi.generation.WriteBuffer;
+import org.apache.plc4x.java.spi.generation.*;
 
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-class GeneratedProtocolMessageCodec<BASE_PAKET_CLASS extends Message> extends GeneratedDriverByteToMessageCodec<BASE_PAKET_CLASS> {
+class GeneratedProtocolMessageCodec<BASE_PACKET_CLASS extends Message> extends GeneratedDriverByteToMessageCodec<BASE_PACKET_CLASS> {
 
     private final Function<ByteBuf, Integer> packetSizeEstimator;
     private final Consumer<ByteBuf> corruptPackageRemover;
 
-    public GeneratedProtocolMessageCodec(Class<BASE_PAKET_CLASS> basePaketClass,
-                                         Parser<BASE_PAKET_CLASS> parser,
-                                         Serializer<BASE_PAKET_CLASS> serializer) {
-        this(basePaketClass, parser, serializer, null, null);
+    public GeneratedProtocolMessageCodec(Class<BASE_PACKET_CLASS> basePacketClass,
+                                         Parser<BASE_PACKET_CLASS> parser,
+                                         Serializer<BASE_PACKET_CLASS> serializer) {
+        this(basePacketClass, parser, serializer, null, null);
     }
 
     public GeneratedProtocolMessageCodec(
-        Class<BASE_PAKET_CLASS> basePaketClass,
-        Parser<BASE_PAKET_CLASS> parser,
-        Serializer<BASE_PAKET_CLASS> serializer,
+        Class<BASE_PACKET_CLASS> basePacketClass,
+        Parser<BASE_PACKET_CLASS> parser,
+        Serializer<BASE_PACKET_CLASS> serializer,
         Function<ByteBuf, Integer> packetSizeEstimator,
         Consumer<ByteBuf> corruptPackageRemover) {
-        super(new MessageIO<BASE_PAKET_CLASS, BASE_PAKET_CLASS>() {
+        super(new MessageIO<BASE_PACKET_CLASS, BASE_PACKET_CLASS>() {
             @Override
-            public BASE_PAKET_CLASS parse(ReadBuffer io) throws ParseException {
+            public BASE_PACKET_CLASS parse(ReadBuffer io) throws ParseException {
                 // return TPKTPacketIO.parse(io);
                 return parser.parse(io);
             }
 
             @Override
-            public void serialize(WriteBuffer io, BASE_PAKET_CLASS value) throws ParseException {
+            public void serialize(WriteBuffer io, BASE_PACKET_CLASS value) throws ParseException {
                 serializer.serialize(io, value);
             }
 
-        }, basePaketClass);
+        }, basePacketClass);
         this.packetSizeEstimator = packetSizeEstimator;
         this.corruptPackageRemover = corruptPackageRemover;
     }
 
-    @Override protected int getPacketSize(ByteBuf byteBuf) {
+    @Override
+    protected int getPacketSize(ByteBuf byteBuf) {
         if (this.packetSizeEstimator == null) {
             return -1;
         }
         return packetSizeEstimator.apply(byteBuf);
     }
 
-    @Override protected void removeRestOfCorruptPackage(ByteBuf byteBuf) {
+    @Override
+    protected void removeRestOfCorruptPackage(ByteBuf byteBuf) {
         if (this.corruptPackageRemover == null) {
             throw new IllegalStateException("This Implementation does not support Corrupt Package Removal!");
         }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ReflectionBasedIo.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ReflectionBasedIo.java
index e95a9b1..00a80cf 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ReflectionBasedIo.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ReflectionBasedIo.java
@@ -41,11 +41,13 @@ public class ReflectionBasedIo<BASE extends Message> implements Parser<BASE>, Se
             serializeMethod = MethodUtils.getMatchingMethod(ioClass, "serialize", WriteBuffer.class, clazz);
         } catch (ClassNotFoundException e) {
             throw new IllegalStateException(
-                String.format("Unnable to get suitable IO Class for given Message. Expected IO Class '%s' for Class '%s'", clazz.getName(), fqcn));
+                String.format("Unable to get suitable IO Class for given Message. Expected IO Class '%s' for Class '%s'", clazz.getName(), fqcn));
         }
     }
 
-    @Override public BASE parse(ReadBuffer io) {
+    @Override
+    @SuppressWarnings("unchecked")
+    public BASE parse(ReadBuffer io) {
         try {
             return (BASE) parseMethod.invoke(null, io);
         } catch (IllegalAccessException | InvocationTargetException e) {
@@ -53,11 +55,13 @@ public class ReflectionBasedIo<BASE extends Message> implements Parser<BASE>, Se
         }
     }
 
-    @Override public void serialize(WriteBuffer io, BASE message) {
+    @Override
+    public void serialize(WriteBuffer io, BASE message) {
         try {
             serializeMethod.invoke(null, io, message);
         } catch (IllegalAccessException | InvocationTargetException e) {
             throw new IllegalStateException("Unable to use the serialize Method!", e);
         }
     }
+
 }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackBuilder.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackBuilder.java
index 2893cbb..c0f5a83 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackBuilder.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackBuilder.java
@@ -29,36 +29,37 @@ import java.util.function.Function;
 /**
  * Used to Build Instances of {@link SingleProtocolStackConfigurer}.
  *
- * @param <BASE_PAKET_CLASS> Type of Created Message that is Exchanged.
+ * @param <BASE_PACKET_CLASS> Type of Created Message that is Exchanged.
  */
-public final class SingleProtocolStackBuilder<BASE_PAKET_CLASS extends Message> {
+public final class SingleProtocolStackBuilder<BASE_PACKET_CLASS extends Message> {
 
-    private Class<BASE_PAKET_CLASS> basePaketClass;
-    private Class<? extends Plc4xProtocolBase<BASE_PAKET_CLASS>> protocol;
+    private Class<BASE_PACKET_CLASS> basePacketClass;
+    private Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol;
     private Class<? extends Function<ByteBuf, Integer>> packetSizeEstimator;
     private Class<? extends Consumer<ByteBuf>> corruptPacketRemover;
 
-    SingleProtocolStackBuilder(Class<BASE_PAKET_CLASS> basePaketClass) {
-        this.basePaketClass = basePaketClass;
+    SingleProtocolStackBuilder(Class<BASE_PACKET_CLASS> basePacketClass) {
+        this.basePacketClass = basePacketClass;
     }
 
-    public SingleProtocolStackBuilder<BASE_PAKET_CLASS> withProtocol(Class<? extends Plc4xProtocolBase<BASE_PAKET_CLASS>> protocol) {
+    public SingleProtocolStackBuilder<BASE_PACKET_CLASS> withProtocol(Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol) {
         this.protocol = protocol;
         return this;
     }
 
-    public SingleProtocolStackBuilder<BASE_PAKET_CLASS> withPacketSizeEstimator(Class<? extends Function<ByteBuf, Integer>> packetSizeEstimator) {
+    public SingleProtocolStackBuilder<BASE_PACKET_CLASS> withPacketSizeEstimator(Class<? extends Function<ByteBuf, Integer>> packetSizeEstimator) {
         this.packetSizeEstimator = packetSizeEstimator;
         return this;
     }
 
-    public SingleProtocolStackBuilder<BASE_PAKET_CLASS> withCorruptPacketRemover(Class<? extends Consumer<ByteBuf>> corruptPacketRemover) {
+    public SingleProtocolStackBuilder<BASE_PACKET_CLASS> withCorruptPacketRemover(Class<? extends Consumer<ByteBuf>> corruptPacketRemover) {
         this.corruptPacketRemover = corruptPacketRemover;
         return this;
     }
 
-    public SingleProtocolStackConfigurer<BASE_PAKET_CLASS> build() {
+    public SingleProtocolStackConfigurer<BASE_PACKET_CLASS> build() {
         assert this.protocol != null;
-        return new SingleProtocolStackConfigurer<BASE_PAKET_CLASS>(basePaketClass, protocol, packetSizeEstimator, corruptPacketRemover);
+        return new SingleProtocolStackConfigurer<>(basePacketClass, protocol, packetSizeEstimator, corruptPacketRemover);
     }
+
 }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
index cb8e617..3762a49 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/SingleProtocolStackConfigurer.java
@@ -33,39 +33,40 @@ import java.util.function.Function;
 /**
  * Builds a Protocol Stack.
  */
-public class SingleProtocolStackConfigurer<BASE_PAKET_CLASS extends Message> implements ProtocolStackConfigurer<BASE_PAKET_CLASS> {
+public class SingleProtocolStackConfigurer<BASE_PACKET_CLASS extends Message> implements ProtocolStackConfigurer<BASE_PACKET_CLASS> {
 
-    private final Class<BASE_PAKET_CLASS> basePaketClass;
-    private final Class<? extends Plc4xProtocolBase<BASE_PAKET_CLASS>> protocolClass;
+    private final Class<BASE_PACKET_CLASS> basePacketClass;
+    private final Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocolClass;
     private final Class<? extends Function<ByteBuf, Integer>> packetSizeEstimator;
     private final Class<? extends Consumer<ByteBuf>> corruptPacketRemover;
 
     /** Only accessible via Builder */
-    SingleProtocolStackConfigurer(Class<BASE_PAKET_CLASS> basePaketClass, Class<? extends Plc4xProtocolBase<BASE_PAKET_CLASS>> protocol,
+    SingleProtocolStackConfigurer(Class<BASE_PACKET_CLASS> basePacketClass, Class<? extends Plc4xProtocolBase<BASE_PACKET_CLASS>> protocol,
                                   Class<? extends Function<ByteBuf, Integer>> packetSizeEstimator,
                                   Class<? extends Consumer<ByteBuf>> corruptPacketRemover) {
-        this.basePaketClass = basePaketClass;
+        this.basePacketClass = basePacketClass;
         this.protocolClass = protocol;
         this.packetSizeEstimator = packetSizeEstimator;
         this.corruptPacketRemover = corruptPacketRemover;
     }
 
-    public static <BPC extends Message> SingleProtocolStackBuilder<BPC> builder(Class<BPC> basePaketClass) {
-        return new SingleProtocolStackBuilder<>(basePaketClass);
+    public static <BPC extends Message> SingleProtocolStackBuilder<BPC> builder(Class<BPC> basePacketClass) {
+        return new SingleProtocolStackBuilder<>(basePacketClass);
     }
 
     private ChannelHandler getMessageCodec(InstanceFactory instanceFactory) {
-        ReflectionBasedIo<BASE_PAKET_CLASS> io = new ReflectionBasedIo<>(basePaketClass);
-        return new GeneratedProtocolMessageCodec<>(basePaketClass, io, io,
+        ReflectionBasedIo<BASE_PACKET_CLASS> io = new ReflectionBasedIo<>(basePacketClass);
+        return new GeneratedProtocolMessageCodec<>(basePacketClass, io, io,
             packetSizeEstimator != null ? instanceFactory.createInstance(packetSizeEstimator) : null,
             corruptPacketRemover != null ? instanceFactory.createInstance(corruptPacketRemover) : null);
     }
 
     /** Applies the given Stack to the Pipeline */
-    @Override public Plc4xProtocolBase<BASE_PAKET_CLASS> apply(InstanceFactory factory, ChannelPipeline pipeline) {
+    @Override
+    public Plc4xProtocolBase<BASE_PACKET_CLASS> apply(InstanceFactory factory, ChannelPipeline pipeline) {
         pipeline.addLast(getMessageCodec(factory));
-        Plc4xProtocolBase<BASE_PAKET_CLASS> protocol = factory.createInstance(protocolClass);
-        Plc4xNettyWrapper<BASE_PAKET_CLASS> context = new Plc4xNettyWrapper<>(pipeline, protocol, basePaketClass);
+        Plc4xProtocolBase<BASE_PACKET_CLASS> protocol = factory.createInstance(protocolClass);
+        Plc4xNettyWrapper<BASE_PACKET_CLASS> context = new Plc4xNettyWrapper<>(pipeline, protocol, basePacketClass);
         pipeline.addLast(context);
         return protocol;
     }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
index 060a17c..38f5eed 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
@@ -79,7 +79,8 @@ public class HandlerRegistration {
         return timeout;
     }
 
-    @Override public String toString() {
+    @Override
+    public String toString() {
         return "HandlerRegistration#" + id;
     }
 }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadResponse.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadResponse.java
index 35aa6ab..f469b2d 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadResponse.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcReadResponse.java
@@ -52,7 +52,8 @@ public class DefaultPlcReadResponse implements InternalPlcReadResponse, PlcReadR
         return request;
     }
 
-    @Override public PlcValue getAsPlcValue() {
+    @Override
+    public PlcValue getAsPlcValue() {
         return PlcValues.of(request.getFieldNames().stream()
             .collect(Collectors.toMap(Function.identity(), name -> PlcValues.of(getObject(name)))));
     }
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/parser/ConnectionParser.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/parser/ConnectionParser.java
index 128e7a9..de6b58e 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/parser/ConnectionParser.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/parser/ConnectionParser.java
@@ -75,7 +75,7 @@ public class ConnectionParser {
     }
 
     /**
-     * Convenvience Method, as its sometimes allowed to omit port in the URI String, as its
+     * Convenience Method, as its sometimes allowed to omit port in the URI String, as its
      * default for some protocols.
      * Of course only makes sense for TCP based Protocols
      *
@@ -105,8 +105,7 @@ public class ConnectionParser {
      */
     public Properties getProperties() {
         Properties properties = new Properties();
-        splitQuery(uri).entrySet()
-            .forEach(entry -> properties.setProperty(entry.getKey().toUpperCase(), entry.getValue().get(0)));
+        splitQuery(uri).forEach((key, value) -> properties.setProperty(key.toUpperCase(), value.get(0)));
 
         return properties;
     }
@@ -142,8 +141,9 @@ public class ConnectionParser {
 
         T instance;
         try {
-            instance = pClazz.newInstance();
-        } catch (InstantiationException | IllegalAccessException e) {
+            instance = pClazz.getDeclaredConstructor().newInstance();
+        } catch (InvocationTargetException | InstantiationException |
+            IllegalAccessException | NoSuchMethodException e) {
             throw new IllegalArgumentException("Unable to Instantiate Configuration Class", e);
         }
         try {
@@ -176,8 +176,6 @@ public class ConnectionParser {
                         }
                     }
                     iter.remove();
-                    continue;
-
                 }
             }
 
@@ -188,7 +186,7 @@ public class ConnectionParser {
                     (getConfigurationName(entry.getValue(), entry.getKey())) : entry.getKey())
                 .collect(toList());
 
-            if (missingFields.size() > 0) {
+            if (!missingFields.isEmpty()) {
                 throw new IllegalArgumentException("Missing required fields: " + missingFields);
             }
         } catch (IllegalAccessException e) {
@@ -219,7 +217,7 @@ public class ConnectionParser {
     }
 
     public static AbstractMap.SimpleImmutableEntry<String, String> splitQueryParameter(String it) {
-        final int idx = it.indexOf("=");
+        final int idx = it.indexOf('=');
         final String key = idx > 0 ? it.substring(0, idx) : it;
         final String value = idx > 0 && it.length() > idx + 1 ? it.substring(idx + 1) : null;
         return new AbstractMap.SimpleImmutableEntry<>(key, value);
diff --git a/plc4j/transports/pcap-socket/pom.xml b/plc4j/transports/pcap-socket/pom.xml
index b1b3cb4..c3e58c0 100644
--- a/plc4j/transports/pcap-socket/pom.xml
+++ b/plc4j/transports/pcap-socket/pom.xml
@@ -27,17 +27,11 @@
     <version>0.6.0-SNAPSHOT</version>
   </parent>
 
-  <artifactId>plc4j-transport-pcap-spocket</artifactId>
+  <artifactId>plc4j-transport-pcap-socket</artifactId>
   <name>PLC4J: Transport: PCAP</name>
   <description>Base classes needed to implement plc4x drivers based on an simulated network device using a PCAP capture file to simulate network trafic.</description>
 
   <dependencies>
-
-    <dependency>
-      <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-api</artifactId>
-      <version>0.6.0-SNAPSHOT</version>
-    </dependency>
     <dependency>
       <groupId>org.apache.plc4x</groupId>
       <artifactId>plc4j-utils-pcap-sockets</artifactId>
@@ -48,10 +42,6 @@
       <groupId>io.netty</groupId>
       <artifactId>netty-transport</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-common</artifactId>
-    </dependency>
 
     <dependency>
       <groupId>ch.qos.logback</groupId>
diff --git a/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapChannelFactory.java b/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapChannelFactory.java
index 1eb8b74..649a557 100644
--- a/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapChannelFactory.java
+++ b/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapChannelFactory.java
@@ -19,84 +19,39 @@ under the License.
 package org.apache.plc4x.java.base.connection;
 
 import io.netty.bootstrap.Bootstrap;
-import io.netty.channel.Channel;
-import io.netty.channel.ChannelFuture;
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.EventLoopGroup;
-import io.netty.channel.oio.OioEventLoopGroup;
-import io.netty.util.concurrent.Future;
-import io.netty.util.concurrent.GenericFutureListener;
-import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
-import org.apache.plc4x.java.api.exceptions.PlcException;
-import org.apache.plc4x.java.spi.connection.ChannelFactory;
+import io.netty.channel.*;
+import io.netty.channel.socket.nio.NioSocketChannel;
+import org.apache.plc4x.java.spi.HasConfiguration;
+import org.apache.plc4x.java.spi.connection.NettyChannelFactory;
 import org.apache.plc4x.java.utils.pcapsockets.netty.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.File;
-import java.net.InetAddress;
-
-public class PcapChannelFactory implements ChannelFactory {
+public class PcapChannelFactory extends NettyChannelFactory implements HasConfiguration<PcapConfiguration> {
 
     private static final Logger logger = LoggerFactory.getLogger(PcapChannelFactory.class);
 
-    private final File pcapFile;
-    private final InetAddress address;
-    private final int port;
-    private final int protocolId;
-    private final float replaySpeedFactor;
-    private final PacketHandler packetHandler;
-
-    public PcapChannelFactory(File pcapFile, InetAddress address, int port, int protocolId, float replaySpeedFactor, PacketHandler packetHandler) {
-        this.pcapFile = pcapFile;
-        this.address = address;
-        this.port = port;
-        this.protocolId = protocolId;
-        this.replaySpeedFactor = replaySpeedFactor;
-        this.packetHandler = packetHandler;
-    }
+    private PcapConfiguration configuration;
 
     @Override
-    public Channel createChannel(ChannelHandler channelHandler)
-        throws PlcConnectionException {
-        try {
-            final EventLoopGroup workerGroup = new OioEventLoopGroup();
-
-            Bootstrap bootstrap = new Bootstrap();
-            bootstrap.group(workerGroup);
-            bootstrap.channel(PcapSocketChannel.class);
-            bootstrap.option(PcapSocketChannelOption.PACKET_HANDLER, packetHandler);
-            bootstrap.option(PcapSocketChannelOption.SPEED_FACTOR, replaySpeedFactor);
-            bootstrap.handler(channelHandler);
-
-            // Start the client.
-            ChannelFuture f = bootstrap.connect(new PcapSocketAddress(pcapFile, address, port, protocolId)).sync();
-            f.addListener(new GenericFutureListener<Future<? super Void>>() {
-                @Override public void operationComplete(Future<? super Void> future) throws Exception {
-                    if (!future.isSuccess()) {
-                        logger.info("Unable to connect, shutting down worker thread.");
-                        workerGroup.shutdownGracefully();
-                    }
-                }
-            });
-            // Wait for sync
-            f.sync();
-            f.awaitUninterruptibly();
-            // Wait till the session is finished initializing.
-            return f.channel();
-        } catch (InterruptedException e) {
-            Thread.currentThread().interrupt();
-            throw new PlcConnectionException("Error creating channel.", e);
-        }
+    public void setConfiguration(PcapConfiguration pcapConfiguration) {
+        this.configuration = pcapConfiguration;
     }
 
     @Override
-    public void ping() throws PlcException {
-        // Raw-Sockets are absolutely passive, so there is nothing to do for a ping.
+    public Class<? extends Channel> getChannel() {
+        return PcapSocketChannel.class;
     }
 
-    public File getPcapFile() {
-        return pcapFile;
+    @Override
+    public void configureBootstrap(Bootstrap bootstrap) {
+        if (configuration == null) {
+            this.configuration = new PcapConfiguration();
+        }
+        logger.info("Configuring Bootstrap with {}", configuration);
+        bootstrap.option(PcapSocketChannelOption.PROTOCOL_ID, configuration.getProtocolId());
+        bootstrap.option(PcapSocketChannelOption.SPEED_FACTOR, configuration.getReplaySpeedFactor());
+        bootstrap.option(PcapSocketChannelOption.PACKET_HANDLER, configuration.getPacketHandler());
     }
 
 }
diff --git a/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapConfiguration.java b/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapConfiguration.java
new file mode 100644
index 0000000..54860d2
--- /dev/null
+++ b/plc4j/transports/pcap-socket/src/main/java/org/apache/plc4x/java/base/connection/PcapConfiguration.java
@@ -0,0 +1,71 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+package org.apache.plc4x.java.base.connection;
+
+import org.apache.plc4x.java.spi.parser.ConfigurationParameter;
+import org.apache.plc4x.java.spi.parser.DoubleDefaultValue;
+import org.apache.plc4x.java.spi.parser.IntDefaultValue;
+
+public class PcapConfiguration {
+
+    @ConfigurationParameter("protocol-id")
+    @IntDefaultValue(-1)
+    private Integer protocolId;
+
+    @ConfigurationParameter("replay-speed-factor")
+    @DoubleDefaultValue(1)
+    private float replaySpeedFactor;
+
+    @ConfigurationParameter("packet-handler")
+    private String packetHandler;
+
+    public Integer getProtocolId() {
+        return protocolId;
+    }
+
+    public void setProtocolId(Integer protocolId) {
+        this.protocolId = protocolId;
+    }
+
+    public float getReplaySpeedFactor() {
+        return replaySpeedFactor;
+    }
+
+    public void setReplaySpeedFactor(float replaySpeedFactor) {
+        this.replaySpeedFactor = replaySpeedFactor;
+    }
+
+    public String getPacketHandler() {
+        return packetHandler;
+    }
+
+    public void setPacketHandler(String packetHandler) {
+        this.packetHandler = packetHandler;
+    }
+
+    @Override
+    public String toString() {
+        return "PcapConfiguration{" +
+            "protocolId=" + protocolId +
+            ", replaySpeedFactor=" + replaySpeedFactor +
+            ", packetHandler=" + packetHandler +
+            '}';
+    }
+
+}
diff --git a/plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/base/connection/RawSocketChannelFactory.java b/plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/base/connection/RawSocketChannelFactory.java
index 16a287f..b387f89 100644
--- a/plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/base/connection/RawSocketChannelFactory.java
+++ b/plc4j/transports/raw-socket/src/main/java/org/apache/plc4x/java/base/connection/RawSocketChannelFactory.java
@@ -75,7 +75,8 @@ public class RawSocketChannelFactory implements ChannelFactory {
             // Start the client.
             ChannelFuture f = bootstrap.connect(new RawSocketIpAddress(deviceName, protocolId, address, port)).sync();
             f.addListener(new GenericFutureListener<Future<? super Void>>() {
-                @Override public void operationComplete(Future<? super Void> future) throws Exception {
+                @Override
+                public void operationComplete(Future<? super Void> future) throws Exception {
                     if (!future.isSuccess()) {
                         logger.info("Unable to connect, shutting down worker thread.");
                         workerGroup.shutdownGracefully();
diff --git a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannel.java b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannel.java
index 762d3f7..0553dc4 100644
--- a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannel.java
+++ b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannel.java
@@ -189,7 +189,8 @@ public class SerialChannel extends AbstractNioByteChannel implements DuplexChann
         }
     }
 
-    @Override protected void doClose() throws Exception {
+    @Override
+    protected void doClose() throws Exception {
         if (this.comPort != null) {
             this.comPort.close();
         }
diff --git a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelFactory.java b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelFactory.java
index 118458c..19829e7 100644
--- a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelFactory.java
+++ b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelFactory.java
@@ -53,7 +53,8 @@ public class SerialChannelFactory implements ChannelFactory {
             // Start the client.
             ChannelFuture f = bootstrap.connect(address);
             f.addListener(new GenericFutureListener<Future<? super Void>>() {
-                    @Override public void operationComplete(Future<? super Void> future) throws Exception {
+                    @Override
+                    public void operationComplete(Future<? super Void> future) throws Exception {
                         if (future.isSuccess()) {
                             System.out.println("Connection sucesfull!");
                         } else {
diff --git a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelHandler.java b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelHandler.java
index d57cb3f..d2cbb6d 100644
--- a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelHandler.java
+++ b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialChannelHandler.java
@@ -75,19 +75,23 @@ public abstract class SerialChannelHandler {
             super(address);
         }
 
-        @Override public boolean open() {
+        @Override
+        public boolean open() {
             return true;
         }
 
-        @Override public String getIdentifier() {
+        @Override
+        public String getIdentifier() {
             return null;
         }
 
-        @Override public void registerSelectionKey(SerialSelectionKey selectionKey) {
+        @Override
+        public void registerSelectionKey(SerialSelectionKey selectionKey) {
             this.selectionKey = selectionKey;
         }
 
-        @Override public void close() {
+        @Override
+        public void close() {
             // NOOP
         }
 
@@ -119,7 +123,8 @@ public abstract class SerialChannelHandler {
             comPort = SerialPort.getCommPort(((SerialSocketAddress) address).getIdentifier());
         }
 
-        @Override public boolean open() {
+        @Override
+        public boolean open() {
             if (comPort.openPort()) {
                 comPort.setComPortParameters(19200, 8, SerialPort.ONE_STOP_BIT, SerialPort.NO_PARITY);
                 return true;
@@ -127,11 +132,13 @@ public abstract class SerialChannelHandler {
             return false;
         }
 
-        @Override public String getIdentifier() {
+        @Override
+        public String getIdentifier() {
             return comPort.getDescriptivePortName();
         }
 
-        @Override public void registerSelectionKey(SerialSelectionKey selectionKey) {
+        @Override
+        public void registerSelectionKey(SerialSelectionKey selectionKey) {
             comPort.addDataListener(new SerialPortDataListener() {
                 @Override
                 public int getListeningEvents() {
@@ -146,7 +153,8 @@ public abstract class SerialChannelHandler {
             });
         }
 
-        @Override public void close() {
+        @Override
+        public void close() {
             this.comPort.closePort();
         }
 
@@ -169,4 +177,5 @@ public abstract class SerialChannelHandler {
             return bytesWritten;
         }
     }
+
 }
diff --git a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectionKey.java b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectionKey.java
index 4ffeee4..70451dd 100644
--- a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectionKey.java
+++ b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSelectionKey.java
@@ -47,24 +47,29 @@ class SerialSelectionKey extends AbstractSelectionKey {
         this.index = index;
     }
 
-    @Override public SelectableChannel channel() {
+    @Override
+    public SelectableChannel channel() {
         return this.channel;
     }
 
-    @Override public Selector selector() {
+    @Override
+    public Selector selector() {
         return this.selector;
     }
 
-    @Override public int interestOps() {
+    @Override
+    public int interestOps() {
         return this.interestOps;
     }
 
-    @Override public SelectionKey interestOps(int ops) {
+    @Override
+    public SelectionKey interestOps(int ops) {
         this.interestOps = ops;
         return this;
     }
 
-    @Override public int readyOps() {
+    @Override
+    public int readyOps() {
         final int ops = this.readyOps;
         this.readyOps = 0;
         // Reset events for this here in Selector
@@ -77,4 +82,5 @@ class SerialSelectionKey extends AbstractSelectionKey {
         readyOps = readyOps | event;
         logger.debug("Adding event {} to ready ops, now having ready ops {}", event, readyOps);
     }
+
 }
diff --git a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketAddress.java b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketAddress.java
index 166ab65..505b9d4 100644
--- a/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketAddress.java
+++ b/plc4j/transports/serial/src/main/java/org/apache/plc4x/java/serial/connection/connection/SerialSocketAddress.java
@@ -34,14 +34,17 @@ public class SerialSocketAddress extends SocketAddress {
         return identifier;
     }
 
-    @Override public boolean equals(Object o) {
+    @Override
+    public boolean equals(Object o) {
         if (this == o) return true;
         if (o == null || getClass() != o.getClass()) return false;
         SerialSocketAddress that = (SerialSocketAddress) o;
         return Objects.equals(identifier, that.identifier);
     }
 
-    @Override public int hashCode() {
+    @Override
+    public int hashCode() {
         return Objects.hash(identifier);
     }
+
 }
diff --git a/plc4j/transports/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java b/plc4j/transports/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java
index b62d8d0..16f68d5 100644
--- a/plc4j/transports/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java
+++ b/plc4j/transports/serial/src/test/java/org/apache/plc4x/java/base/connection/SerialChannelFactoryTest.java
@@ -61,7 +61,8 @@ public class SerialChannelFactoryTest {
         SerialChannelFactory asdf = new SerialChannelFactory("TEST-port1");
         // final TcpSocketChannelFactory factory = new TcpSocketChannelFactory(InetAddress.getLocalHost(), 5432);
         final Channel channel = asdf.createChannel(new ChannelInitializer<SerialChannel>() {
-            @Override protected void initChannel(SerialChannel ch) throws Exception {
+            @Override
+            protected void initChannel(SerialChannel ch) throws Exception {
                 ch.pipeline().addLast(new DemoCodec());
             }
         });
@@ -80,7 +81,8 @@ public class SerialChannelFactoryTest {
         Channel channel = null;
         try {
             channel = asdf.createChannel(new ChannelInitializer<SerialChannel>() {
-                @Override protected void initChannel(SerialChannel ch) throws Exception {
+                @Override
+                protected void initChannel(SerialChannel ch) throws Exception {
                     ch.pipeline().addLast(new DemoCodec());
                 }
             });
@@ -94,11 +96,13 @@ public class SerialChannelFactoryTest {
     }
 
     private static class DemoCodec extends ByteToMessageCodec<Object> {
-        @Override protected void encode(ChannelHandlerContext channelHandlerContext, Object o, ByteBuf byteBuf) throws Exception {
+        @Override
+        protected void encode(ChannelHandlerContext channelHandlerContext, Object o, ByteBuf byteBuf) throws Exception {
             // do nothing here
         }
 
-        @Override protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> list) throws Exception {
+        @Override
+        protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> list) throws Exception {
             byteBuf.markReaderIndex();
             StringBuffer sb = new StringBuffer();
             for (int i = 1; i <= byteBuf.readableBytes(); i++) {
diff --git a/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketChannelFactory.java b/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketChannelFactory.java
index 097f059..985d4e2 100644
--- a/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketChannelFactory.java
+++ b/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketChannelFactory.java
@@ -31,11 +31,11 @@ import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 
-public class TcpSocketChannelFactory extends NettyChannelFactory implements HasConfiguration<TcpConfiguration> {
+public class TcpSocketChannelFactory extends NettyChannelFactory implements HasConfiguration<TcpSocketConfiguration> {
 
     private static final Logger logger = LoggerFactory.getLogger(TcpSocketChannelFactory.class);
 
-    private TcpConfiguration configuration;
+    private TcpSocketConfiguration configuration;
 
     public TcpSocketChannelFactory() {
         // Default Constructor
@@ -58,17 +58,20 @@ public class TcpSocketChannelFactory extends NettyChannelFactory implements HasC
     }
 
 
-    @Override public void setConfiguration(TcpConfiguration tcpConfiguration) {
+    @Override
+    public void setConfiguration(TcpSocketConfiguration tcpConfiguration) {
         configuration = tcpConfiguration;
     }
 
-    @Override public Class<? extends Channel> getChannel() {
+    @Override
+    public Class<? extends Channel> getChannel() {
         return NioSocketChannel.class;
     }
 
-    @Override public void configureBootstrap(Bootstrap bootstrap) {
+    @Override
+    public void configureBootstrap(Bootstrap bootstrap) {
         if (configuration == null) {
-            this.configuration = new TcpConfiguration();
+            this.configuration = new TcpSocketConfiguration();
         }
         logger.info("Configuring Bootstrap with {}", configuration);
         bootstrap.option(ChannelOption.SO_KEEPALIVE, configuration.isKeepAlive());
diff --git a/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpConfiguration.java b/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketConfiguration.java
similarity index 90%
rename from plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpConfiguration.java
rename to plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketConfiguration.java
index e0cea01..24a6851 100644
--- a/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpConfiguration.java
+++ b/plc4j/transports/tcp/src/main/java/org/apache/plc4x/java/tcp/connection/TcpSocketConfiguration.java
@@ -28,19 +28,19 @@ import org.apache.plc4x.java.spi.parser.IntDefaultValue;
  * boolean nodelay = Boolean.parseBoolean(getPropertyOrDefault(TCP_NODELAY, "true"));
  * int connectTimeout = Integer.parseInt(getPropertyOrDefault(CONNECT_TIMEOUT_MILLIS, "1000"));
  */
-public class TcpConfiguration {
+public class TcpSocketConfiguration {
 
     @ConfigurationParameter("SO_KEEPALIVE")
     @BooleanDefaultValue(true)
-    public boolean keepAlive = true;
+    private boolean keepAlive = true;
 
     @ConfigurationParameter("TCP_NODELAY")
     @BooleanDefaultValue(true)
-    public boolean noDelay = true;
+    private boolean noDelay = true;
 
     @ConfigurationParameter("CONNECT_TIMEOUT_MILLIS")
     @IntDefaultValue(1000)
-    public int connectTimeout = 1000;
+    private int connectTimeout = 1000;
 
     public boolean isKeepAlive() {
         return keepAlive;
@@ -66,11 +66,13 @@ public class TcpConfiguration {
         this.connectTimeout = connectTimeout;
     }
 
-    @Override public String toString() {
-        return "TcpConfiguration{" +
+    @Override
+    public String toString() {
+        return "TcpSocketConfiguration{" +
             "keepAlive=" + keepAlive +
             ", noDelay=" + noDelay +
             ", connectTimeout=" + connectTimeout +
             '}';
     }
+
 }
diff --git a/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java b/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
index a77898d..bdf9d95 100644
--- a/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
+++ b/plc4j/utils/interop/src/main/java/org/apache/plc4x/interop/impl/Handler.java
@@ -55,7 +55,8 @@ public class Handler implements InteropServer.Iface {
     }
 
 
-    @Override public ConnectionHandle connect(String connectionString) throws TException {
+    @Override
+    public ConnectionHandle connect(String connectionString) throws TException {
         LOGGER.debug("Receiving new connect request to '{}'", connectionString);
         try {
             long id = connectionCounter.getAndIncrement();
@@ -74,7 +75,8 @@ public class Handler implements InteropServer.Iface {
         }
     }
 
-    @Override public void close(ConnectionHandle handle) throws TException {
+    @Override
+    public void close(ConnectionHandle handle) throws TException {
         LOGGER.debug("Receiving new close request for handle {}", handle.getConnectionId());
         if (!connections.containsKey(handle)) {
             LOGGER.warn("Handle for close request {} does not exist. Perhaps already closed?", handle.getConnectionId());
@@ -90,7 +92,8 @@ public class Handler implements InteropServer.Iface {
     }
 
 
-    @Override public Response execute(ConnectionHandle handle, Request request) throws TException {
+    @Override
+    public Response execute(ConnectionHandle handle, Request request) throws TException {
         LOGGER.debug("Executing " + request);
         if (request.getFields() == null) {
             throw new PlcException(
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannel.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannel.java
index a1e8308..57ce075 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannel.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannel.java
@@ -175,7 +175,8 @@ public class PcapSocketChannel extends OioByteStreamChannel {
         }
     }
 
-    @Override protected int doReadBytes(ByteBuf buf) throws Exception {
+    @Override
+    protected int doReadBytes(ByteBuf buf) throws Exception {
         if (handle == null || !handle.isOpen()) {
             return -1;
         }
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelConfig.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelConfig.java
index 2fcb6ab..3ed57a3 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelConfig.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelConfig.java
@@ -22,6 +22,7 @@ import io.netty.channel.Channel;
 import io.netty.channel.ChannelConfig;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.DefaultChannelConfig;
+import org.apache.plc4x.java.utils.pcapsockets.netty.handlers.PacketHandler;
 import org.pcap4j.packet.Packet;
 
 import java.util.Map;
@@ -33,8 +34,9 @@ public class PcapSocketChannelConfig extends DefaultChannelConfig implements Cha
     public static float SPEED_FAST_DOUBLE = 0.5f;
     public static float SPEED_FAST_FULL = 0f;
 
-    private PacketHandler packetHandler;
+    private int protocolId;
     private float speedFactor;
+    private PacketHandler packetHandler;
 
     public PcapSocketChannelConfig(Channel channel) {
         super(channel);
@@ -49,14 +51,15 @@ public class PcapSocketChannelConfig extends DefaultChannelConfig implements Cha
     @Override
     public Map<ChannelOption<?>, Object> getOptions() {
         return getOptions(super.getOptions(),
-            PcapSocketChannelOption.PACKET_HANDLER, PcapSocketChannelOption.SPEED_FACTOR);
+            PcapSocketChannelOption.PROTOCOL_ID, PcapSocketChannelOption.SPEED_FACTOR,
+            PcapSocketChannelOption.PACKET_HANDLER);
     }
 
     @Override
     public <T> boolean setOption(ChannelOption<T> option, T value) {
-        if(option == PcapSocketChannelOption.PACKET_HANDLER) {
-            if(value instanceof PacketHandler) {
-                packetHandler = (PacketHandler) value;
+        if(option == PcapSocketChannelOption.PROTOCOL_ID) {
+            if(value instanceof Integer) {
+                protocolId = (Integer) value;
                 return true;
             }
             return false;
@@ -68,17 +71,23 @@ public class PcapSocketChannelConfig extends DefaultChannelConfig implements Cha
                 }
             }
             return false;
+        } else if(option == PcapSocketChannelOption.PACKET_HANDLER) {
+            if(value instanceof PacketHandler) {
+                packetHandler = (PacketHandler) value;
+                return true;
+            }
+            return false;
         } else {
             return super.setOption(option, value);
         }
     }
 
-    public void setPacketHandler(PacketHandler packetHandler) {
-        this.packetHandler = packetHandler;
+    public int getProtocolId() {
+        return protocolId;
     }
 
-    public PacketHandler getPacketHandler() {
-        return packetHandler;
+    public void setProtocolId(int protocolId) {
+        this.protocolId = protocolId;
     }
 
     public float getSpeedFactor() {
@@ -89,4 +98,12 @@ public class PcapSocketChannelConfig extends DefaultChannelConfig implements Cha
         this.speedFactor = speedFactor;
     }
 
+    public void setPacketHandler(PacketHandler packetHandler) {
+        this.packetHandler = packetHandler;
+    }
+
+    public PacketHandler getPacketHandler() {
+        return packetHandler;
+    }
+
 }
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelOption.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelOption.java
index 71ed72e..a3b99c2 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelOption.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PcapSocketChannelOption.java
@@ -19,11 +19,15 @@ under the License.
 package org.apache.plc4x.java.utils.pcapsockets.netty;
 
 import io.netty.channel.ChannelOption;
+import org.apache.plc4x.java.utils.pcapsockets.netty.handlers.PacketHandler;
 
 public class PcapSocketChannelOption<T> extends ChannelOption<T> {
 
-    public static final ChannelOption<PacketHandler> PACKET_HANDLER =
-        ChannelOption.valueOf(PacketHandler.class, "PACKET_HANDLER");
+    /**
+     * Option to restrict the captures based on TCP protocol ids.
+     */
+    public static final ChannelOption<Integer> PROTOCOL_ID =
+        ChannelOption.valueOf(Integer.class, "PROTOCOL_ID");
 
     /**
      * Option to increase/decrease the replay speed of the recording.
@@ -32,6 +36,13 @@ public class PcapSocketChannelOption<T> extends ChannelOption<T> {
     public static final ChannelOption<Float> SPEED_FACTOR =
         ChannelOption.valueOf(Float.class, "SPEED_FACTOR");
 
+    /**
+     * Option for providing a PacketHandler, that intercepts the captured packets
+     * before passing the data into the channel.
+     */
+    public static final ChannelOption<String> PACKET_HANDLER =
+        ChannelOption.valueOf(PacketHandler.class, "PACKET_HANDLER");
+
     protected PcapSocketChannelOption() {
         super(null);
     }
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PacketHandler.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/PacketHandler.java
similarity index 93%
rename from plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PacketHandler.java
rename to plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/PacketHandler.java
index 0aae4be..68ba513 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/PacketHandler.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/PacketHandler.java
@@ -16,7 +16,7 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-package org.apache.plc4x.java.utils.pcapsockets.netty;
+package org.apache.plc4x.java.utils.pcapsockets.netty.handlers;
 
 import org.pcap4j.packet.Packet;
 
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/TcpIpPacketHandler.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/TcpIpPacketHandler.java
similarity index 95%
rename from plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/TcpIpPacketHandler.java
rename to plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/TcpIpPacketHandler.java
index 076c75e..3676527 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/TcpIpPacketHandler.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/TcpIpPacketHandler.java
@@ -16,7 +16,7 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-package org.apache.plc4x.java.utils.pcapsockets.netty;
+package org.apache.plc4x.java.utils.pcapsockets.netty.handlers;
 
 import org.pcap4j.packet.*;
 
diff --git a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/UdpIpPacketHandler.java b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/UdpIpPacketHandler.java
similarity index 95%
rename from plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/UdpIpPacketHandler.java
rename to plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/UdpIpPacketHandler.java
index f18ff09..5f5d93b 100644
--- a/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/UdpIpPacketHandler.java
+++ b/plc4j/utils/pcap-sockets/src/main/java/org/apache/plc4x/java/utils/pcapsockets/netty/handlers/UdpIpPacketHandler.java
@@ -16,7 +16,7 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-package org.apache.plc4x.java.utils.pcapsockets.netty;
+package org.apache.plc4x.java.utils.pcapsockets.netty.handlers;
 
 import org.pcap4j.packet.*;
 
diff --git a/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java b/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java
index a83cb96..2e1b8d8 100644
--- a/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java
+++ b/plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java
@@ -159,7 +159,8 @@ public class RawSocketChannel extends OioByteStreamChannel {
         }
     }
 
-    @Override protected int doReadBytes(ByteBuf buf) throws Exception {
+    @Override
+    protected int doReadBytes(ByteBuf buf) throws Exception {
         if (handle == null || !handle.isOpen()) {
             return -1;
         }
diff --git a/protocols/amsads/src/main/resources/protocols/amsads/amsads.mspec b/protocols/amsads/src/main/resources/protocols/amsads/amsads.mspec
index 40a63fd..7db8ca7 100644
--- a/protocols/amsads/src/main/resources/protocols/amsads/amsads.mspec
+++ b/protocols/amsads/src/main/resources/protocols/amsads/amsads.mspec
@@ -18,7 +18,7 @@
 //
 
 ////////////////////////////////////////////////////////////////
-// AMS/TCP Paket
+// AMS/TCP Packet
 ////////////////////////////////////////////////////////////////
 
 [type 'AmsTCPPacket'
@@ -38,7 +38,7 @@
 ]
 
 ////////////////////////////////////////////////////////////////
-// AMS/Serial Paket
+// AMS/Serial Packet
 ////////////////////////////////////////////////////////////////
 
 // If an AMS serial frame has been received and the frame is OK (magic cookie OK, CRC OK, correct fragment number etc.),
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/AssignementExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/AssignementExpression.java
index ece2723..48802de 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/AssignementExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/AssignementExpression.java
@@ -37,11 +37,13 @@ public class AssignementExpression extends Expression {
         return value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generate(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/BinaryExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/BinaryExpression.java
index 4d03b23..f6ec14f 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/BinaryExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/BinaryExpression.java
@@ -43,11 +43,13 @@ public class BinaryExpression extends Expression {
         return op;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generate(this);
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Block.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Block.java
index a6b41a0..c030581 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Block.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Block.java
@@ -43,11 +43,13 @@ public class Block extends Statement {
         return new BlockBuilder();
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.writeBlock(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/CallExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/CallExpression.java
index d31972b..0c1487a 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/CallExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/CallExpression.java
@@ -48,11 +48,13 @@ public class CallExpression extends Expression {
         return target;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         if (target == null) {
             writer.generateStaticCall(method, arguments);
         } else {
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ClassDeclaration.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ClassDeclaration.java
index 8c10a75..afe342b 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ClassDeclaration.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ClassDeclaration.java
@@ -63,11 +63,13 @@ public class ClassDeclaration implements Node {
         return innerClasses;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateClass(this.namespace, this.className, this.fields, this.constructors, this.methods, innerClasses, true);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstantExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstantExpression.java
index 36e9e02..d85639d 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstantExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstantExpression.java
@@ -35,11 +35,13 @@ public class ConstantExpression extends Expression {
         return value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 
-    @Override public void write(Generator generator) {
+    @Override
+    public void write(Generator generator) {
         generator.generate(this);
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstructorDeclaration.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstructorDeclaration.java
index fab7ccc..07ea618 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstructorDeclaration.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ConstructorDeclaration.java
@@ -31,11 +31,13 @@ public class ConstructorDeclaration extends MethodDefinition {
         super(null, null, parameters, body);
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         throw new UnsupportedOperationException("This should be called by the Class Implementor!");
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/DeclarationStatement.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/DeclarationStatement.java
index 3ab9129..84c9306 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/DeclarationStatement.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/DeclarationStatement.java
@@ -36,11 +36,13 @@ public class DeclarationStatement extends Statement {
         return initializer;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 
-    @Override public void write(Generator generator) {
+    @Override
+    public void write(Generator generator) {
         if (initializer != null) {
             generator.generateDeclarationWithInitializer(this);
         } else {
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldDeclaration.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldDeclaration.java
index 426dabb..f0489ce 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldDeclaration.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldDeclaration.java
@@ -46,11 +46,13 @@ public class FieldDeclaration implements Node {
         this(new HashSet<>(Arrays.asList(modifiers)), type, name, null);
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateFieldDeclaration(modifiers, type, name, initializer);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldReference.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldReference.java
index d96c37c..7c2db22 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldReference.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FieldReference.java
@@ -34,11 +34,13 @@ public class FieldReference extends ParameterExpression {
         this(type, name, null);
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateFieldReference(type, getName());
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FileNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FileNode.java
index 3906979..ded710d 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FileNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/FileNode.java
@@ -33,11 +33,13 @@ public class FileNode implements Node {
         this.innerClasses = innerClasses;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateFile(mainClass, innerClasses);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/IfStatement.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/IfStatement.java
index 51e85e7..1b89e47 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/IfStatement.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/IfStatement.java
@@ -49,11 +49,13 @@ public class IfStatement extends Statement {
         return blocks;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generate(this);
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/JavaGenerator.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/JavaGenerator.java
index da87f90..22a17a4 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/JavaGenerator.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/JavaGenerator.java
@@ -31,15 +31,18 @@ public class JavaGenerator implements Generator {
         this.writer = writer;
     }
 
-    @Override public Node prepare(Node root) {
+    @Override
+    public Node prepare(Node root) {
         return root;
     }
 
-    @Override public void generate(ConstantExpression constantExpression) {
+    @Override
+    public void generate(ConstantExpression constantExpression) {
         writer.write(constantExpression.getValue().toString());
     }
 
-    @Override public void generateDeclarationWithInitializer(DeclarationStatement declarationStatement) {
+    @Override
+    public void generateDeclarationWithInitializer(DeclarationStatement declarationStatement) {
         declarationStatement.getParameterExpression().getType().write(this);
         writer.write(" ");
         declarationStatement.getParameterExpression().write(this);
@@ -47,17 +50,20 @@ public class JavaGenerator implements Generator {
         declarationStatement.getInitializer().write(this);
     }
 
-    @Override public void generateDeclaration(DeclarationStatement declarationStatement) {
+    @Override
+    public void generateDeclaration(DeclarationStatement declarationStatement) {
         declarationStatement.getParameterExpression().getType().write(this);
         writer.write(" ");
         declarationStatement.getParameterExpression().write(this);
     }
 
-    @Override public void generate(ParameterExpression parameterExpression) {
+    @Override
+    public void generate(ParameterExpression parameterExpression) {
         writer.write(parameterExpression.getName());
     }
 
-    @Override public void generatePrimitive(Primitive.DataType primitive) {
+    @Override
+    public void generatePrimitive(Primitive.DataType primitive) {
         switch (primitive) {
             case STRING:
                 writer.write("String");
@@ -82,7 +88,8 @@ public class JavaGenerator implements Generator {
         }
     }
 
-    @Override public void generate(IfStatement ifStatement) {
+    @Override
+    public void generate(IfStatement ifStatement) {
         writer.startLine("if (");
         ifStatement.getConditions().get(0).write(this);
         writer.write(") {\n");
@@ -101,7 +108,8 @@ public class JavaGenerator implements Generator {
         writer.writeLine("}");
     }
 
-    @Override public void writeBlock(Block statements) {
+    @Override
+    public void writeBlock(Block statements) {
         if (statements == null) {
             return;
         }
@@ -120,7 +128,8 @@ public class JavaGenerator implements Generator {
         writer.endBlock();
     }
 
-    @Override public void generate(BinaryExpression binaryExpression) {
+    @Override
+    public void generate(BinaryExpression binaryExpression) {
         binaryExpression.getLeft().write(this);
         writer.write(" ");
         writer.write(getOperator(binaryExpression.getOp()));
@@ -128,13 +137,15 @@ public class JavaGenerator implements Generator {
         binaryExpression.getRight().write(this);
     }
 
-    @Override public void generate(AssignementExpression assignementExpression) {
+    @Override
+    public void generate(AssignementExpression assignementExpression) {
         assignementExpression.getTarget().write(this);
         writer.write(" = ");
         assignementExpression.getValue().write(this);
     }
 
-    @Override public void generateStaticCall(Method method, List<Node> arguments) {
+    @Override
+    public void generateStaticCall(Method method, List<Node> arguments) {
         writer.write(method.getType().getTypeString());
         writer.write(".");
         writer.write(method.getName());
@@ -152,7 +163,8 @@ public class JavaGenerator implements Generator {
         }
     }
 
-    @Override public void generateCall(Node target, Method method, List<Node> arguments) {
+    @Override
+    public void generateCall(Node target, Method method, List<Node> arguments) {
         target.write(this);
         writer.write(".");
         writer.write(method.getName());
@@ -161,7 +173,8 @@ public class JavaGenerator implements Generator {
         writer.write(")");
     }
 
-    @Override public void generate(NewExpression newExpression) {
+    @Override
+    public void generate(NewExpression newExpression) {
         writer.write("new ");
         newExpression.getType().write(this);
         writer.write("(");
@@ -169,7 +182,8 @@ public class JavaGenerator implements Generator {
         writer.write(")");
     }
 
-    @Override public void generate(MethodDefinition methodDefinition) {
+    @Override
+    public void generate(MethodDefinition methodDefinition) {
         writer.startLine(PUBLIC_);
         if (methodDefinition.getModifiers().contains(Modifier.STATIC)) {
             writer.write(STATIC_);
@@ -198,12 +212,14 @@ public class JavaGenerator implements Generator {
         writer.writeLine("}");
     }
 
-    @Override public void generateReturn(Expression value) {
+    @Override
+    public void generateReturn(Expression value) {
         writer.write("return ");
         value.write(this);
     }
 
-    @Override public void generateClass(String namespace, String className, List<FieldDeclaration> fields, List<ConstructorDeclaration> constructors, List<MethodDefinition> methods, List<ClassDeclaration> innerClasses, boolean mainClass) {
+    @Override
+    public void generateClass(String namespace, String className, List<FieldDeclaration> fields, List<ConstructorDeclaration> constructors, List<MethodDefinition> methods, List<ClassDeclaration> innerClasses, boolean mainClass) {
         // Add static?!
         // Own File?
         writer.startLine(PUBLIC_);
@@ -249,7 +265,8 @@ public class JavaGenerator implements Generator {
         writer.writeLine("}");
     }
 
-    @Override public void generateFieldDeclaration(Set<Modifier> modifiers, TypeDefinition type, String name, Expression initializer) {
+    @Override
+    public void generateFieldDeclaration(Set<Modifier> modifiers, TypeDefinition type, String name, Expression initializer) {
         if (modifiers.contains(Modifier.PRIVATE)) {
             writer.startLine("private ");
         } else {
@@ -273,12 +290,14 @@ public class JavaGenerator implements Generator {
         writer.endLine();
     }
 
-    @Override public void generateFieldReference(TypeDefinition type, String name) {
+    @Override
+    public void generateFieldReference(TypeDefinition type, String name) {
         writer.write("this.");
         writer.write(name);
     }
 
-    @Override public void generateConstructor(Set<Modifier> modifiers, String className, List<ParameterExpression> parameters, Block body) {
+    @Override
+    public void generateConstructor(Set<Modifier> modifiers, String className, List<ParameterExpression> parameters, Block body) {
         if (modifiers.contains(Modifier.PRIVATE)) {
             writer.startLine("private ");
         } else {
@@ -300,19 +319,23 @@ public class JavaGenerator implements Generator {
         writer.writeLine("}");
     }
 
-    @Override public void generateFile(ClassDeclaration mainClass, List<ClassDeclaration> innerClasses) {
+    @Override
+    public void generateFile(ClassDeclaration mainClass, List<ClassDeclaration> innerClasses) {
         generateClass(mainClass.getNamespace(), mainClass.getClassName(), mainClass.getFields(), mainClass.getConstructors(), mainClass.getMethods(), innerClasses, true);
     }
 
-    @Override public void generateType(String typeString) {
+    @Override
+    public void generateType(String typeString) {
         writer.write(typeString);
     }
 
-    @Override public void generateComment(String comment) {
+    @Override
+    public void generateComment(String comment) {
         writer.writeLine("// " + comment);
     }
 
-    @Override public void generateNoOp() {
+    @Override
+    public void generateNoOp() {
         writer.write(";");
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/LineComment.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/LineComment.java
index bf7d548..081a78c 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/LineComment.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/LineComment.java
@@ -33,11 +33,13 @@ public class LineComment implements Node {
         return comment;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateComment(comment);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Method.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Method.java
index 1e44fe1..940c8ee 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Method.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Method.java
@@ -61,11 +61,13 @@ public class Method implements Node {
         return expressionTypes;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
 
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/MethodDefinition.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/MethodDefinition.java
index 999fd44..47ddc43 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/MethodDefinition.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/MethodDefinition.java
@@ -62,11 +62,13 @@ public class MethodDefinition implements Node {
         return body;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generate(this);
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/NewExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/NewExpression.java
index b7181c8..5d75391 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/NewExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/NewExpression.java
@@ -38,11 +38,13 @@ public class NewExpression extends Expression {
         return arguments;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generate(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ParameterExpression.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ParameterExpression.java
index 5d5a2c6..997f81d 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ParameterExpression.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ParameterExpression.java
@@ -31,11 +31,13 @@ public class ParameterExpression extends Expression {
         return name;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 
-    @Override public void write(Generator generator) {
+    @Override
+    public void write(Generator generator) {
         generator.generate(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Primitive.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Primitive.java
index 4d6ecb7..fdf34b7 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Primitive.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/Primitive.java
@@ -39,11 +39,13 @@ public class Primitive extends TypeDefinition {
         return type;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator generator) {
+    @Override
+    public void write(Generator generator) {
         generator.generatePrimitive(this.getType());
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/PythonGenerator.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/PythonGenerator.java
index 9e4b17e..3978f1e 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/PythonGenerator.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/PythonGenerator.java
@@ -29,15 +29,18 @@ public class PythonGenerator implements Generator {
         this.writer = writer;
     }
 
-    @Override public Node prepare(Node root) {
+    @Override
+    public Node prepare(Node root) {
         return null;
     }
 
-    @Override public void generate(ConstantExpression constantExpression) {
+    @Override
+    public void generate(ConstantExpression constantExpression) {
         writer.write(constantExpression.getValue().toString());
     }
 
-    @Override public void generateDeclarationWithInitializer(DeclarationStatement declarationStatement) {
+    @Override
+    public void generateDeclarationWithInitializer(DeclarationStatement declarationStatement) {
         declarationStatement.getParameterExpression().write(this);
         writer.write(": ");
         declarationStatement.getParameterExpression().getType().write(this);
@@ -45,18 +48,21 @@ public class PythonGenerator implements Generator {
         declarationStatement.getInitializer().write(this);
     }
 
-    @Override public void generateDeclaration(DeclarationStatement declarationStatement) {
+    @Override
+    public void generateDeclaration(DeclarationStatement declarationStatement) {
         declarationStatement.getParameterExpression().write(this);
         writer.write(": ");
         declarationStatement.getParameterExpression().getType().write(this);
         writer.write(" = None");
     }
 
-    @Override public void generate(ParameterExpression parameterExpression) {
+    @Override
+    public void generate(ParameterExpression parameterExpression) {
         writer.write(parameterExpression.getName());
     }
 
-    @Override public void generatePrimitive(Primitive.DataType primitive) {
+    @Override
+    public void generatePrimitive(Primitive.DataType primitive) {
         switch (primitive) {
             case STRING:
                 writer.write("string");
@@ -77,7 +83,8 @@ public class PythonGenerator implements Generator {
         }
     }
 
-    @Override public void generate(IfStatement ifStatement) {
+    @Override
+    public void generate(IfStatement ifStatement) {
         writer.startLine("if ");
         ifStatement.getConditions().get(0).write(this);
         writer.write(":\n");
@@ -106,7 +113,8 @@ public class PythonGenerator implements Generator {
 //        }
     }
 
-    @Override public void writeBlock(Block statements) {
+    @Override
+    public void writeBlock(Block statements) {
         writer.startBlock();
         if (statements.getStatements().isEmpty()) {
             writer.writeLine("pass");
@@ -124,7 +132,8 @@ public class PythonGenerator implements Generator {
         writer.endBlock();
     }
 
-    @Override public void generate(BinaryExpression binaryExpression) {
+    @Override
+    public void generate(BinaryExpression binaryExpression) {
         binaryExpression.getLeft().write(this);
         writer.write(" ");
         writer.write(getOperator(binaryExpression.getOp()));
@@ -132,13 +141,15 @@ public class PythonGenerator implements Generator {
         binaryExpression.getRight().write(this);
     }
 
-    @Override public void generate(AssignementExpression assignementExpression) {
+    @Override
+    public void generate(AssignementExpression assignementExpression) {
         assignementExpression.getTarget().write(this);
         writer.write(" = ");
         assignementExpression.getValue().write(this);
     }
 
-    @Override public void generateStaticCall(Method method, List<Node> arguments) {
+    @Override
+    public void generateStaticCall(Method method, List<Node> arguments) {
         writer.write(method.getType().getTypeString());
         writer.write(".");
         writer.write(method.getName());
@@ -156,7 +167,8 @@ public class PythonGenerator implements Generator {
         }
     }
 
-    @Override public void generateCall(Node target, Method method, List<Node> arguments) {
+    @Override
+    public void generateCall(Node target, Method method, List<Node> arguments) {
         target.write(this);
         writer.write(".");
         writer.write(method.getName());
@@ -165,14 +177,16 @@ public class PythonGenerator implements Generator {
         writer.write(")");
     }
 
-    @Override public void generate(NewExpression newExpression) {
+    @Override
+    public void generate(NewExpression newExpression) {
         newExpression.getType().write(this);
         writer.write("(");
         generateArgumentList(newExpression.getArguments());
         writer.write(")");
     }
 
-    @Override public void generate(MethodDefinition methodDefinition) {
+    @Override
+    public void generate(MethodDefinition methodDefinition) {
         if (methodDefinition.getModifiers().contains(Modifier.STATIC)) {
             writer.writeLine("@classmethod");
         }
@@ -203,12 +217,14 @@ public class PythonGenerator implements Generator {
         methodDefinition.getBody().write(this);
     }
 
-    @Override public void generateReturn(Expression value) {
+    @Override
+    public void generateReturn(Expression value) {
         writer.write("return ");
         value.write(this);
     }
 
-    @Override public void generateClass(String namespace, String className, List<FieldDeclaration> fields, List<ConstructorDeclaration> constructors, List<MethodDefinition> methods, List<ClassDeclaration> innerClasses, boolean mainClass) {
+    @Override
+    public void generateClass(String namespace, String className, List<FieldDeclaration> fields, List<ConstructorDeclaration> constructors, List<MethodDefinition> methods, List<ClassDeclaration> innerClasses, boolean mainClass) {
         // Add static?!
         // Own File?
         writer.startLine("class ");
@@ -255,7 +271,8 @@ public class PythonGenerator implements Generator {
         writer.endBlock();
     }
 
-    @Override public void generateFieldDeclaration(Set<Modifier> modifiers, TypeDefinition type, String name, Expression initializer) {
+    @Override
+    public void generateFieldDeclaration(Set<Modifier> modifiers, TypeDefinition type, String name, Expression initializer) {
         writer.startLine("");
         writer.write(name);
         writer.write(": ");
@@ -270,12 +287,14 @@ public class PythonGenerator implements Generator {
         writer.endLine();
     }
 
-    @Override public void generateFieldReference(TypeDefinition type, String name) {
+    @Override
+    public void generateFieldReference(TypeDefinition type, String name) {
         writer.write("self.");
         writer.write(name);
     }
 
-    @Override public void generateConstructor(Set<Modifier> modifiers, String className, List<ParameterExpression> parameters, Block body) {
+    @Override
+    public void generateConstructor(Set<Modifier> modifiers, String className, List<ParameterExpression> parameters, Block body) {
         writer.startLine("def __init__(");
         for (int i = 0; i < parameters.size(); i++) {
             parameters.get(i).getType().write(this);
@@ -290,19 +309,23 @@ public class PythonGenerator implements Generator {
         body.write(this);
     }
 
-    @Override public void generateFile(ClassDeclaration mainClass, List<ClassDeclaration> innerClasses) {
+    @Override
+    public void generateFile(ClassDeclaration mainClass, List<ClassDeclaration> innerClasses) {
         generateClass(mainClass.getNamespace(), mainClass.getClassName(), mainClass.getFields(), mainClass.getConstructors(), mainClass.getMethods(), innerClasses, true);
     }
 
-    @Override public void generateType(String typeString) {
+    @Override
+    public void generateType(String typeString) {
         writer.write(typeString);
     }
 
-    @Override public void generateComment(String comment) {
+    @Override
+    public void generateComment(String comment) {
         writer.writeLine("# " + comment);
     }
 
-    @Override public void generateNoOp() {
+    @Override
+    public void generateNoOp() {
         writer.write("pass");
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java
index 64beb65..6eac84e 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/ReturnStatement.java
@@ -30,11 +30,13 @@ public class ReturnStatement extends Statement {
         return value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateReturn(this.getValue());
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/TypeDefinition.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/TypeDefinition.java
index 6dd97ce..a87bacd 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/TypeDefinition.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/ast/TypeDefinition.java
@@ -33,11 +33,13 @@ public class TypeDefinition implements Node {
         return this.typeString;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return null;
     }
 
-    @Override public void write(Generator writer) {
+    @Override
+    public void write(Generator writer) {
         writer.generateType(typeString);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AbstractNodeVisitor.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AbstractNodeVisitor.java
index 8d80118..2e7d524 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AbstractNodeVisitor.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AbstractNodeVisitor.java
@@ -21,22 +21,26 @@ package org.apache.plc4x.codegen.python;
 
 public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
 
-    @Override public T visit(AugAssignNode augAssignNode) {
+    @Override
+    public T visit(AugAssignNode augAssignNode) {
         augAssignNode.getOp().accept(this);
         augAssignNode.getTarget().accept(this);
         augAssignNode.getValue().accept(this);
         return null;
     }
 
-    @Override public T visit(AddNode addNode) {
+    @Override
+    public T visit(AddNode addNode) {
         return null;
     }
 
-    @Override public T visit(EqNode eqNode) {
+    @Override
+    public T visit(EqNode eqNode) {
         return null;
     }
 
-    @Override public T visit(IfNode ifNode) {
+    @Override
+    public T visit(IfNode ifNode) {
         for (Node node : ifNode.getBody()) {
             node.accept(this);
         }
@@ -47,7 +51,8 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return null;
     }
 
-    @Override public T visit(WhileNode whileNode) {
+    @Override
+    public T visit(WhileNode whileNode) {
         for (Node node : whileNode.getBody()) {
             node.accept(this);
         }
@@ -58,81 +63,97 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return null;
     }
 
-    @Override public T visit(NotEqNode notEqNode) {
+    @Override
+    public T visit(NotEqNode notEqNode) {
         return null;
     }
 
-    @Override public T visit(NumNode numNode) {
+    @Override
+    public T visit(NumNode numNode) {
         return null;
     }
 
-    @Override public T visit(PassNode passNode) {
+    @Override
+    public T visit(PassNode passNode) {
         return null;
     }
 
-    @Override public T visit(ReturnNode returnNode) {
+    @Override
+    public T visit(ReturnNode returnNode) {
         returnNode.getValue().accept(this);
         return null;
     }
 
-    @Override public T visit(StoreNode storeNode) {
+    @Override
+    public T visit(StoreNode storeNode) {
         return null;
     }
 
-    @Override public T visit(StrNode strNode) {
+    @Override
+    public T visit(StrNode strNode) {
         return null;
     }
 
-    @Override public T visit(TupleNode tupleNode) {
+    @Override
+    public T visit(TupleNode tupleNode) {
         for (Node elt : tupleNode.getElts()) {
             elt.accept(this);
         }
         return null;
     }
 
-    @Override public T visit(NameNode nameNode) {
+    @Override
+    public T visit(NameNode nameNode) {
         return null;
     }
 
-    @Override public T visit(NameConstantNode nameConstantNode) {
+    @Override
+    public T visit(NameConstantNode nameConstantNode) {
         return null;
     }
 
-    @Override public T visit(MultNode multNode) {
+    @Override
+    public T visit(MultNode multNode) {
         return null;
     }
 
-    @Override public T visit(ModuleNode moduleNode) {
+    @Override
+    public T visit(ModuleNode moduleNode) {
         for (Node node : moduleNode.getBody()) {
             node.accept(this);
         }
         return null;
     }
 
-    @Override public T visit(LoadNode loadNode) {
+    @Override
+    public T visit(LoadNode loadNode) {
         return null;
     }
 
-    @Override public T visit(ListNode listNode) {
+    @Override
+    public T visit(ListNode listNode) {
         for (Node elt : listNode.getElts()) {
             elt.accept(this);
         }
         return null;
     }
 
-    @Override public T visit(KeywordNode keywordNode) {
+    @Override
+    public T visit(KeywordNode keywordNode) {
         keywordNode.getValue().accept(this);
         return null;
     }
 
-    @Override public T visit(ImportFromNode importFromNode) {
+    @Override
+    public T visit(ImportFromNode importFromNode) {
         for (Node name : importFromNode.getNames()) {
             name.accept(this);
         }
         return null;
     }
 
-    @Override public T visit(FunctionDefNode functionDefNode) {
+    @Override
+    public T visit(FunctionDefNode functionDefNode) {
         functionDefNode.getArgs().accept(this);
         for (Node node : functionDefNode.getBody()) {
             node.accept(this);
@@ -143,11 +164,13 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return null;
     }
 
-    @Override public T visit(ExprNode exprNode) {
+    @Override
+    public T visit(ExprNode exprNode) {
         return exprNode.getValue().accept(this);
     }
 
-    @Override public T visit(CompareNode compareNode) {
+    @Override
+    public T visit(CompareNode compareNode) {
         for (Node comparator : compareNode.getComparators()) {
             comparator.accept(this);
         }
@@ -158,11 +181,13 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return null;
     }
 
-    @Override public T visit(AliasNode aliasNode) {
+    @Override
+    public T visit(AliasNode aliasNode) {
         return null;
     }
 
-    @Override public T visit(AnnAssignerNode annAssignerNode) {
+    @Override
+    public T visit(AnnAssignerNode annAssignerNode) {
         annAssignerNode.getAnnotation().accept(this);
         annAssignerNode.getTarget().accept(this);
         if (annAssignerNode.getValue() != null) {
@@ -172,7 +197,8 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         }
     }
 
-    @Override public T visit(ArgNode argNode) {
+    @Override
+    public T visit(ArgNode argNode) {
         if (argNode.getAnnotation() != null) {
             return argNode.getAnnotation().accept(this);
         } else {
@@ -180,7 +206,8 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         }
     }
 
-    @Override public T visit(ClassDefNode classDefNode) {
+    @Override
+    public T visit(ClassDefNode classDefNode) {
         for (Node basis : classDefNode.getBases()) {
             basis.accept(this);
         }
@@ -190,7 +217,8 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return null;
     }
 
-    @Override public T visit(CallNode callNode) {
+    @Override
+    public T visit(CallNode callNode) {
         for (Node arg : callNode.getArgs()) {
             arg.accept(this);
         }
@@ -200,25 +228,29 @@ public class AbstractNodeVisitor<T> implements NodeVisitor<T> {
         return callNode.getFunc().accept(this);
     }
 
-    @Override public T visit(BinOpNode binOpNode) {
+    @Override
+    public T visit(BinOpNode binOpNode) {
         binOpNode.getLeft().accept(this);
         binOpNode.getOp().accept(this);
         binOpNode.getRight().accept(this);
         return null;
     }
 
-    @Override public T visit(AttributeNode attributeNode) {
+    @Override
+    public T visit(AttributeNode attributeNode) {
         return attributeNode.getValue().accept(this);
     }
 
-    @Override public T visit(AssignNode assignNode) {
+    @Override
+    public T visit(AssignNode assignNode) {
         for (Node target : assignNode.getTargets()) {
             target.accept(this);
         }
         return assignNode.getValue().accept(this);
     }
 
-    @Override public T visit(ArgumentsNode argumentsNode) {
+    @Override
+    public T visit(ArgumentsNode argumentsNode) {
         for (Node arg : argumentsNode.getArgs()) {
             arg.accept(this);
         }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
index 50a004a..215d395 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
@@ -23,7 +23,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 @JsonTypeName("Add")
 public class AddNode extends Node {
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AliasNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AliasNode.java
index 6a66300..784e5ed1 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AliasNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AliasNode.java
@@ -46,7 +46,8 @@ public class AliasNode extends Node {
         this.name = name;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AnnAssignerNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AnnAssignerNode.java
index c47356c..0e78c42 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AnnAssignerNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AnnAssignerNode.java
@@ -68,7 +68,8 @@ public class AnnAssignerNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgNode.java
index 29757e2..8251f3f 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgNode.java
@@ -46,7 +46,8 @@ public class ArgNode extends LineEntryNode {
         this.arg = arg;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgumentsNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgumentsNode.java
index aeb366d..9f7994e 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgumentsNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ArgumentsNode.java
@@ -40,7 +40,8 @@ public class ArgumentsNode extends Node {
         this.args = args;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AssignNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AssignNode.java
index da036c5..0077845 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AssignNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AssignNode.java
@@ -49,7 +49,8 @@ public class AssignNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AttributeNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AttributeNode.java
index b9665eb..9a62978 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AttributeNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AttributeNode.java
@@ -57,7 +57,8 @@ public class AttributeNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AugAssignNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AugAssignNode.java
index 330f213..61797fe 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AugAssignNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AugAssignNode.java
@@ -57,7 +57,8 @@ public class AugAssignNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/BinOpNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/BinOpNode.java
index 5c624b9..8ce0ebc 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/BinOpNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/BinOpNode.java
@@ -57,7 +57,8 @@ public class BinOpNode extends LineEntryNode {
         this.right = right;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CallNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CallNode.java
index 60974d3..834bf46 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CallNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CallNode.java
@@ -60,7 +60,8 @@ public class CallNode extends LineEntryNode {
         this.keywords = keywords;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ClassDefNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ClassDefNode.java
index 579364a..2e5e7ae 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ClassDefNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ClassDefNode.java
@@ -67,7 +67,8 @@ public class ClassDefNode extends LineEntryNode {
         this.name = name;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CompareNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CompareNode.java
index b238ab4..449e512 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CompareNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/CompareNode.java
@@ -60,7 +60,8 @@ public class CompareNode extends LineEntryNode {
         this.ops = ops;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/EqNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/EqNode.java
index ae0b65b..84a4797 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/EqNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/EqNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("Eq")
 public class EqNode extends Node {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ExprNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ExprNode.java
index 39f8a7b..c041b87 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ExprNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ExprNode.java
@@ -35,7 +35,8 @@ public class ExprNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/FunctionDefNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/FunctionDefNode.java
index 33e6c9a..c6be0d5 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/FunctionDefNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/FunctionDefNode.java
@@ -73,7 +73,8 @@ public class FunctionDefNode extends LineEntryNode {
         this.returns = returns;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/IfNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/IfNode.java
index c9185ba..22aa67a 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/IfNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/IfNode.java
@@ -60,7 +60,8 @@ public class IfNode extends LineEntryNode {
         this.test = test;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ImportFromNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ImportFromNode.java
index ab61026..7e216f5 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ImportFromNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ImportFromNode.java
@@ -60,7 +60,8 @@ public class ImportFromNode extends LineEntryNode {
         this.names = names;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/KeywordNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/KeywordNode.java
index f352d21..08f762f 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/KeywordNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/KeywordNode.java
@@ -46,7 +46,8 @@ public class KeywordNode extends Node {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ListNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ListNode.java
index 59f8511..d8763a8 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ListNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ListNode.java
@@ -49,7 +49,8 @@ public class ListNode extends LineEntryNode {
         this.elts = elts;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/LoadNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/LoadNode.java
index 1aeca83..3cb6754 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/LoadNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/LoadNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("Load")
 public class LoadNode extends ContextNode {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ModuleNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ModuleNode.java
index 9a4eb37..1ed0a45 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ModuleNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ModuleNode.java
@@ -38,7 +38,8 @@ public class ModuleNode extends Node {
         this.body = body;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
\ No newline at end of file
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/MultNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/MultNode.java
index 4c64135..89fdba5 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/MultNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/MultNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("Mult")
 public class MultNode extends LineEntryNode {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameConstantNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameConstantNode.java
index 11a812d..8d81e78 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameConstantNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameConstantNode.java
@@ -35,7 +35,8 @@ public class NameConstantNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameNode.java
index 1d1b609..45ca1f5 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NameNode.java
@@ -46,7 +46,8 @@ public class NameNode extends LineEntryNode {
         this.id = id;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NotEqNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NotEqNode.java
index 7591c2f..5e3a800 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NotEqNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NotEqNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("NotEq")
 public class NotEqNode extends Node {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java
index b002a6f..1d24cee 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/NumNode.java
@@ -35,7 +35,8 @@ public class NumNode extends LineEntryNode {
         this.n = n;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/PassNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/PassNode.java
index e81ba83..7d6da6f 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/PassNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/PassNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("Pass")
 public class PassNode extends LineEntryNode {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ReturnNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ReturnNode.java
index 3b0b057..793a2e1 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ReturnNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/ReturnNode.java
@@ -35,7 +35,8 @@ public class ReturnNode extends LineEntryNode {
         this.value = value;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StoreNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StoreNode.java
index 3677287..d62e923 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StoreNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StoreNode.java
@@ -22,7 +22,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
 
 @JsonTypeName("Store")
 public class StoreNode extends ContextNode {
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StrNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StrNode.java
index d60f39a..31f10a9 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StrNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/StrNode.java
@@ -35,7 +35,8 @@ public class StrNode extends LineEntryNode {
         this.s = s;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/TupleNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/TupleNode.java
index 3f93738..18587cd 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/TupleNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/TupleNode.java
@@ -49,7 +49,8 @@ public class TupleNode extends LineEntryNode {
         this.elts = elts;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/WhileNode.java b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/WhileNode.java
index a4d4dd5..bbd3609 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/WhileNode.java
+++ b/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/WhileNode.java
@@ -60,7 +60,8 @@ public class WhileNode extends LineEntryNode {
         this.test = test;
     }
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
+    @Override
+    public <T> T accept(NodeVisitor<T> visitor) {
         return visitor.visit(this);
     }
 }
diff --git a/sandbox/code-gen/src/test/java/org/apache/plc4x/codegen/ModuleNodeTest.java b/sandbox/code-gen/src/test/java/org/apache/plc4x/codegen/ModuleNodeTest.java
index 9c95a86..3ff4675 100644
--- a/sandbox/code-gen/src/test/java/org/apache/plc4x/codegen/ModuleNodeTest.java
+++ b/sandbox/code-gen/src/test/java/org/apache/plc4x/codegen/ModuleNodeTest.java
@@ -115,36 +115,44 @@ class ModuleNodeTest {
         NodeVisitor<String> toString = new AbstractNodeVisitor<String>() {
 
 
-            @Override public String visit(CompareNode compareNode) {
+            @Override
+            public String visit(CompareNode compareNode) {
                 assert compareNode.getComparators().size() == 1;
                 return compareNode.getLeft().accept(this) + " " + compareNode.getOps().get(0).accept(this) + " " + compareNode.getComparators().get(0).accept(this);
             }
 
-            @Override public String visit(EqNode eqNode) {
+            @Override
+            public String visit(EqNode eqNode) {
                 return "==";
             }
 
-            @Override public String visit(NotEqNode notEqNode) {
+            @Override
+            public String visit(NotEqNode notEqNode) {
                 return "!=";
             }
 
-            @Override public String visit(NumNode numNode) {
+            @Override
+            public String visit(NumNode numNode) {
                 return Double.toString(numNode.getN());
             }
 
-            @Override public String visit(StrNode strNode) {
+            @Override
+            public String visit(StrNode strNode) {
                 return strNode.getS();
             }
 
-            @Override public String visit(NameNode nameNode) {
+            @Override
+            public String visit(NameNode nameNode) {
                 return nameNode.getId();
             }
 
-            @Override public String visit(AttributeNode attributeNode) {
+            @Override
+            public String visit(AttributeNode attributeNode) {
                 return attributeNode.getAttr();
             }
 
-            @Override public String visit(CallNode callNode) {
+            @Override
+            public String visit(CallNode callNode) {
                 final String function = callNode.getFunc().accept(this);
 
                 String s = function + "(";
@@ -158,17 +166,20 @@ class ModuleNodeTest {
                 return s;
             }
 
-            @Override public String visit(KeywordNode keywordNode) {
+            @Override
+            public String visit(KeywordNode keywordNode) {
                 return keywordNode.getArg() + " = " + keywordNode.getValue().accept(this);
             }
 
-            @Override public String visit(AssignNode assignNode) {
+            @Override
+            public String visit(AssignNode assignNode) {
                 assert assignNode.getTargets().size() == 1;
                 printer.writeLine(String.format("%s = %s;", assignNode.getTargets().get(0).accept(this), assignNode.getValue().accept(this))); ;
                 return super.visit(assignNode);
             }
 
-            @Override public String visit(IfNode ifNode) {
+            @Override
+            public String visit(IfNode ifNode) {
                 printer.writeLine(String.format("If (%s) {", ifNode.getTest().accept(this)));
                 printer.startBlock();
                 for (Node node : ifNode.getBody()) {
diff --git a/sandbox/test-java-bacnetip-driver/pom.xml b/sandbox/test-java-bacnetip-driver/pom.xml
index 6fb2856..3884b3a 100644
--- a/sandbox/test-java-bacnetip-driver/pom.xml
+++ b/sandbox/test-java-bacnetip-driver/pom.xml
@@ -79,7 +79,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-transport-pcap-spocket</artifactId>
+      <artifactId>plc4j-transport-pcap-socket</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <!--scope>test</scope-->
     </dependency>
diff --git a/sandbox/test-java-bacnetip-driver/src/test/java/org/apache/plc4x/java/bacnetip/PassiveBacNetIpDriverManual.java b/sandbox/test-java-bacnetip-driver/src/test/java/org/apache/plc4x/java/bacnetip/PassiveBacNetIpDriverManual.java
index aadab6d..9a8c77e 100644
--- a/sandbox/test-java-bacnetip-driver/src/test/java/org/apache/plc4x/java/bacnetip/PassiveBacNetIpDriverManual.java
+++ b/sandbox/test-java-bacnetip-driver/src/test/java/org/apache/plc4x/java/bacnetip/PassiveBacNetIpDriverManual.java
@@ -24,19 +24,20 @@ import org.apache.plc4x.java.base.connection.PcapChannelFactory;
 import org.apache.plc4x.java.spi.connection.NettyPlcConnection;
 import org.apache.plc4x.java.utils.pcapsockets.netty.PcapSocketAddress;
 import org.apache.plc4x.java.utils.pcapsockets.netty.PcapSocketChannelConfig;
-import org.apache.plc4x.java.utils.pcapsockets.netty.UdpIpPacketHandler;
+import org.apache.plc4x.java.utils.pcapsockets.netty.handlers.UdpIpPacketHandler;
 
 import java.io.File;
 
 public class PassiveBacNetIpDriverManual {
 
     public static void main(String[] args) throws Exception {
-        NettyPlcConnection connection = new PassiveBacNetIpPlcConnection(new PcapChannelFactory(
+
+        /*NettyPlcConnection connection = new PassiveBacNetIpPlcConnection(new PcapChannelFactory(
             //new File("/Users/christofer.dutz/Projects/Apache/PLC4X-Documents/BacNET/Captures/Merck/BACnetWhoIsRouterToNetwork.pcapng"), null,
             new File("/Users/christofer.dutz/Downloads/20190906_udp.pcapng"), null,
             PassiveBacNetIpDriver.BACNET_IP_PORT, PcapSocketAddress.ALL_PROTOCOLS,
             PcapSocketChannelConfig.SPEED_FAST_DOUBLE, new UdpIpPacketHandler()), "", new HelloWorldProtocol());
-        connection.connect();
+        connection.connect();*/
     }
 
 }
diff --git a/sandbox/test-java-knxnetip-driver/pom.xml b/sandbox/test-java-knxnetip-driver/pom.xml
index 892d5ee..86312fb 100644
--- a/sandbox/test-java-knxnetip-driver/pom.xml
+++ b/sandbox/test-java-knxnetip-driver/pom.xml
@@ -105,7 +105,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-transport-pcap-spocket</artifactId>
+      <artifactId>plc4j-transport-pcap-socket</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <!--scope>test</scope-->
     </dependency>
diff --git a/sandbox/test-java-s7-driver/pom.xml b/sandbox/test-java-s7-driver/pom.xml
index f014a3a..d7153e5 100644
--- a/sandbox/test-java-s7-driver/pom.xml
+++ b/sandbox/test-java-s7-driver/pom.xml
@@ -70,6 +70,12 @@
       <artifactId>plc4j-transport-tcp</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4j-transport-pcap-socket</artifactId>
+      <version>0.6.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
 
     <dependency>
       <groupId>commons-beanutils</groupId>
diff --git a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
index c7a869d..a967324 100644
--- a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
+++ b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/S7Driver.java
@@ -49,19 +49,23 @@ public class S7Driver extends GeneratedDriverBase<TPKTPacket> {
         return "Siemens S7 (Basic)";
     }
 
-    @Override protected int getDefaultPortIPv4() {
+    @Override
+    protected int getDefaultPortIPv4() {
         return ISO_ON_TCP_PORT;
     }
 
-    @Override protected S7PlcFieldHandler getFieldHandler() {
+    @Override
+    protected S7PlcFieldHandler getFieldHandler() {
         return new S7PlcFieldHandler();
     }
 
-    @Override protected Class<? extends NettyChannelFactory> getTransportChannelFactory() {
+    @Override
+    protected Class<? extends NettyChannelFactory> getTransportChannelFactory() {
         return TcpSocketChannelFactory.class;
     }
 
-    @Override protected ProtocolStackConfigurer<TPKTPacket> getStackConfigurer() {
+    @Override
+    protected ProtocolStackConfigurer<TPKTPacket> getStackConfigurer() {
         return SingleProtocolStackConfigurer.builder(TPKTPacket.class)
             .withProtocol(S7ProtocolLogic.class)
             .withPacketSizeEstimator(ByteLengthEstimator.class)
@@ -71,8 +75,8 @@ public class S7Driver extends GeneratedDriverBase<TPKTPacket> {
 
     /** Estimate the Length of a Packet */
     public static class ByteLengthEstimator implements Function<ByteBuf, Integer> {
-
-        @Override public Integer apply(ByteBuf byteBuf) {
+        @Override
+        public Integer apply(ByteBuf byteBuf) {
             if (byteBuf.readableBytes() >= 4) {
                 return byteBuf.getUnsignedShort(byteBuf.readerIndex() + 2);
             }
@@ -82,12 +86,13 @@ public class S7Driver extends GeneratedDriverBase<TPKTPacket> {
 
     /** Consumes all Bytes till another Magic Byte is found */
     public static class CorruptPackageCleaner implements Consumer<ByteBuf> {
-
-        @Override public void accept(ByteBuf byteBuf) {
+        @Override
+        public void accept(ByteBuf byteBuf) {
             while (byteBuf.getUnsignedByte(0) != TPKTPacket.PROTOCOLID) {
                 // Just consume the bytes till the next possible start position.
                 byteBuf.readByte();
             }
         }
     }
+
 }
diff --git a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
index 63bcc88..451732f 100644
--- a/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
+++ b/sandbox/test-java-s7-driver/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
@@ -136,9 +136,10 @@ public class S7ProtocolLogic extends Plc4xProtocolBase<TPKTPacket> implements Ha
 
     private S7MessageProcessor processor = null;
 
-    @Override public void setConfiguration(S7Configuration configuration) {
-        this.callingTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.PG_OR_PC, configuration.rack, configuration.slot);
-        this.calledTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.OS, 0, 0);
+    @Override
+    public void setConfiguration(S7Configuration configuration) {
+        this.callingTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.PG_OR_PC, 0, 0);
+        this.calledTsapId = S7TsapIdEncoder.encodeS7TsapId(DeviceGroup.OS, configuration.rack, configuration.slot);
 
         this.controllerType = configuration.controllerType == null ? S7ControllerType.ANY : S7ControllerType.valueOf(configuration.controllerType);
         // The Siemens LOGO device seems to only work with very limited settings,
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java b/sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/ManualS7DriverTest.java
similarity index 64%
copy from sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
copy to sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/ManualS7DriverTest.java
index 50a004a..5968c97 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
+++ b/sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/ManualS7DriverTest.java
@@ -16,15 +16,15 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-package org.apache.plc4x.codegen.python;
+package org.apache.plc4x.java.s7.readwrite;
 
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import org.apache.plc4x.java.api.PlcConnection;
 
-@JsonTypeName("Add")
-public class AddNode extends Node {
+public class ManualS7DriverTest {
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
-        return visitor.visit(this);
+    public static void main(String[] args) throws Exception {
+        S7Driver driver = new S7Driver();
+        final PlcConnection connect = driver.connect("s7ng:///Users/christofer.dutz/Projects/Apache/PLC4X/plc4x/sandbox/test-java-s7-driver/src/test/resources/pcaps/s7-1200-reads-writes.pcapng");
     }
 
 }
diff --git a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java b/sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/S7TestPcapDriver.java
similarity index 68%
copy from sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
copy to sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/S7TestPcapDriver.java
index 50a004a..72c28d0 100644
--- a/sandbox/code-gen/src/main/java/org/apache/plc4x/codegen/python/AddNode.java
+++ b/sandbox/test-java-s7-driver/src/test/java/org/apache/plc4x/java/s7/readwrite/S7TestPcapDriver.java
@@ -16,15 +16,16 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-package org.apache.plc4x.codegen.python;
+package org.apache.plc4x.java.s7.readwrite;
 
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import org.apache.plc4x.java.base.connection.PcapChannelFactory;
+import org.apache.plc4x.java.spi.connection.NettyChannelFactory;
 
-@JsonTypeName("Add")
-public class AddNode extends Node {
+public class S7TestPcapDriver extends S7Driver {
 
-    @Override public <T> T accept(NodeVisitor<T> visitor) {
-        return visitor.visit(this);
+    @Override
+    protected Class<? extends NettyChannelFactory> getTransportChannelFactory() {
+        return PcapChannelFactory.class;
     }
 
 }
diff --git a/sandbox/test-streampipes-plc4x-adapters/pom.xml b/sandbox/test-streampipes-plc4x-adapters/pom.xml
index 5868394..e20c1b5 100644
--- a/sandbox/test-streampipes-plc4x-adapters/pom.xml
+++ b/sandbox/test-streampipes-plc4x-adapters/pom.xml
@@ -67,7 +67,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.plc4x</groupId>
-      <artifactId>plc4j-transport-pcap-spocket</artifactId>
+      <artifactId>plc4j-transport-pcap-socket</artifactId>
       <version>0.6.0-SNAPSHOT</version>
       <!--scope>test</scope-->
     </dependency>
diff --git a/sandbox/test-streampipes-plc4x-adapters/src/main/java/org/apache/plc4x/java/streampipes/adapters/source/bacnetip/BacNetIpAdapter.java b/sandbox/test-streampipes-plc4x-adapters/src/main/java/org/apache/plc4x/java/streampipes/adapters/source/bacnetip/BacNetIpAdapter.java
index 940a0dc..f29c402 100644
--- a/sandbox/test-streampipes-plc4x-adapters/src/main/java/org/apache/plc4x/java/streampipes/adapters/source/bacnetip/BacNetIpAdapter.java
+++ b/sandbox/test-streampipes-plc4x-adapters/src/main/java/org/apache/plc4x/java/streampipes/adapters/source/bacnetip/BacNetIpAdapter.java
@@ -31,6 +31,7 @@ import org.apache.plc4x.java.spi.connection.NettyPlcConnection;
 import org.apache.plc4x.java.spi.messages.PlcRequestContainer;
 import org.apache.plc4x.java.utils.pcapsockets.netty.PcapSocketAddress;
 import org.apache.plc4x.java.utils.pcapsockets.netty.PcapSocketChannelConfig;
+import org.apache.plc4x.java.utils.pcapsockets.netty.handlers.UdpIpPacketHandler;
 import org.pcap4j.core.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -193,7 +194,7 @@ public class BacNetIpAdapter extends SpecificDataStreamAdapter {
 
     @Override
     public void startAdapter() throws AdapterException {
-        try {
+        /*try {
             ChannelFactory channelFactory;
             if (deviceName != null) {
                 channelFactory = new RawSocketChannelFactory(deviceName, null,
@@ -203,7 +204,7 @@ public class BacNetIpAdapter extends SpecificDataStreamAdapter {
                 channelFactory = new PcapChannelFactory(new File(pcapFile), null,
                     PassiveBacNetIpDriver.BACNET_IP_PORT, PcapSocketAddress.ALL_PROTOCOLS,
                     PcapSocketChannelConfig.SPEED_REALTIME,
-                    new org.apache.plc4x.java.utils.pcapsockets.netty.UdpIpPacketHandler());
+                    new UdpIpPacketHandler());
             } else {
                 throw new AdapterException("Configuration Exception. Either device or file have to be selected.");
             }
@@ -347,7 +348,7 @@ public class BacNetIpAdapter extends SpecificDataStreamAdapter {
         } catch (PlcConnectionException e) {
             logger.error("An error occurred starting the BACnet/IP driver", e);
             throw new AdapterException("An error occurred starting the BACnet/IP driver");
-        }
+        }*/
     }
 
     @Override