original_string: public function clear($key = null)
      {
          if (func_num_args() === 0) {
              $this->attributes = array();
          } elseif ($key === '$id') {
              throw new Exception('[Norm/Model] Restricting clear for $id.');
          } else {
              unset($this->attributes[$key]);
          }
  
          return $this;
      }
code: public function clear($key = null)
      {
          if (func_num_args() === 0) {
              $this->attributes = array();
          } elseif ($key === '$id') {
              throw new Exception('[Norm/Model] Restricting clear for $id.');
          } else {
              unset($this->attributes[$key]);
          }
  
          return $this;
      }
code_tokens: public function clear ( $ key = null ) { if ( func_num_args ( ) === 0 ) { $ this -> attributes = array ( ) ; } elseif ( $ key === '$id' ) { throw new Exception ( '[Norm/Model] Restricting clear for $id.' ) ; } else { unset ( $ this -> attributes [ $ key ] ) ; } return $ this ; }
docstring: Clear attributes value.
  
  @method clear
  
  @param string $key
  
  @return \Norm\Model
docstring_tokens: Clear attributes value .