private void highlightDropNode(@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);
    }
  }
private void highlightDropNode(@NotNull DnDEvent aEvent, @Nullable ChangesBrowserNode<?> dropNode)