Object (@NotNull String id) { if (VcsDataKeys.CHANGES.is(id)) { List<CommitNode> commitNodes = getSelectedCommitNodes(); return collectAllChanges(commitNodes).toArray(Change.EMPTY_CHANGE_ARRAY); } else if (VcsDataKeys.VCS_REVISION_NUMBERS.is(id)) { List<CommitNode> commitNodes = getSelectedCommitNodes(); return ContainerUtil.map2Array(commitNodes, VcsRevisionNumber.class, commitNode -> { Hash hash = commitNode.getUserObject().getId(); return new TextRevisionNumber(hash.asString(), hash.toShortString()); }); } else if (VcsDataKeys.VCS_COMMIT_SUBJECTS.is(id)) { List<CommitNode> commitNodes = getSelectedCommitNodes(); return ContainerUtil.map2Array(commitNodes, String.class, commitNode -> commitNode.getUserObject().getSubject()); } return null; }