@Override
    public List<FilePatch> buildPatches(@NotNull Path baseDir,
                                        @NotNull Collection<? extends Change> changes,
                                        boolean reversePatch,
                                        boolean honorExcludedFromCommit) throws VcsException {
      List<FilePatch> result = new ArrayList<>(createFilePatchesFromShelf(myProject, baseDir, myShelvedChangeList, mySelectedPaths));

      List<ShelvedBinaryFile> binaries;
      if (ContainerUtil.isEmpty(mySelectedPaths)) {
        binaries = myShelvedChangeList.getBinaryFiles();
      }
      else {
        binaries = ContainerUtil.filter(myShelvedChangeList.getBinaryFiles(), binary -> {
          return mySelectedPaths.contains(ObjectUtils.chooseNotNull(binary.AFTER_PATH, binary.BEFORE_PATH));
        });
      }
      result.addAll(IdeaTextPatchBuilder.buildPatch(myProject, ContainerUtil.map(binaries, b -> b.createChange(myProject)), baseDir,
                                                    reversePatch, false));
      return result;
    }
@Override
    public List<FilePatch> buildPatches(@NotNull Path baseDir,
                                        @NotNull Collection<? extends Change> changes,
                                        boolean reversePatch,
                                        boolean honorExcludedFromCommit)