private List<ISimpleNode> insertDummyNodes(IRegularNode node, ISimpleNode child) { List<ISimpleNode> dummyNodes = new ArrayList<>(); node.removeChild(child); child.removeParent(node); int nodeLayer = node.getLayer(); ISimpleNode currentChild = child; while (currentChild.getLayer() - 1 > nodeLayer) { currentChild = createDummyEdge(currentChild); dummyNodes.add(currentChild); } node.addChild(currentChild); currentChild.addParent(node); return dummyNodes; }