The problem was the method "org.eclipse.gef4.zest.layouts.algorithms.TreeLayoutObserver.TreeNode.isAncestorOf(TreeNode descendant)". I fixed it for me and I will report a bug (for bug id show in the comments). If someone needs a quick bug fix:
old version:
public boolean isAncestorOf(TreeNode descendant) {
while (descendant.depth > this.depth) {
descendant = descendant.parent;
}
return descendant == this;
}
new version:
public boolean isAncestorOf(TreeNode descendant) {
while (descendant.depth > this.depth) {
if (descendant == descendant.parent) {
return false;
} else {
descendant = descendant.parent;
}
}
return descendant == this;
}