private boolean doDrop(Component component, DnDEventImpl currentEvent) {
      boolean success = true;
      if (currentEvent.canHandleDrop()) {
        currentEvent.handleDrop();
      }
      else {
        DnDTarget target = getTarget(component);
        if (target instanceof DnDDropHandler.WithResult) {
          success = ((DnDDropHandler.WithResult)target).tryDrop(currentEvent);
        }
        else {
          target.drop(currentEvent);
        }
      }

      cleanTargetComponent(component);
      setLastDropHandler(component);

      myCurrentDragContext = null;
      return success;
    }
private boolean doDrop(Component component, DnDEventImpl currentEvent)