model.setName(this.getName() + "_clone");
model.setDescription(this.getDescription());
// clone all subparts
for (NodeModel part : this.getChildrenArray()) {
GeometryModel copy = ((GeometryModel) part).clone();
model.addChild(copy);
// this is option to override the parent to be the original one from the copy
// otherwise the parent is set to be the "model"
// this is used when cloning subshape and lines keep parents their maximal lines
if (forceParent) {
copy.setParent(part.getParent());
}
}
// clone initial transform
if (this.initialTransform != null) {