/** * Dont' overwrite the old state if requested * @param [type] $key [description] * @param [type] $value [description] */ public function setState($key, $value = null, $overwrite = false) { if (!$overwrite) { $old_value = $this->getState($key, array()); if (is_array($value)) { $value = array_merge($old_value, $value); } else { $old_value[] = $value; $value = $old_value; } } parent::setState($key, $value); return $this; }