public function add($attribute, $value = array())
        {
            if(is_array($attribute)) {
                foreach($attribute as $k => $v) {
                    $this->add($k, $v);
                }
            } else {
                if($attribute instanceof \Thin\Html\Attributes) {
                    $this->add($attribute->getArray());
                } else {
                    $attribute = strval($attribute);
                    if(!\Thin\Arrays::exists($attribute, $this->attributes)) {
                        $this->attributes[$attribute] = array();
                    }

                    if(is_array($value)) {
                        foreach($value as $k => $v) {
                            $value[$k] = strval($v);
                        }
                    } else {
                        if(empty($value) && $value !== '0') {
                            $value = array();
                        } else {
                            $value = array(strval($value));
                        }
                    }

                    foreach($value as $v) {
                        $this->attributes[$attribute][] = $v;
                    }
                    $this->attributes[$attribute] = array_unique($this->attributes[$attribute]);
                }
            }

            return $this;
        }