protected function dereferenceProperty(...$properties)
    {
        foreach ((array)$properties as $property) {
            if (!property_exists($this, $property)) {
                continue; // @codeCoverageIgnore
            }
            
            $value = $this->$property;
            unset($this->$property);
            $this->$property = $value;
        }
    }