public function setFillColor($color) {

        // if it is null, just remember null
        if (is_null($color)) {

            // undefined
            $this->fillColor = null;
            
        // if it is an instance of a color
        } elseif ($color instanceof Color) {

            // clone it
            $this->fillColor = clone $color;

        } else
        {

            // it is something else, let the Color object sort it out
            $this->fillColor = new Color($color);

        }

        // chaining
        return $this;
    }