@Override
	public boolean isDropOk(DropTargetDragEvent e) {
		synchronized (root) {
			if (!super.isDropOk(e)) {
				return false;
			}

			if (draggedNodes == null) {
				// drag initiated from elsewhere, if the superclass said it was OK, then it's OK
				return true;
			}

			Point p = e.getLocation();
			ProgramNode destNode = getTreeNode(p);
			relativeMousePos = comparePointerLocation(p, destNode);
			return dragDropManager.isDropSiteOk(destNode, draggedNodes, e.getDropAction(),
				relativeMousePos);
		}
	}
Droppable interface method called to know when the drop site is
valid.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ProgramDnDTree.java