@Override
  protected boolean canHandleDropEvent(@NotNull DnDEvent aEvent, @Nullable ChangesBrowserNode<?> dropNode) {
    Object attached = aEvent.getAttachedObject();
    if (attached instanceof ChangeListDragBean) {
      if (dropNode != null) {
        final ChangeListDragBean dragBean = (ChangeListDragBean)attached;
        dragBean.setTargetNode(dropNode);
        return dragBean.getSourceComponent() == myTree && dropNode.canAcceptDrop(dragBean);
      }
    }
    else if (attached instanceof ShelvedChangeListDragBean) {
      return dropNode == null ||
             dropNode instanceof ChangesBrowserChangeListNode;
    }
    return false;
  }
@Override
  protected boolean canHandleDropEvent(@NotNull DnDEvent aEvent, @Nullable ChangesBrowserNode<?> dropNode)