original_string: public function prepare(string $statement, array $driverOptions = []): Statement
      {
          if (null === $this->pdo) {
              $this->connect();
          }
  
          try {
              return new PdoStatement(
                      $this->pdo->prepare($statement, $driverOptions)
              );
          } catch (PDOException $pdoe) {
              throw new DatabaseException($pdoe->getMessage(), $pdoe);
          }
      }
code: public function prepare(string $statement, array $driverOptions = []): Statement
      {
          if (null === $this->pdo) {
              $this->connect();
          }
  
          try {
              return new PdoStatement(
                      $this->pdo->prepare($statement, $driverOptions)
              );
          } catch (PDOException $pdoe) {
              throw new DatabaseException($pdoe->getMessage(), $pdoe);
          }
      }
code_tokens: public function prepare ( string $ statement , array $ driverOptions = [ ] ) : Statement { if ( null === $ this -> pdo ) { $ this -> connect ( ) ; } try { return new PdoStatement ( $ this -> pdo -> prepare ( $ statement , $ driverOptions ) ) ; } catch ( PDOException $ pdoe ) { throw new DatabaseException ( $ pdoe -> getMessage ( ) , $ pdoe ) ; } }
docstring: creates a prepared statement
  
  @param   string  $statement      SQL statement
  @param   array   $driverOptions  optional  one or more key=>value pairs to set attribute values for the Statement object
  @return  \stubbles\db\pdo\PdoStatement
  @throws  \stubbles\db\DatabaseException
  @see     http://php.net/pdo-prepare
docstring_tokens: creates a prepared statement