diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java
deleted file mode 100644
index 19a004d7ab4eaf1ea7ae44477681e474a2e55159..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.AllPolygonsOrientedWrongError;
-
-public class AllPolygonsOrientedWrongErrorProperty extends AbstractInlineProperty<AllPolygonsOrientedWrongError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 441706560214349475L;
-
-    public AllPolygonsOrientedWrongErrorProperty() {
-        super();
-    }
-
-    public AllPolygonsOrientedWrongErrorProperty(AllPolygonsOrientedWrongError apowe) {
-        super(apowe);
-    }
-
-    @Override
-    public Class<AllPolygonsOrientedWrongError> getTargetType() {
-        return AllPolygonsOrientedWrongError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ConsecutivePointsSameErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ConsecutivePointsSameErrorProperty.java
deleted file mode 100644
index 38a1bc4cdc6a007424a5021c41cf7d644da23ea9..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ConsecutivePointsSameErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.ConsecutivePointsSameError;
-
-public class ConsecutivePointsSameErrorProperty extends AbstractInlineProperty<ConsecutivePointsSameError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 3869036308848839709L;
-
-    public ConsecutivePointsSameErrorProperty() {
-        super();
-    }
-
-    public ConsecutivePointsSameErrorProperty(ConsecutivePointsSameError cpse) {
-        super(cpse);
-    }
-
-    @Override
-    public Class<ConsecutivePointsSameError> getTargetType() {
-        return ConsecutivePointsSameError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java
deleted file mode 100644
index 9a0a0b2663b613bfbdb86c872e8dafa1cbca445a..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.HoleOutsideError;
-
-public class HoleOutsideErrorProperty extends AbstractInlineProperty<HoleOutsideError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 4196743912365692331L;
-
-    public HoleOutsideErrorProperty() {
-        super();
-    }
-
-    public HoleOutsideErrorProperty(HoleOutsideError gepholeoutside) {
-        super(gepholeoutside);
-    }
-
-    @Override
-    public Class<HoleOutsideError> getTargetType() {
-        return HoleOutsideError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java
deleted file mode 100644
index 9957c83acad2b733782af204231f7e630f128151..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.InnerRingsNestedError;
-
-public class InnerRingsNestedErrorProperty extends AbstractInlineProperty<InnerRingsNestedError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 3036689276151551958L;
-
-    public InnerRingsNestedErrorProperty() {
-        super();
-    }
-
-    public InnerRingsNestedErrorProperty(InnerRingsNestedError irne) {
-        super(irne);
-    }
-
-    @Override
-    public Class<InnerRingsNestedError> getTargetType() {
-        return InnerRingsNestedError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java
deleted file mode 100644
index f50d443dce49cdd4c958bc87930088479575bc89..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.InteriorDisconnectedError;
-
-public class InteriorDisconnectedErrorProperty extends AbstractInlineProperty<InteriorDisconnectedError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 84761615612278576L;
-
-    public InteriorDisconnectedErrorProperty() {
-        super();
-    }
-
-    public InteriorDisconnectedErrorProperty(InteriorDisconnectedError ide) {
-        super(ide);
-    }
-
-    @Override
-    public Class<InteriorDisconnectedError> getTargetType() {
-        return InteriorDisconnectedError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java
deleted file mode 100644
index bc97fa0a5b4d25c9eea95997c3e8d107d4a6d8cb..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.IntersectingRingsError;
-
-public class IntersectingRingsErrorProperty extends AbstractInlineProperty<IntersectingRingsError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 1608106125509503698L;
-
-    public IntersectingRingsErrorProperty() {
-        super();
-    }
-
-    public IntersectingRingsErrorProperty(IntersectingRingsError ire) {
-        super(ire);
-    }
-
-    @Override
-    public Class<IntersectingRingsError> getTargetType() {
-        return IntersectingRingsError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java
deleted file mode 100644
index 32e18207b8f4528420060d58bd721791bf6b31ef..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.MultipleComponentsError;
-
-public class MultipleComponentsErrorProperty extends AbstractInlineProperty<MultipleComponentsError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 5294284044767336204L;
-
-    public MultipleComponentsErrorProperty() {
-        super();
-    }
-
-    public MultipleComponentsErrorProperty(MultipleComponentsError mce) {
-        super(mce);
-    }
-
-    @Override
-    public Class<MultipleComponentsError> getTargetType() {
-        return MultipleComponentsError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java
deleted file mode 100644
index c033d344c4e587ef007e4395f1649f5119c1906b..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.NonManifoldEdgeError;
-
-public class NonManifoldEdgeErrorProperty extends AbstractInlineProperty<NonManifoldEdgeError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 8331219256576062664L;
-
-    public NonManifoldEdgeErrorProperty() {
-        super();
-    }
-
-    public NonManifoldEdgeErrorProperty(NonManifoldEdgeError nmee) {
-        super(nmee);
-    }
-
-    @Override
-    public Class<NonManifoldEdgeError> getTargetType() {
-        return NonManifoldEdgeError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java
deleted file mode 100644
index e65044478e5f924ad31d119285e42d23b9999b00..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.NonManifoldVertexError;
-
-public class NonManifoldVertexErrorProperty extends AbstractInlineProperty<NonManifoldVertexError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 3582401333822811835L;
-
-    public NonManifoldVertexErrorProperty() {
-        super();
-    }
-
-    public NonManifoldVertexErrorProperty(NonManifoldVertexError nmve) {
-        super(nmve);
-    }
-
-    @Override
-    public Class<NonManifoldVertexError> getTargetType() {
-        return NonManifoldVertexError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java
deleted file mode 100644
index 1a424b0d7f22e901003befbb31deee2b8601aecd..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.OrientationRingsSameError;
-
-public class OrientationRingsSameErrorProperty extends AbstractInlineProperty<OrientationRingsSameError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 7924476601392934115L;
-
-    public OrientationRingsSameErrorProperty() {
-        super();
-    }
-
-    public OrientationRingsSameErrorProperty(OrientationRingsSameError orse) {
-        super(orse);
-    }
-
-    @Override
-    public Class<OrientationRingsSameError> getTargetType() {
-        return OrientationRingsSameError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java
deleted file mode 100644
index e1932b80992b8907ef3b59c0e9f8d52638b1b820..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.PlanarDistancePlaneError;
-
-public class PlanarDistancePlaneErrorProperty extends AbstractInlineProperty<PlanarDistancePlaneError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 805859214704441973L;
-
-    public PlanarDistancePlaneErrorProperty() {
-        super();
-    }
-
-    public PlanarDistancePlaneErrorProperty(PlanarDistancePlaneError pdpe) {
-        super(pdpe);
-    }
-
-    @Override
-    public Class<PlanarDistancePlaneError> getTargetType() {
-        return PlanarDistancePlaneError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java
deleted file mode 100644
index bb2483366d72930385381421ccea168e7e47cf16..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.PlanarNormalsDeviationError;
-
-public class PlanarNormalsDeviationErrorProperty extends AbstractInlineProperty<PlanarNormalsDeviationError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 2464000011383104477L;
-
-    public PlanarNormalsDeviationErrorProperty() {
-        super();
-    }
-
-    public PlanarNormalsDeviationErrorProperty(PlanarNormalsDeviationError pnde) {
-        super(pnde);
-    }
-
-    @Override
-    public Class<PlanarNormalsDeviationError> getTargetType() {
-        return PlanarNormalsDeviationError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java
deleted file mode 100644
index b915a46aed40b9793d094ccabd0acd26c249737a..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.PolygonWrongOrientationError;
-
-public class PolygonWrongOrientationErrorProperty extends AbstractInlineProperty<PolygonWrongOrientationError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 1919616461719834613L;
-
-    public PolygonWrongOrientationErrorProperty() {
-        super();
-    }
-
-    public PolygonWrongOrientationErrorProperty(PolygonWrongOrientationError pwoe) {
-        super(pwoe);
-    }
-
-    @Override
-    public Class<PolygonWrongOrientationError> getTargetType() {
-        return PolygonWrongOrientationError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java
deleted file mode 100644
index e12a96a73d7575d1bda4c2a6be596fcad067a63b..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.RingNotClosedError;
-
-public class RingNotClosedErrorProperty extends AbstractInlineProperty<RingNotClosedError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 4846831546489598508L;
-
-    public RingNotClosedErrorProperty() {
-        super();
-    }
-
-    public RingNotClosedErrorProperty(RingNotClosedError rnce) {
-        super(rnce);
-    }
-
-    @Override
-    public Class<RingNotClosedError> getTargetType() {
-        return RingNotClosedError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java
deleted file mode 100644
index 20eacca81bab1918d48e199719737250e5fe8923..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.RingSelfIntersectionError;
-
-public class RingSelfIntersectionErrorProperty extends AbstractInlineProperty<RingSelfIntersectionError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 3588871792641629601L;
-
-    public RingSelfIntersectionErrorProperty() {
-        super();
-    }
-
-    public RingSelfIntersectionErrorProperty(RingSelfIntersectionError rsie) {
-        super(rsie);
-    }
-
-    @Override
-    public Class<RingSelfIntersectionError> getTargetType() {
-        return RingSelfIntersectionError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java
deleted file mode 100644
index b42eb980374cba3d08c7bf22b22a736befe665cc..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.RingTooFewPointsError;
-
-public class RingTooFewPointsErrorProperty extends AbstractInlineProperty<RingTooFewPointsError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 3447025584248177548L;
-
-    public RingTooFewPointsErrorProperty() {
-        super();
-    }
-
-    public RingTooFewPointsErrorProperty(RingTooFewPointsError rtfpep) {
-        super(rtfpep);
-    }
-
-    @Override
-    public Class<RingTooFewPointsError> getTargetType() {
-        return RingTooFewPointsError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java
deleted file mode 100644
index 6d917b5d81e1917d72cffdf6b26f7dd9de84c082..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.SemanticAttributeMissingError;
-
-public class SemanticAttributeMissingErrorProperty extends AbstractInlineProperty<SemanticAttributeMissingError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 5697199293825250908L;
-
-    public SemanticAttributeMissingErrorProperty() {
-        super();
-    }
-
-    public SemanticAttributeMissingErrorProperty(SemanticAttributeMissingError same) {
-        super(same);
-    }
-
-    @Override
-    public Class<SemanticAttributeMissingError> getTargetType() {
-        return SemanticAttributeMissingError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java
deleted file mode 100644
index 9a567d1d7b49a42078043fd1efe55b6727636168..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.SemanticAttributeWrongValueError;
-
-public class SemanticAttributeWrongValueErrorProperty extends AbstractInlineProperty<SemanticAttributeWrongValueError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 7617151896616913019L;
-
-    public SemanticAttributeWrongValueErrorProperty() {
-        super();
-    }
-
-    public SemanticAttributeWrongValueErrorProperty(SemanticAttributeWrongValueError sawve) {
-        super(sawve);
-    }
-
-    @Override
-    public Class<SemanticAttributeWrongValueError> getTargetType() {
-        return SemanticAttributeWrongValueError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java
deleted file mode 100644
index 23a72dee06738f1f388c593089e1545dd55011d6..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.SolidNotClosedError;
-
-public class SolidNotClosedErrorProperty extends AbstractInlineProperty<SolidNotClosedError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 1268531869052860508L;
-
-    public SolidNotClosedErrorProperty() {
-        super();
-    }
-
-    public SolidNotClosedErrorProperty(SolidNotClosedError snce) {
-        super(snce);
-    }
-
-    @Override
-    public Class<SolidNotClosedError> getTargetType() {
-        return SolidNotClosedError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java
deleted file mode 100644
index 5199803e3ab2bce334fb859b91a65e7f5f730cc5..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.SolidSelfIntersectionError;
-
-public class SolidSelfIntersectionErrorProperty extends AbstractInlineProperty<SolidSelfIntersectionError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 6578584720594833303L;
-
-    public SolidSelfIntersectionErrorProperty() {
-        super();
-    }
-
-    public SolidSelfIntersectionErrorProperty(SolidSelfIntersectionError ssie) {
-        super(ssie);
-    }
-
-    @Override
-    public Class<SolidSelfIntersectionError> getTargetType() {
-        return SolidSelfIntersectionError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java
deleted file mode 100644
index 56f7e1f04c5f7f854f6c4a43bb1c29191b15ac20..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.properties;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
-
-import de.hft.stuttgart.quality.model.types.SolidTooFewPolygonsError;
-
-public class SolidTooFewPolygonsErrorProperty extends AbstractInlineProperty<SolidTooFewPolygonsError> implements ADEObject {
-
-    @Serial
-    private static final long serialVersionUID = 998050793852068510L;
-
-    public SolidTooFewPolygonsErrorProperty() {
-        super();
-    }
-
-    public SolidTooFewPolygonsErrorProperty(SolidTooFewPolygonsError stfpe) {
-        super(stfpe);
-    }
-
-    @Override
-    public Class<SolidTooFewPolygonsError> getTargetType() {
-        return SolidTooFewPolygonsError.class;
-    }
-
-}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java
index afe41270bb67b78bc4973beaa582c0a8807d763c..b2bcb6eff2c695be3344370d6ccaa263d335a82b 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java
@@ -15,14 +15,13 @@
  */
 package de.hft.stuttgart.quality.model.properties;
 
-import java.io.Serial;
-
+import de.hft.stuttgart.quality.model.types.Validation;
 import org.citygml4j.core.model.ade.ADEObject;
-import org.xmlobjects.gml.model.base.AbstractInlineProperty;
+import org.xmlobjects.gml.model.base.AbstractInlineOrByReferenceProperty;
 
-import de.hft.stuttgart.quality.model.types.Validation;
+import java.io.Serial;
 
-public class ValidationProperty extends AbstractInlineProperty<Validation> implements ADEObject {
+public class ValidationProperty extends AbstractInlineOrByReferenceProperty<Validation> implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 3423466580266018906L;
@@ -31,8 +30,12 @@ public class ValidationProperty extends AbstractInlineProperty<Validation> imple
         super();
     }
 
-    public ValidationProperty(Validation v) {
-        super(v);
+    public ValidationProperty(Validation object) {
+        super(object);
+    }
+
+    public ValidationProperty(String href) {
+        super(href);
     }
 
     @Override
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java
index 520b6a9eef086acdbd7ebab44388dde71946ba1b..8d06b533ade8849679d8eee457a90d183401c509 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java
@@ -17,9 +17,10 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
-public abstract class AbstractError extends GMLObject {
+public abstract class AbstractError extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 4456303926951620441L;
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Checking.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Checking.java
index 86191f017b3d1a7d64dd2569a951217b47dd6f5b..60b178df240d55c1e46605ff5c00c7577a7b7b55 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Checking.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Checking.java
@@ -17,11 +17,12 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
 import de.hft.stuttgart.quality.model.enums.TopLevelFeatureType;
 
-public class Checking extends GMLObject {
+public class Checking extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 8248598807454312291L;
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/CityObjectProperties.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/CityObjectProperties.java
new file mode 100644
index 0000000000000000000000000000000000000000..e9c058d9dbbc824fe4a242535ada380fcf24bf5a
--- /dev/null
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/CityObjectProperties.java
@@ -0,0 +1,21 @@
+package de.hft.stuttgart.quality.model.types;
+
+import java.io.Serial;
+
+import org.citygml4j.core.model.core.ADEOfAbstractCityObject;
+
+public class CityObjectProperties extends ADEOfAbstractCityObject {
+
+    @Serial
+    private static final long serialVersionUID = 1273072314736964714L;
+
+    private ValidationResult validationResult;
+
+    public ValidationResult getValidationResult() {
+        return validationResult;
+    }
+
+    public void setValidationResult(ValidationResult validationResult) {
+        this.validationResult = asChild(validationResult);
+    }
+}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java
index 6a4ab4978491ee17dc58da623c97ece5b154bc51..6ad6181e35f3cfb601509eef36647f9236563783 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java
@@ -16,14 +16,15 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty;
 
-public class ComponentList extends GMLObject {
+public class ComponentList extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 7846916128728837265L;
@@ -32,13 +33,13 @@ public class ComponentList extends GMLObject {
 
 	public List<PolygonIdListProperty> getComponents() {
 		if (components == null) {
-			components = new ArrayList<>();
+			components = new ChildList<>(this);
 		}
 		return components;
 	}
 
 	public void setComponents(List<PolygonIdListProperty> components) {
-		this.components = components;
+		this.components = asChild(components);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java
index 5621f9ac4a5620fa06feff7eacc7b9068e33fe2a..a45e30910722e93d0b77488b151a9cc2e2c217fc 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java
@@ -32,7 +32,7 @@ public class ConsecutivePointsSameError extends AbstractRingError {
 	}
 
 	public void setVertex1(DirectPosition vertex1) {
-		this.vertex1 = vertex1;
+		this.vertex1 = asChild(vertex1);
 	}
 
 	public DirectPosition getVertex2() {
@@ -40,7 +40,7 @@ public class ConsecutivePointsSameError extends AbstractRingError {
 	}
 
 	public void setVertex2(DirectPosition vertex2) {
-		this.vertex2 = vertex2;
+		this.vertex2 = asChild(vertex2);
 	}
 
 	@Override
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java
index 7eec0e2b5d928f0529d4e0c96d5f2ab418bdb67d..8e9519f5dafb950d8d72570808c811b23d3e0540 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java
@@ -17,10 +17,11 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 import org.xmlobjects.gml.model.geometry.DirectPosition;
 
-public class Edge extends GMLObject {
+public class Edge extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 8021062845313752146L;
@@ -33,7 +34,7 @@ public class Edge extends GMLObject {
 	}
 
 	public void setFrom(DirectPosition from) {
-		this.from = from;
+		this.from = asChild(from);
 	}
 
 	public DirectPosition getTo() {
@@ -41,7 +42,7 @@ public class Edge extends GMLObject {
 	}
 
 	public void setTo(DirectPosition to) {
-		this.to = to;
+		this.to = asChild(to);
 	}
 
 	@Override
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java
index 1e953f778b15be6e76ec9291210bb3eeace4343b..a67004a1385c3d2ed51fc42ac36a93d69a991855 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java
@@ -16,14 +16,15 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.EdgeProperty;
 
-public class EdgeList extends GMLObject {
+public class EdgeList extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 5900643456940461301L;
@@ -32,13 +33,13 @@ public class EdgeList extends GMLObject {
 
 	public List<EdgeProperty> getEdges() {
 		if (edges == null) {
-			edges = new ArrayList<>();
+			edges = new ChildList<>(this);
 		}
 		return edges;
 	}
 
 	public void setEdges(List<EdgeProperty> edges) {
-		this.edges = edges;
+		this.edges = asChild(edges);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java
index 2fa3e1d79b165748608aa301cf6ffe697b471fe5..7c5dde27203b8740c0bb26e0e144ac470241d334 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java
@@ -17,24 +17,25 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
 import de.hft.stuttgart.quality.model.enums.ErrorId;
 
-public class Error extends GMLObject {
+public class Error extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 2447962257841143458L;
 
-	private int occurences;
+	private int occurrences;
 	private ErrorId name;
 
-	public int getOccurences() {
-		return occurences;
+	public int getOccurrences() {
+		return occurrences;
 	}
 
-	public void setOccurences(int occurences) {
-		this.occurences = occurences;
+	public void setOccurrences(int occurrences) {
+		this.occurrences = occurrences;
 	}
 
 	public ErrorId getName() {
@@ -47,7 +48,7 @@ public class Error extends GMLObject {
 
 	@Override
 	public String toString() {
-		return "Error [occurences=" + occurences + ", name=" + name + "]";
+		return "Error [occurences=" + occurrences + ", name=" + name + "]";
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/FeatureStatistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/FeatureStatistics.java
index ba3d5e19ea01c277062cb14de01a33913aab63e2..125a10cdc993742ff4ced75438b660c9fa17c2ee 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/FeatureStatistics.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/FeatureStatistics.java
@@ -17,9 +17,10 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
-public class FeatureStatistics extends GMLObject {
+public class FeatureStatistics extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 5835765260535725839L;
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java
index 145d66a3f911cb85a62055faf800f8a151cc12d8..d0b82494ca0ffd74f76863a0a254ce58d7ab4af7 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java
@@ -16,14 +16,15 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.CheckingProperty;
 
-public class Filter extends GMLObject {
+public class Filter extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 2766323821940477659L;
@@ -32,13 +33,13 @@ public class Filter extends GMLObject {
 
 	public List<CheckingProperty> getChecking() {
 		if (checking == null) {
-			checking = new ArrayList<>();
+			checking = new ChildList<>(this);
 		}
 		return checking;
 	}
 
 	public void setChecking(List<CheckingProperty> checking) {
-		this.checking = checking;
+		this.checking = asChild(checking);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java
index 2823851310ddfac7962dd297f7220c8b36dcb141..8b53d77e3b502d9b4ef4a4cd1defb74d98ec6501 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java
@@ -16,14 +16,15 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.ParameterProperty;
 
-public class GlobalParameters extends GMLObject {
+public class GlobalParameters extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 5470016232480954926L;
@@ -32,13 +33,13 @@ public class GlobalParameters extends GMLObject {
 
 	public List<ParameterProperty> getParameters() {
 		if (parameters == null) {
-			parameters = new ArrayList<>();
+			parameters = new ChildList<>(this);
 		}
 		return parameters;
 	}
 
 	public void setParameters(List<ParameterProperty> parameters) {
-		this.parameters = parameters;
+		this.parameters = asChild(parameters);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java
index a05fcd11387e45a533154f3eb4577c824f2eb27a..02eb8530443bbfd2153467eaea4c28d2e8f5e2cb 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java
@@ -16,9 +16,10 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.xmlobjects.model.ChildList;
+
 import de.hft.stuttgart.quality.model.properties.ComponentListProperty;
 
 public class MultipleComponentsError extends AbstractSolidError {
@@ -30,13 +31,13 @@ public class MultipleComponentsError extends AbstractSolidError {
 
 	public List<ComponentListProperty> getEdges() {
 		if (edges == null) {
-			edges = new ArrayList<>();
+			edges = new ChildList<>(this);
 		}
 		return edges;
 	}
 
 	public void setEdges(List<ComponentListProperty> edges) {
-		this.edges = edges;
+		this.edges = asChild(edges);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java
index f38e00805c13d46f97892ea4866bbb10a01a2808..b38562cacc6dee99ed5a61e7d704a2899e265c05 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java
@@ -31,7 +31,7 @@ public class NonManifoldEdgeError extends AbstractSolidError {
 	}
 
 	public void setEdges(EdgeListProperty edges) {
-		this.edges = edges;
+		this.edges = asChild(edges);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java
index 1ca24852d64aec6958325528b184863f396d06f4..36a758c30896d24b95b4a63b21b9ac09db605576 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java
@@ -31,7 +31,7 @@ public class NonManifoldVertexError extends AbstractSolidError {
 	}
 
 	public void setVertex(DirectPosition vertex) {
-		this.vertex = vertex;
+		this.vertex = asChild(vertex);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Parameter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Parameter.java
index 7276d75d31f47ac43bfb233731d69dab40f14e1b..16e0a2f0a34afab695dc7feb61772420d3e11172 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Parameter.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Parameter.java
@@ -17,9 +17,10 @@ package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
-public class Parameter extends GMLObject {
+public class Parameter extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 3493525795867922745L;
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java
index 3a02bead4d233780c3221b5dd7cbeb21ccb0fd32..ae0b3bb3e87c22e08ffddfeb2bfd909fe860ec60 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java
@@ -33,7 +33,7 @@ public class PlanarDistancePlaneError extends AbstractPolygonError {
 	}
 
 	public void setVertex(DirectPosition vertex) {
-		this.vertex = vertex;
+		this.vertex = asChild(vertex);
 	}
 
 	public Length getDistance() {
@@ -41,7 +41,7 @@ public class PlanarDistancePlaneError extends AbstractPolygonError {
 	}
 
 	public void setDistance(Length distance) {
-		this.distance = distance;
+		this.distance = asChild(distance);
 	}
 
 	@Override
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java
index 04f3f605d76442767541452fc7863bc9dbdd3983..7f19339577bf0241d0744a06d7292a0ccc3f8459 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java
@@ -31,7 +31,7 @@ public class PlanarNormalsDeviationError extends AbstractPolygonError {
 	}
 
 	public void setDeviation(Angle deviation) {
-		this.deviation = deviation;
+		this.deviation = asChild(deviation);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonIdList.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonIdList.java
index 5b541e2805044d29983658161d29eed7191148ee..58f00bbeb2ee7e4754530afcad911d51739b83aa 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonIdList.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonIdList.java
@@ -19,9 +19,10 @@ import java.io.Serial;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 
-public class PolygonIdList extends GMLObject {
+public class PolygonIdList extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 4396447239956257299L;
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java
index a7ec84a3d1ec507bd65496dcd70625e912e4b4d2..4dad3b55c0212303ceb94b8b69ce71c87693a1f0 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java
@@ -16,15 +16,16 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.enums.RequirementId;
 import de.hft.stuttgart.quality.model.properties.ParameterProperty;
 
-public class Requirement extends GMLObject {
+public class Requirement extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 4428291416242684642L;
@@ -51,13 +52,13 @@ public class Requirement extends GMLObject {
 
 	public List<ParameterProperty> getParameters() {
 		if (parameters == null) {
-			parameters = new ArrayList<>();
+			parameters = new ChildList<>(this);
 		}
 		return parameters;
 	}
 
 	public void setParameters(List<ParameterProperty> parameters) {
-		this.parameters = parameters;
+		this.parameters = asChild(parameters);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java
index 1444bc452f743b8b1c97439cc6447b80011c6bfa..240d47ff8b6feabfc18d5052a3753fd6bb75246a 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java
@@ -46,7 +46,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
 	}
 
 	public void setEdge1(EdgeProperty edge1) {
-		this.edge1 = edge1;
+		this.edge1 = asChild(edge1);
 	}
 
 	public EdgeProperty getEdge2() {
@@ -54,7 +54,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
 	}
 
 	public void setEdge2(EdgeProperty edge2) {
-		this.edge2 = edge2;
+		this.edge2 = asChild(edge2);
 	}
 
 	public DirectPosition getVertex1() {
@@ -62,7 +62,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
 	}
 
 	public void setVertex1(DirectPosition vertex1) {
-		this.vertex1 = vertex1;
+		this.vertex1 = asChild(vertex1);
 	}
 
 	public DirectPosition getVertex2() {
@@ -70,7 +70,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
 	}
 
 	public void setVertex2(DirectPosition vertex2) {
-		this.vertex2 = vertex2;
+		this.vertex2 = asChild(vertex2);
 	}
 
 	@Override
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java
index c53192a44030db063b6690c56fbfc05daf7893e2..2e6e6e997cfdddbd8c4ce2d11b75e358e6f27a96 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java
@@ -31,7 +31,7 @@ public class SolidNotClosedError extends AbstractSolidError {
 	}
 
 	public void setEdges(EdgeListProperty edges) {
-		this.edges = edges;
+		this.edges = asChild(edges);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java
index 32f6c2af77d3488b6abe96c1cca238ad6002dcf9..9034217046c51e589b8144e6449537cfb5d42722 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java
@@ -16,15 +16,16 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.ErrorProperty;
 import de.hft.stuttgart.quality.model.properties.FeatureStatisticsProperty;
 
-public class Statistics extends GMLObject {
+public class Statistics extends GMLObject implements ADEObject {
 
     @Serial
     private static final long serialVersionUID = 2935590283116950203L;
@@ -42,7 +43,7 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorBuildings(FeatureStatisticsProperty numErrorBuildings) {
-		this.numErrorBuildings = numErrorBuildings;
+		this.numErrorBuildings = asChild(numErrorBuildings);
 	}
 
 	public FeatureStatisticsProperty getNumErrorVegetation() {
@@ -50,7 +51,7 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorVegetation(FeatureStatisticsProperty numErrorVegetation) {
-		this.numErrorVegetation = numErrorVegetation;
+		this.numErrorVegetation = asChild(numErrorVegetation);
 	}
 
 	public FeatureStatisticsProperty getNumErrorLandObjects() {
@@ -58,7 +59,7 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorLandObjects(FeatureStatisticsProperty numErrorLandObjects) {
-		this.numErrorLandObjects = numErrorLandObjects;
+		this.numErrorLandObjects = asChild(numErrorLandObjects);
 	}
 
 	public FeatureStatisticsProperty getNumErrorBridgeObjects() {
@@ -66,7 +67,7 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorBridgeObjects(FeatureStatisticsProperty numErrorBridgeObjects) {
-		this.numErrorBridgeObjects = numErrorBridgeObjects;
+		this.numErrorBridgeObjects = asChild(numErrorBridgeObjects);
 	}
 
 	public FeatureStatisticsProperty getNumErrorWaterObjects() {
@@ -74,7 +75,7 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorWaterObjects(FeatureStatisticsProperty numErrorWaterObjects) {
-		this.numErrorWaterObjects = numErrorWaterObjects;
+		this.numErrorWaterObjects = asChild(numErrorWaterObjects);
 	}
 
 	public FeatureStatisticsProperty getNumErrorTransportation() {
@@ -82,18 +83,18 @@ public class Statistics extends GMLObject {
 	}
 
 	public void setNumErrorTransportation(FeatureStatisticsProperty numErrorTransportation) {
-		this.numErrorTransportation = numErrorTransportation;
+		this.numErrorTransportation = asChild(numErrorTransportation);
 	}
 
 	public List<ErrorProperty> getErrors() {
 		if (errors == null) {
-			errors = new ArrayList<>();
+			errors = new ChildList<>(this);
 		}
 		return errors;
 	}
 
 	public void setErrors(List<ErrorProperty> errors) {
-		this.errors = errors;
+		this.errors = asChild(errors);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java
index 4596926a8640a33c3c2b36a95bd7d1361ed7ebc7..a880fce18fb51611544091f7090e418b5ac231ac 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java
@@ -55,7 +55,7 @@ public class Validation extends AbstractFeature implements ADEObject {
 	}
 
 	public void setStatistics(StatisticsProperty statistics) {
-		this.statistics = statistics;
+		this.statistics = asChild(statistics);
 	}
 
 	public ValidationPlanProperty getValidationPlan() {
@@ -63,7 +63,7 @@ public class Validation extends AbstractFeature implements ADEObject {
 	}
 
 	public void setValidationPlan(ValidationPlanProperty validationPlan) {
-		this.validationPlan = validationPlan;
+		this.validationPlan = asChild(validationPlan);
 	}
 
 }
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java
index 135520ff8e3125f0e813a7f8695b26bf1cd1c0ba..32af5a4811431b655f84c5691da8a3eff6685373 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java
@@ -16,16 +16,17 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.properties.FilterProperty;
 import de.hft.stuttgart.quality.model.properties.GlobalParametersProperty;
 import de.hft.stuttgart.quality.model.properties.RequirementProperty;
 
-public class ValidationPlan extends GMLObject {
+public class ValidationPlan extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 434443226848485642L;
@@ -39,7 +40,7 @@ public class ValidationPlan extends GMLObject {
 	}
 
 	public void setGlobalParameters(GlobalParametersProperty globalParameters) {
-		this.globalParameters = globalParameters;
+		this.globalParameters = asChild(globalParameters);
 	}
 
 	public FilterProperty getFilter() {
@@ -47,18 +48,18 @@ public class ValidationPlan extends GMLObject {
 	}
 
 	public void setFilter(FilterProperty filter) {
-		this.filter = filter;
+		this.filter = asChild(filter);
 	}
 
 	public List<RequirementProperty> getRequirement() {
 		if (requirement == null) {
-			requirement = new ArrayList<>();
+			requirement = new ChildList<>(this);
 		}
 		return requirement;
 	}
 
 	public void setRequirement(List<RequirementProperty> requirement) {
-		this.requirement = requirement;
+		this.requirement = asChild(requirement);
 	}
 
 
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java
index 64feb7b197a746b2da037ec44847d86051baddc9..308ddb21a3d4574cdc84c3c090d69ecca98c5d11 100644
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java
+++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java
@@ -16,16 +16,17 @@
 package de.hft.stuttgart.quality.model.types;
 
 import java.io.Serial;
-import java.util.ArrayList;
 import java.util.List;
 
+import org.citygml4j.core.model.ade.ADEObject;
 import org.xmlobjects.gml.model.GMLObject;
 import org.xmlobjects.gml.model.base.Reference;
+import org.xmlobjects.model.ChildList;
 
 import de.hft.stuttgart.quality.model.enums.ResultType;
 import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty;
 
-public class ValidationResult extends GMLObject {
+public class ValidationResult extends GMLObject implements ADEObject {
 
 	@Serial
 	private static final long serialVersionUID = 4867627296196445082L;
@@ -39,12 +40,12 @@ public class ValidationResult extends GMLObject {
 	}
 
 	public void setValidationPlanID(Reference validationPlanID) {
-		this.validationPlanID = validationPlanID;
+		this.validationPlanID = asChild(validationPlanID);
 	}
 
 	public List<AbstractErrorProperty> getErrors() {
 		if (errors == null) {
-			errors = new ArrayList<>();
+			errors = new ChildList<>(this);
 		}
 		return errors;
 	}
diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResultProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResultProperty.java
deleted file mode 100644
index a986363de1f3906094614840513583bbde6a7d57..0000000000000000000000000000000000000000
--- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResultProperty.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * Copyright 2022 Hochschule für Technik Stuttgart
- *
- * Licensed 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 de.hft.stuttgart.quality.model.types;
-
-import java.io.Serial;
-
-import org.citygml4j.core.model.core.ADEOfAbstractCityObject;
-
-public class ValidationResultProperty extends ADEOfAbstractCityObject {
-
-	@Serial
-	private static final long serialVersionUID = 765825311371672821L;
-
-	private ValidationResult result;
-
-	public ValidationResult getResult() {
-		return result;
-	}
-
-	public void setResult(ValidationResult result) {
-		this.result = result;
-	}
-
-}