public static CategoryLabelPositions replaceBottomPosition(
            CategoryLabelPositions base, CategoryLabelPosition bottom) {
        
        if (base == null) {
            throw new IllegalArgumentException("Null 'base' argument.");
        }
        if (bottom == null) {
            throw new IllegalArgumentException("Null 'bottom' argument.");
        }
        
        return new CategoryLabelPositions(
            base.getLabelPosition(RectangleEdge.TOP),
            bottom,
            base.getLabelPosition(RectangleEdge.LEFT),
            base.getLabelPosition(RectangleEdge.RIGHT)