private function getNextOperator(string $column): ?string
    {
        reset($this->fragments['where']);

        while (key($this->fragments['where']) !== $column) {
            next($this->fragments['where']);
        }
        
        next($this->fragments['where']);

        $key = key($this->fragments['where']);

        return $this->fragments['where'][$key]['operator'];
    }
private function getNextOperator(string $column): ?string
    {
        reset($this->fragments['where']);

        while (key($this->fragments['where']) !== $column) {
            next($this->fragments['where']);
        }
        
        next($this->fragments['where']);

        $key = key($this->fragments['where']);

        return $this->fragments['where'][$key]['operator'];
    }
private function getNextOperator ( string $ column ) : ? string { reset ( $ this -> fragments [ 'where' ] ) ; while ( key ( $ this -> fragments [ 'where' ] ) !== $ column ) { next ( $ this -> fragments [ 'where' ] ) ; } next ( $ this -> fragments [ 'where' ] ) ; $ key = key ( $ this -> fragments [ 'where' ] ) ; return $ this -> fragments [ 'where' ] [ $ key ] [ 'operator' ] ; }
To accurately concatenate conditions in a WHERE clause
the operators between conditions should be found by
looking ahead from the current position in an iteration.

For example, for this clause:
`WHERE foo = 'bar' OR bar = 'foo'`
the first condition would look ahead to the second one to
get the OR operator.
To accurately concatenate conditions in a WHERE clause the operators between conditions should be found by looking ahead from the current position in an iteration .