void () { if (isDisposed()) return; if (myTextDiffProvider.getIgnorePolicy().equals(myCurrentIgnorePolicy)) return; if (!myInitialRediffFinished) { ApplicationManager.getApplication().invokeLater(() -> restartMergeResolveIfNeeded()); return; } if (myContentModified) { if (Messages.showYesNoDialog(myProject, DiffBundle.message("changing.highlighting.requires.the.file.merge.restart"), DiffBundle.message("update.highlighting.settings"), DiffBundle.message("discard.changes.and.restart.merge"), DiffBundle.message("continue.merge"), Messages.getQuestionIcon()) != Messages.YES) { getTextSettings().setIgnorePolicy(myCurrentIgnorePolicy); return; } } myInitialRediffFinished = false; doRediff(); }