void (@NotNull final AnActionEvent e) { final List<UnifiedDiffChange> selectedChanges = getSelectedChanges(); if (selectedChanges.isEmpty()) return; if (!isEditable(myModifiedSide, true)) return; if (isStateIsOutOfDate()) return; String title = DiffBundle.message("message.use.selected.changes.command", e.getPresentation().getText()); DiffUtil.executeWriteCommand(getDocument(myModifiedSide), e.getProject(), title, () -> { // state is invalidated during apply(), but changes are in reverse order, so they should not conflict with each other apply(ContainerUtil.reverse(selectedChanges)); scheduleRediff(); }); }