@Override
  protected boolean canFinishDragging(@NotNull JComponent component, @NotNull RelativePoint point) {
    Component realDropTarget = UIUtil.getDeepestComponentAt(point.getOriginalComponent(), point.getOriginalPoint().x, point.getOriginalPoint().y);
    if (realDropTarget == null) realDropTarget = SwingUtilities.getDeepestComponentAt(point.getOriginalComponent(), point.getOriginalPoint().x, point.getOriginalPoint().y);
    if (tabs.getVisibleInfos().isEmpty() && realDropTarget != null ) {
      JBTabsImpl tabs = UIUtil.getParentOfType(JBTabsImpl.class, realDropTarget);
      if (tabs == null || !tabs.isEditorTabs()) return false;
    }
    return !tabs.contains(point.getPoint(tabs)) || !tabs.getVisibleInfos().isEmpty();
  }
@Override
  protected boolean canFinishDragging(@NotNull JComponent component, @NotNull RelativePoint point)