void (@Nullable Project project, @NotNull ListSelection<? extends Change> changes, @NotNull ShowDiffContext context) { ListSelection<ChangeDiffRequestProducer> presentables = changes.map(change -> ChangeDiffRequestProducer.create(project, change, context.getChangeContext(change))); if (presentables.isEmpty()) return; DiffRequestChain chain = new ChangeDiffRequestChain(presentables); for (Map.Entry<Key<?>, Object> entry : context.getChainContext().entrySet()) { //noinspection unchecked,rawtypes chain.putUserData((Key)entry.getKey(), entry.getValue()); } chain.putUserData(DiffUserDataKeys.CONTEXT_ACTIONS, context.getActions()); DiffManager.getInstance().showDiff(project, chain, context.getDialogHints()); }