}
private final void addDragAndDrop(final TreeBinder<TreeNode> binder) {
final Tree tree = binder.getTree();
// D 'n' D:
TreeDragSource dragSource = new TreeDragSource(binder);
dragSource.addDNDListener(new DNDListener() {
@SuppressWarnings("unchecked")
public void dragStart(DNDEvent e) {
List selection = (List) e.data;
if (!isValid(selection)) {
e.doit = false;