private MouseTarget getMouseTarget(final double x,
                                       final double y,
                                       final boolean includeSplitLayout,
                                       final boolean selecting) {
        if (includeSplitLayout) {
            for (final Entry<Object, PositionAndSize> entry : positionAndSizeMap.entrySet()) {
                if (entry.getKey() instanceof SplitLayoutConfig) {
                    final LayoutConfig layoutConfig = (LayoutConfig) entry.getKey();
                    final PositionAndSize positionAndSize = entry.getValue();
                    final MouseTarget mouseTarget = findTargetLayout(
                            x,
                            y,
                            true,
                            layoutConfig,
                            positionAndSize,
                            selecting);
                    if (mouseTarget != null) {
                        return mouseTarget;
                    }
                }
            }
        }

        for (final Entry<Object, PositionAndSize> entry : positionAndSizeMap.entrySet()) {
            if (entry.getKey() instanceof TabLayoutConfig) {
                final LayoutConfig layoutConfig = (LayoutConfig) entry.getKey();
                final PositionAndSize positionAndSize = entry.getValue();
                final MouseTarget mouseTarget = findTargetLayout(
                        x,
                        y,
                        false,
                        layoutConfig,
                        positionAndSize,
                        selecting);
                if (mouseTarget != null) {
                    return mouseTarget;
                }
            }
        }

        return null;
    }
Gets the current target of the mouse.

@param x The mouse x coordinate.
@param y The mouse y coordinate.
@return An object describing the target layout, tab and target position.
stroom-core-client/src/main/java/stroom/dashboard/client/flexlayout/FlexLayout.java