public function add($name, $value)
    {
        if (is_null($name) || empty($name))
        {
            return $this;
        }

        $loweredKey  = strtolower($name);
        $originalKey = null;

        if (array_key_exists($loweredKey, $this->keyMap) === false)
        {
            $originalKey                   = $name;
            $this->keyMap[$loweredKey]     = $originalKey;
            $this->headerMap[$originalKey] = array();
        }
        else
        {
            $originalKey = $this->keyMap[$loweredKey];
        }

        $this->headerMap[$originalKey][] = $value;

        return $this;
    }