private @Nullable MouseEvent getTargetEvent(MouseEvent e) {
    Component eventComponent = e.getComponent();
    if (eventComponent == null) return null;
    Component deepestComponentAt = UIUtil.getDeepestComponentAt(eventComponent, e.getX(), e.getY());
    if (noDeepestComponent(e, deepestComponentAt)) {
      return null;//Event is related to some top layer (for example Undock tool window) and we shouldn't process it here
    }
    return SwingUtilities.convertMouseEvent(eventComponent, e, this);
  }
private @Nullable MouseEvent getTargetEvent(MouseEvent e)