public static void update(
     @NotNull CollapsedGraph collapsedGraph, int upDelegateNodeIndex, int downDelegateNodeIndex) {
   CollapsedGraph.Modification modification = collapsedGraph.startModification();
   new DottedFilterEdgesGenerator(
           collapsedGraph, modification, upDelegateNodeIndex, downDelegateNodeIndex)
       .update();
   modification.apply();
 }
 private DottedFilterEdgesGenerator(
     @NotNull CollapsedGraph collapsedGraph,
     @NotNull CollapsedGraph.Modification modification,
     int upIndex,
     int downIndex) {
   myCollapsedGraph = collapsedGraph;
   myModification = modification;
   myLiteDelegateGraph = LinearGraphUtils.asLiteLinearGraph(collapsedGraph.getDelegatedGraph());
   myUpIndex = upIndex;
   myDownIndex = downIndex;
   myNumbers = new ShiftNumber(upIndex, downIndex);
 }
 private boolean nodeIsVisible(int nodeIndex) {
   return myCollapsedGraph.isNodeVisible(nodeIndex);
 }