There did not seem to be a solution to this after searching this forum. So I thought I would post my solution to fix this issue. I have a TreePanel that I DND to from both a Grid and another TreePanel. What I was seeing was if I DND a duplicate object to my TreePanel it would enter a blank space to it. And then it would not work correctly with null pointer errors. I hope this helps someone else out there. Here is my code to resolve this.

final TreePanel<ModelData> tree = new TreePanel<ModelData>(store) {
@Override
protected boolean hasChildren(ModelData m) {
if (fac.getName().equals(m.get("name"))) {
return true;
}
return super.hasChildren(m);
}
};

TreePanelDropTarget dropTarget = new TreePanelDropTarget(tree) {
ModelData sel = null; @SuppressWarnings({"rawtypes"})
@Override
protected void onDragDrop(DNDEvent e) {
if (e.getComponent() instanceof TreePanel) {
TreePanel tree = ((TreePanel) e.getComponent());
sel = tree.getSelectionModel().getSelectedItem();
} else if (e.getComponent() instanceof Grid) {
Grid grid = (Grid) e.getComponent();
sel = grid.getSelectionModel().getSelectedItem();
}
TreeStore<ModelData> tstore = tree.getStore();
List<ModelData> treeStoreList = tstore.getAllItems();
if (!treeStoreList.contains(sel)) {
super.onDragDrop(e);
}
}
};
dropTarget.addDNDListener(listener);