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;
 }