void (DropTargetDragEvent dtde) { try { RadComponent dropTargetComponent = null; ComponentDragObject dragObject = null; final DraggedComponentList dcl = DraggedComponentList.fromTransferable(dtde.getTransferable()); if (dcl != null) { dragObject = dcl; } else { ComponentItem componentItem = SimpleTransferable.getData(dtde.getTransferable(), ComponentItem.class); if (componentItem != null) { dragObject = new ComponentItemDragObject(componentItem); } } boolean canDrop = false; if (dragObject != null) { final TreePath path = getPathForLocation((int) dtde.getLocation().getX(), (int) dtde.getLocation().getY()); final RadComponent targetComponent = getComponentFromPath(path); if (path != null && targetComponent instanceof RadContainer) { final ComponentDropLocation dropLocation = ((RadContainer)targetComponent).getDropLocation(null); canDrop = dropLocation.canDrop(dragObject); if (dcl != null && FormEditingUtil.isDropOnChild(dcl, dropLocation)) { canDrop = false; } if (canDrop) { dropTargetComponent = targetComponent; dtde.acceptDrag(dtde.getDropAction()); } } } if (!canDrop) { dtde.rejectDrag(); } setDropTargetComponent(dropTargetComponent); } catch (Exception e) { LOG.error(e); } }