original_string: public function setDriver(\BearFramework\App\ICacheDriver $driver): self
      {
          if ($this->driver !== null) {
              throw new \Exception('A cache driver is already set!');
          }
          $this->driver = $driver;
          return $this;
      }
code: public function setDriver(\BearFramework\App\ICacheDriver $driver): self
      {
          if ($this->driver !== null) {
              throw new \Exception('A cache driver is already set!');
          }
          $this->driver = $driver;
          return $this;
      }
code_tokens: public function setDriver ( \ BearFramework \ App \ ICacheDriver $ driver ) : self { if ( $ this -> driver !== null ) { throw new \ Exception ( 'A cache driver is already set!' ) ; } $ this -> driver = $ driver ; return $ this ; }
docstring: Sets a new cache driver.
  
  @param \BearFramework\App\ICacheDriver $driver The driver to use for cache storage.
  @return self Returns a reference to itself.
  @throws \Exception
docstring_tokens: Sets a new cache driver .