private void shelveChanges(@NotNull Intersection intersection) throws VcsException {
    try {
      getApplication().invokeAndWait(() -> FileDocumentManager.getInstance().saveAllDocuments());

      ShelveChangesManager shelveManager = ShelveChangesManager.getInstance(myMergeContext.getProject());

      String changeListPrefix = message("stash.changes.message", SvnBundle.message("operation.merge"));
      for (Map.Entry<String, List<Change>> entry : intersection.getChangesByLists().entrySet()) {
        String shelfName = ChangeListUtil.createSystemShelvedChangeListName(changeListPrefix, intersection.getComment(entry.getKey()));

        shelveManager.shelveChanges(entry.getValue(), shelfName, true, true);
      }
    }
    catch (IOException e) {
      throw new VcsException(e);
    }
  }
private void shelveChanges(@NotNull Intersection intersection)