if(rowBounds.y + rowBounds.height < p.y) {
row = this.getRowCount();
}
TreePath path = getPathForRow(row);
if(path == null) {
path = new TreePath(mRootNode);
}
if(mTransferNode != null && !new TreePath(mTransferNode.getPath()).isDescendant(path)) {
FavoriteNode last = (FavoriteNode)path.getLastPathComponent();
FavoriteNode pointed = last;
int target = getTargetFor(pointed, p, row);
if(target == -1 || (target == 1 && !isExpanded(new TreePath(pointed.getPath())))) {
if(!last.isRoot()) {
last = (FavoriteNode)last.getParent();
}
}
if(mTarget == 0 && (System.currentTimeMillis() - mDragOverStart) > 1000 && isCollapsed(new TreePath(last.getPath())) && last.getChildCount() > 0) {
expandPath(new TreePath(last.getPath()));
SwingUtilities.invokeLater(new Runnable() {
public void run() {
mTarget = -2;
}