void () { assert myCurrentModification.get() == this; myProgress = APPLYING; if (myClearVisibility) { myDelegateNodesVisibility.setNodeVisibilityById(myMatchedNodeId.clone()); } if (myClearEdges) { myEdgeStorage.removeAll(); } IntIterator toShow = myNodesToShow.iterator(); while (toShow.hasNext()) { myDelegateNodesVisibility.show(toShow.nextInt()); } IntIterator toHide = myNodesToHide.iterator(); while (toHide.hasNext()) { myDelegateNodesVisibility.hide(toHide.nextInt()); } EdgeStorageWrapper edgeStorageWrapper = new EdgeStorageWrapper(myEdgeStorage, getDelegatedGraph()); for (GraphEdge edge : myEdgesToAdd.getEdges()) { edgeStorageWrapper.createEdge(edge); } for (GraphEdge edge : myEdgesToRemove.getEdges()) { edgeStorageWrapper.removeEdge(edge); } if (minAffectedNodeIndex != Integer.MAX_VALUE && maxAffectedNodeIndex != Integer.MIN_VALUE) { myNodesMap.update(minAffectedNodeIndex, maxAffectedNodeIndex); } myProgress = DONE; myCurrentModification.set(null); }