$value) {
            if ($value === self::NONE) {
                continue;
            }
            $result[$key] = $value;
        }
        return $result;
    }
    public function __construct($options) {
        $this->options = array();
        foreach ($options as $key => $value) {
            $this->options[strtolower($key)] = $value;
        }
    }
    /**
     * (PHP 5 >= 5.0.0)
     * Whether a offset exists
     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
     * @param mixed $offset 
* An offset to check for. *
* @return boolean true on success or false on failure. * *
     * The return value will be casted to boolean if non-boolean was returned.
     */
    public function offsetExists($offset) {
        return true;
    }
    /**
     * (PHP 5 >= 5.0.0)
     * Offset to retrieve
     * @link http://php.net/manual/en/arrayaccess.offsetget.php
     * @param mixed $offset 
* The offset to retrieve. *
* @return mixed Can return all value types. */ public function offsetGet($offset) { $offset = strtolower($offset); return array_key_exists($offset, $this->options) ? $this->options[$offset] : self::NONE; } /** * (PHP 5 >= 5.0.0)* The offset to assign the value to. *
* @param mixed $value* The value to set. *
* @return void */ public function offsetSet($offset, $value) { $this->options[strtolower($offset)] = $value; } /** * (PHP 5 >= 5.0.0)* The offset to unset. *
* @return void */ public function offsetUnset($offset) { unset($this->options[$offset]); } }