public function set($key = null, $value = null)
{
if (is_null($key)) {
return;
}
if (is_array($key)) {
foreach ($key as $k => $v) {
self::set($k, $v);
}
} else {
if (array_key_exists($key, $this->items) && $this->items[$key] !== $value) {
$this->changed[$key] = $value;
}
}
}