void (@NotNull AnActionEvent e) { DiffContent baseContent = ThreeSide.BASE.select(myMergeRequest.getContents()); String baseTitle = ThreeSide.BASE.select(myMergeRequest.getContentTitles()); DiffContent otherContent = mySide.select(myRequest.getContents()); String otherTitle = mySide.select(myRequest.getContentTitles()); SimpleDiffRequest request = new SimpleDiffRequest(myRequest.getTitle(), baseContent, otherContent, baseTitle, otherTitle); ThreeSide currentSide = getCurrentSide(); LogicalPosition currentPosition = DiffUtil.getCaretPosition(getCurrentEditor()); LogicalPosition resultPosition = transferPosition(currentSide, mySide, currentPosition); request.putUserData(DiffUserDataKeys.SCROLL_TO_LINE, Pair.create(Side.RIGHT, resultPosition.line)); DiffManager.getInstance().showDiff(myProject, request, new DiffDialogHints(null, myPanel)); }