updatingSelection = true;
try {
TreePath oldSelection = e.getOldLeadSelectionPath();
if ( oldSelection != null ) {
Object object = oldSelection.getLastPathComponent();
notifyUnselect( new DetailsTreeSelectionEvent( DetailsTreeSelectionEvent.Type.UNSELECTED, object ) );
SpringSupport.INSTANCE.publishEvent( new SelectionEvent( SelectionEvent.Type.UNSELECT, Lookups.dynamicLookupFromList( Arrays.asList( oldSelection.getPath() ) ) ) );
}
TreePath newSelection = e.getNewLeadSelectionPath();
if ( newSelection != null ) {
Object object = newSelection.getLastPathComponent();
notifySelect( new DetailsTreeSelectionEvent( DetailsTreeSelectionEvent.Type.SELECTED, object ) );
SpringSupport.INSTANCE.publishEvent( new SelectionEvent( SelectionEvent.Type.SELECT, Lookups.dynamicLookupFromList( Arrays.asList( newSelection.getPath() ) ) ) );
}
} finally {
updatingSelection = false;
}