original_string: public function withOptions(array $options = [])
      {
          $options += [
              'readConcern' => $this->readConcern,
              'readPreference' => $this->readPreference,
              'typeMap' => $this->typeMap,
              'writeConcern' => $this->writeConcern,
          ];
  
          return new Database($this->manager, $this->databaseName, $options);
      }
code: public function withOptions(array $options = [])
      {
          $options += [
              'readConcern' => $this->readConcern,
              'readPreference' => $this->readPreference,
              'typeMap' => $this->typeMap,
              'writeConcern' => $this->writeConcern,
          ];
  
          return new Database($this->manager, $this->databaseName, $options);
      }
code_tokens: public function withOptions ( array $ options = [ ] ) { $ options += [ 'readConcern' => $ this -> readConcern , 'readPreference' => $ this -> readPreference , 'typeMap' => $ this -> typeMap , 'writeConcern' => $ this -> writeConcern , ] ; return new Database ( $ this -> manager , $ this -> databaseName , $ options ) ; }
docstring: Get a clone of this database with different options.
  
  @see Database::__construct() for supported options
  @param array $options Database constructor options
  @return Database
  @throws InvalidArgumentException for parameter/option parsing errors
docstring_tokens: Get a clone of this database with different options .