void (final ListSelectionEvent e) { List<VcsFullCommitDetails> commits = myTable.getSelectedObjects(); final List<Change> changes = new ArrayList<>(); // We need changes in asc order for zipChanges, and they are in desc order in Table ListIterator<VcsFullCommitDetails> iterator = commits.listIterator(commits.size()); while (iterator.hasPrevious()) { changes.addAll(iterator.previous().getChanges()); } listener.consume(CommittedChangesTreeBrowser.zipChanges(changes)); }