void (LinearBekGraph graph) { for (int upNodeIndex : myTailEdges.keys()) { for (int downNodeIndex : myTailEdges.get(upNodeIndex)) { removeEdge(graph, upNodeIndex, downNodeIndex); } } IntIterator it = myTails.iterator(); while (it.hasNext()) { int tail = it.nextInt(); if (!LinearGraphUtils.getDownNodes(graph, tail).contains(myLeftChild)) { addEdge(graph, tail, myLeftChild); } else { replaceEdge(graph, tail, myLeftChild); } } removeEdge(graph, myParent, myLeftChild); }