void (@NotNull AnActionEvent e) { final Project project = Objects.requireNonNull(getEventProject(e)); DataContext dataContext = e.getDataContext(); final List<ShelvedChangeList> changeLists = ShelvedChangesViewManager.getShelvedLists(dataContext); if (changeLists.isEmpty()) return; FileDocumentManager.getInstance().saveAllDocuments(); if (changeLists.size() > 1) { unshelveMultipleShelveChangeLists(project, changeLists, getBinaryShelveChanges(dataContext), getShelveChanges(dataContext)); } else { ShelvedChangeList changeList = changeLists.get(0); VirtualFile virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByNioFile(changeList.path); if (virtualFile == null) { VcsBalloonProblemNotifier.showOverChangesView(project, VcsBundle.message("patch.apply.can.t.find.patch.file.warning", changeList.path), MessageType.ERROR); return; } List<ShelvedBinaryFilePatch> binaryShelvedPatches = ContainerUtil.map(changeList.getBinaryFiles(), ShelvedBinaryFilePatch::new); ApplyPatchDifferentiatedDialog dialog = new MyUnshelveDialog(project, virtualFile, changeList, binaryShelvedPatches, e.getData(VcsDataKeys.CHANGES)); dialog.setHelpId("reference.dialogs.vcs.unshelve"); //NON-NLS dialog.show(); } }