assertTrue(hasListener(model.getTreeSelectionListeners(),
JTree.TreeSelectionRedirector.class));
TreePath path = new TreePath("root");
TreePath oldLead = new TreePath("old_lead");
TreePath newLead = new TreePath("new_lead");
tree.selectionRedirector.valueChanged(new TreeSelectionEvent("any_source", path, true,
oldLead, newLead));
assertNotNull(marker.getAuxiliary());
TreeSelectionEvent redirectedEvent = (TreeSelectionEvent) marker.getAuxiliary();
assertSame(tree, redirectedEvent.getSource());
assertSame(path, redirectedEvent.getPath());
assertTrue(redirectedEvent.isAddedPath());
assertSame(oldLead, redirectedEvent.getOldLeadSelectionPath());
assertSame(newLead, redirectedEvent.getNewLeadSelectionPath());
DefaultTreeSelectionModel newModel = new DefaultTreeSelectionModel();
tree.setSelectionModel(newModel);
assertTrue(hasListener(newModel.getTreeSelectionListeners(),
JTree.TreeSelectionRedirector.class));
tree.setSelectionModel(null);