diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java
new file mode 100644
index 0000000000000000000000000000000000000000..df713ee25c21fda1adaefdd9cd76c9519af6d121
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java
@@ -0,0 +1,20 @@
+package de.hft.stuttgart.citydoctor2.gui.tree;
+
+import javafx.scene.control.ListCell;
+
+public class ZipEntryListCell extends ListCell<ZipEntryNode> {
+
+    @Override
+    protected void updateItem(ZipEntryNode item, boolean empty) {
+        super.updateItem(item, empty);
+        if (!empty || item != null) {
+            setText(item.getText());
+        } else {
+            setText(null);
+        }
+    }
+
+    public void updateColor() {
+        setTextFill(getItem().getTextColor());
+    }
+}
diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..a260a62adb34c232e79c9cbace7b79eef88feac5
--- /dev/null
+++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java
@@ -0,0 +1,32 @@
+package de.hft.stuttgart.citydoctor2.gui.tree;
+
+import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry;
+import javafx.scene.paint.Color;
+
+public class ZipEntryNode {
+
+    private final CityGmlZipEntry entry;
+
+    public ZipEntryNode(CityGmlZipEntry entry) {
+        this.entry = entry;
+    }
+
+    public Color getTextColor() {
+        if (entry.getErrorType() != null) {
+            return Color.RED;
+        } else if (entry.isDecompressed()) {
+            return Color.GREEN;
+        } else {
+            return Color.BLACK;
+        }
+    }
+
+    public String getText() {
+        return entry.getDisplayName();
+    }
+
+    public CityGmlZipEntry getEntry() {
+        return entry;
+    }
+
+}