public function dispatch(Expression $expr)
    {
        switch (true) {
            case $expr instanceof Comparison:
                return $this->walkComparison($expr);
            case $expr instanceof Value:
                return $this->walkValue($expr);
            case $expr instanceof CompositeExpression:
                return $this->walkCompositeExpression($expr);
            default:
                throw new RuntimeException('Unknown Expression ' . get_class($expr));
        }
    }
public function dispatch(Expression $expr)
    {
        switch (true) {
            case $expr instanceof Comparison:
                return $this->walkComparison($expr);
            case $expr instanceof Value:
                return $this->walkValue($expr);
            case $expr instanceof CompositeExpression:
                return $this->walkCompositeExpression($expr);
            default:
                throw new RuntimeException('Unknown Expression ' . get_class($expr));
        }
    }
public function dispatch ( Expression $ expr ) { switch ( true ) { case $ expr instanceof Comparison : return $ this -> walkComparison ( $ expr ) ; case $ expr instanceof Value : return $ this -> walkValue ( $ expr ) ; case $ expr instanceof CompositeExpression : return $ this -> walkCompositeExpression ( $ expr ) ; default : throw new RuntimeException ( 'Unknown Expression ' . get_class ( $ expr ) ) ; } }
Dispatches walking an expression to the appropriate handler.

@return mixed

@throws RuntimeException
Dispatches walking an expression to the appropriate handler .