public void setShapesFilled(boolean filled) {
        // here we use BooleanUtilities to remain compatible with JDKs < 1.4
        setShapesFilled(BooleanUtilities.valueOf(filled));
    }

    /**
     * Sets the override flag that controls whether or not shapes are filled
     * for ALL series and sends a {@link RendererChangeEvent} to all registered
     * listeners.
     *
     * @param filled  the flag (<code>null</code> permitted).
     *
     * @see #setShapesFilled(boolean)
     *
     * @deprecated As of 1.0.8, you should avoid using this method and rely
     *             on just the per-series ({@link #setSeriesShapesFilled(int,
     *             Boolean)}) and base-level ({@link #setBaseShapesVisible(
     *             boolean)}) settings.
     */
    public void setShapesFilled(Boolean filled) {
        this.shapesFilled = filled;
        fireChangeEvent();
    }

    /**
     * Returns the flag used to control whether or not the shapes for a series
     * are filled.
     *
     * @param series  the series index (zero-based).
     *
     * @return A boolean.
     */
    public Boolean getSeriesShapesFilled(int series) {
        return this.seriesShapesFilled.getBoolean(series);