void (final DropTargetDropEvent dtde) { SmoothAutoScroller.getSharedListener().drop(dtde); try { final Component component = dtde.getDropTargetContext().getComponent(); DnDEventImpl event = updateCurrentEvent(component, dtde.getLocation(), dtde.getDropAction(), dtde.getCurrentDataFlavors(), dtde.getTransferable()); if (event != null && event.isDropPossible()) { dtde.acceptDrop(dtde.getDropAction()); // do not wrap this into WriteAction! boolean success = doDrop(component, event); if (event.shouldRemoveHighlighting()) { hideCurrentHighlighter(); } dtde.dropComplete(success); } else { dtde.rejectDrop(); } } catch (Throwable e) { LOG.error(e); dtde.rejectDrop(); } finally { resetEvents("Stop dragging2"); } }