@NotNull
  private static GeneralCommandLine createMergeCommandLine(@NotNull ExternalDiffSettings.ExternalTool externalTool,
                                                           @NotNull OutputFile outputFile,
                                                           @NotNull List<? extends InputFile> inputFiles) {
    assert inputFiles.size() == 3;

    Map<String, String> patterns = new HashMap<>();
    patterns.put("%1", inputFiles.get(0).getPath());
    patterns.put("%2", inputFiles.get(2).getPath());
    patterns.put("%3", inputFiles.get(1).getPath());
    patterns.put("%4", outputFile.getPath());

    return createCommandLine(externalTool.getProgramPath(), externalTool.getArgumentPattern(), patterns);
  }
@NotNull
  private static GeneralCommandLine createMergeCommandLine(@NotNull ExternalDiffSettings.ExternalTool externalTool,
                                                           @NotNull OutputFile outputFile,
                                                           @NotNull List<? extends InputFile> inputFiles)