void (@NotNull DnDEvent aEvent, @Nullable ChangesBrowserNode<?> dropNode) { final Rectangle tableCellRect; if (dropNode == null) { if (myTree.getRowCount() == 0) { tableCellRect = new Rectangle(0, 0, JBUI.scale(300), JBUI.scale(25)); } else { Rectangle lastRowRect = myTree.getRowBounds(myTree.getRowCount() - 1); int y = lastRowRect.y + lastRowRect.height; tableCellRect = new Rectangle(0, y, JBUI.scale(300), lastRowRect.height); } } else { tableCellRect = myTree.getPathBounds(new TreePath(dropNode.getPath())); } if (tableCellRect != null && fitsInBounds(tableCellRect)) { aEvent.setHighlighting(new RelativeRectangle(myTree, tableCellRect), DnDEvent.DropTargetHighlightingType.RECTANGLE); } }