public function setAttribute($key, $value = null)
    {
        if (is_null($value)) {
            $this->getAttributeMap()->remove($key);
        } else {
            $this->getAttributeMap()->set($key, $value);
        }
        return $this;
    }