public function offsetSet($key, $value)
 {
     if (!is_array($value)) {
         $arr = $this->offsetExists($key) ? $this[$key] : [];
         $arr[] = $value;
         $value = $arr;
     }
     return parent::offsetSet(strtolower($key), $value);
 }