void (Rectangle bounds, Insets insets, Rectangle vsbBounds, boolean vsbRequiresSpace, boolean vsbOnLeft, boolean vsbOverlapping, @NotNull Rectangle wholePaneBounds) { vsbBounds.width = vsb.isEnabled() ? min(bounds.width, vsb.getPreferredSize().width) : 0; if (vsbOnLeft) { if (vsbOverlapping) { vsbBounds.x = 0; } else { vsbBounds.x = bounds.x - insets.left/* + vsbBounds.width*/; } if (vsbRequiresSpace) bounds.x += vsbBounds.width; } else if (vsbOverlapping) { vsbBounds.x = wholePaneBounds.x + wholePaneBounds.width - vsbBounds.width; } else { vsbBounds.x = bounds.x + bounds.width + insets.right - vsbBounds.width; } if (vsbRequiresSpace) bounds.width -= vsbBounds.width; }