private Bounds limitToVisibleBounds(Bounds boundsInScene, Scene scene) {
Bounds sceneBounds = makeSceneBounds(scene);
Bounds visibleBounds = intersectBounds(boundsInScene, sceneBounds);
if (!areBoundsVisible(visibleBounds)) {
throw new BoundsLocatorException("Bounds are not visible in Scene.");
}
return visibleBounds;
}