private static void showBinaryDiff(Project project, Change change) {
   try {
     final SimpleDiffRequest request = createBinaryDiffRequest(project, change);
     if (DiffManager.getInstance().getDiffTool().canShow(request)) {
       DiffManager.getInstance().getDiffTool().show(request);
     }
   } catch (VcsException e) {
     Messages.showWarningDialog(e.getMessage(), "Show Diff");
   }
 }
  public static void showDiffImpl(
      final Project project,
      @NotNull List<DiffRequestPresentable> changeList,
      int index,
      @NotNull final ShowDiffUIContext context) {
    final ChangeDiffRequest request =
        new ChangeDiffRequest(
            project, changeList, context.getActionsFactory(), context.isShowFrame());
    final DiffTool tool = DiffManager.getInstance().getDiffTool();
    final DiffRequest simpleRequest;
    try {
      request.quickCheckHaveStuff();
      simpleRequest = request.init(index);
    } catch (VcsException e) {
      Messages.showWarningDialog(e.getMessage(), "Show Diff");
      LOG.info(e);
      return;
    }

    if (simpleRequest != null) {
      final DiffNavigationContext navigationContext = context.getDiffNavigationContext();
      if (navigationContext != null) {
        simpleRequest.passForDataContext(DiffTool.SCROLL_TO_LINE, navigationContext);
      }
      tool.show(simpleRequest);
    }
  }