public function clear()
    {
        if (is_array($this->temp_properties)) {
            foreach ($this->temp_properties as $key => $value) {
                if (property_exists($this, $key)) {
                    $this->$key = $value;
                }
            }
            unset($key, $value);

            $this->temp_properties = null;
        }
    }