original_string: public function withProperty(string $property, string $cypher): self
      {
          $clause = $this->clauses->last();
  
          if (!$clause instanceof Clause\PathAware) {
              throw new NonPathAwareClause;
          }
  
          $clause = $clause->withProperty($property, $cypher);
          $query = new self;
          $query->clauses = $this
              ->clauses
              ->dropEnd(1)
              ->add($clause);
  
          return $query;
      }
code: public function withProperty(string $property, string $cypher): self
      {
          $clause = $this->clauses->last();
  
          if (!$clause instanceof Clause\PathAware) {
              throw new NonPathAwareClause;
          }
  
          $clause = $clause->withProperty($property, $cypher);
          $query = new self;
          $query->clauses = $this
              ->clauses
              ->dropEnd(1)
              ->add($clause);
  
          return $query;
      }
code_tokens: public function withProperty ( string $ property , string $ cypher ) : self { $ clause = $ this -> clauses -> last ( ) ; if ( ! $ clause instanceof Clause \ PathAware ) { throw new NonPathAwareClause ; } $ clause = $ clause -> withProperty ( $ property , $ cypher ) ; $ query = new self ; $ query -> clauses = $ this -> clauses -> dropEnd ( 1 ) -> add ( $ clause ) ; return $ query ; }
docstring: Specify a property to be matched
  
  @param string $property
  @param string $cypher
  
  @throws NonPathAwareClause
  
  @return self
docstring_tokens: Specify a property to be matched