void (@Nullable Intersection intersection) { boolean mergeAll = myChangeListsToMerge == null; LocalChangesAction nextAction = !isEmpty(intersection) ? myInteraction.selectLocalChangesAction(mergeAll) : continueMerge; switch (nextAction) { case continueMerge -> myCallback.run(); case shelve -> myMergeProcess.runInBackground(SvnBundle.message("progress.title.shelving.local.changes.before.merge"), indicator -> { shelveChanges(intersection); myCallback.run(); }); case inspect -> { List<FilePath> intersectedPaths = sorted(getPaths(intersection.getAllChanges()), FilePathByPathComparator.getInstance()); myInteraction.showIntersectedLocalPaths(intersectedPaths); } case cancel -> { } } }