void () { List<CommittedChangeList> selection = new ArrayList<>(); final TreePath[] selectionPaths = myChangesTree.getSelectionPaths(); if (selectionPaths != null) { for(TreePath path: selectionPaths) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); if (node.getUserObject() instanceof CommittedChangeList) { selection.add((CommittedChangeList) node.getUserObject()); } } } if (!selection.equals(mySelectedChangeLists)) { mySelectedChangeLists = selection; myDetailsView.setChangesToDisplay(collectChanges(mySelectedChangeLists, false)); } }