diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllTunnelConstructiveElementsNode.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllTunnelConstructiveElementsNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..053dc8e3f09ea656b1caa0faa27b9c138c9ebdfb
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/AllTunnelConstructiveElementsNode.java
@@ -0,0 +1,46 @@
+package de.hft.stuttgart.citydoctor2.gui.tree;
+
+import de.hft.stuttgart.citydoctor2.datastructure.TunnelConstructiveElement;
+import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
+import de.hft.stuttgart.citydoctor2.gui.Renderer;
+
+import java.util.List;
+
+public class AllTunnelConstructiveElementsNode extends Renderable{
+
+    private final List<TunnelConstructiveElement> constructiveElements;
+
+    public AllTunnelConstructiveElementsNode(List<TunnelConstructiveElement> constructiveElements) {
+        this.constructiveElements = constructiveElements;
+    }
+
+    @Override
+    public String getText() {
+        return "Constructive Elements";
+    }
+
+    @Override
+    public void visit(Renderer renderer) {
+        renderer.clearCurrentRender();
+    }
+
+    @Override
+    public void refreshTextColor() {
+        boolean isValidated = false;
+        for (TunnelConstructiveElement bce : constructiveElements) {
+            if (bce.isValidated()) {
+                isValidated = true;
+            }
+            if (bce.containsAnyError()) {
+                setStatus(CheckStatus.ERROR);
+                return;
+            }
+        }
+        if (isValidated) {
+            setStatus(CheckStatus.OK);
+        } else {
+            setStatus(CheckStatus.NOT_CHECKED);
+        }
+    }
+
+}
diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/TunnelConstructiveElementNode.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/TunnelConstructiveElementNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..b11a3239d6c9c3d5359a6dbc35d7eb852f8ac28c
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/TunnelConstructiveElementNode.java
@@ -0,0 +1,35 @@
+package de.hft.stuttgart.citydoctor2.gui.tree;
+
+import de.hft.stuttgart.citydoctor2.datastructure.TunnelConstructiveElement;
+import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
+import de.hft.stuttgart.citydoctor2.gui.Renderer;
+
+public class TunnelConstructiveElementNode extends Renderable{
+
+    private final TunnelConstructiveElement tce;
+
+    public TunnelConstructiveElementNode(TunnelConstructiveElement tce) {
+        this.tce = tce;
+    }
+
+    @Override
+    public String getText() {
+        return tce.getGmlId().getGmlString();
+    }
+
+    @Override
+    public void visit(Renderer renderer) {
+        renderer.render(tce);
+    }
+
+    @Override
+    public void refreshTextColor() {
+        if (!tce.isValidated()) {
+            setStatus(CheckStatus.NOT_CHECKED);
+        } else if (tce.containsAnyError()) {
+            setStatus(CheckStatus.ERROR);
+        } else {
+            setStatus(CheckStatus.OK);
+        }
+    }
+}