public function overrideMembersTo(StyleInterface $style) {

        // text color
        $styleTextColor = $style->getTextColor();
        
        // only change if there is a text color set
        if ($styleTextColor) {
            
            // clone the text color
            $this->textColor = clone $styleTextColor;
        }

        // fill color
        $styleFillColor = $style->getFillColor();
        
        // only change if there is a fill color set
        if ($styleFillColor) {
            
            // clone the fill color
            $this->fillColor = clone $styleFillColor;
        }


        // font styling
        
        // get the overriding bold
        $bold = $style->getBold();
        
        // only change the bold, if it is set to something
        if (!is_null($bold)) {
            
            // save the new bold state
            self::setBold($bold);           
        
        }


        // get the overriding underscore
        $underscore = $style->getUnderscore();

        // only change the underscore, if it is set to something
        if (!is_null($underscore)) {
            
            // save the new underscore state
            self::setUnderscore($underscore);           
        }


        // chaining
        return $this;
    }