original_string: public function withParameter(string $key, $parameter): self
      {
          if (Str::of($key)->empty()) {
              throw new DomainException;
          }
  
          $query = new self($this->cypher);
          $query->parameters = $this->parameters->put(
              $key,
              new Parameter($key, $parameter)
          );
  
          return $query;
      }
code: public function withParameter(string $key, $parameter): self
      {
          if (Str::of($key)->empty()) {
              throw new DomainException;
          }
  
          $query = new self($this->cypher);
          $query->parameters = $this->parameters->put(
              $key,
              new Parameter($key, $parameter)
          );
  
          return $query;
      }
code_tokens: public function withParameter ( string $ key , $ parameter ) : self { if ( Str :: of ( $ key ) -> empty ( ) ) { throw new DomainException ; } $ query = new self ( $ this -> cypher ) ; $ query -> parameters = $ this -> parameters -> put ( $ key , new Parameter ( $ key , $ parameter ) ) ; return $ query ; }
docstring: Attach the given parameter to this query
  
  @param string $key
  @param mixed $parameter
  
  @throws NonParametrableClause
  
  @return self
docstring_tokens: Attach the given parameter to this query